SSD_USB-RNDIS使用参考


1. 概述

ECM 以太网控制模型(Ethernet Networking Control Model) 用于在设备和主机之间传输以太网数据包。 RNDIS 即RemoteNDIS,既是远程网络驱动接口规范,是微软基于ECM定义的USB网络协议。本文档将分别介绍在Kernel以及uboot 下使用rndis的配置及使用方法。


2. KERNEL下使用方法

注意:使用RNDIS的话,会导致USB WIFI不能使用

2.1. 配置Kernel Menuconfig

  1. 按下面流程,开启Gadget Rndis Function

  2. 按下面流程,开启Sstar USB 2.0 Device

    (\< M> module,[ *]built-in,能选择M的都选择M,这样才能编译成module生成ko,不然就是built-in,配置完后保存退出)

  3. 按下面流程,将ko加入insmod序列, 然后编译SDK

    diff --git a/kbuild/customize/4.9.84/p3/dispcam/kernel_mod_list_late b/kbuild/customize/4.9.84/p3/dispcam/kernel_mod_list_late
    
    index ca7284f..8ac16be 100755
    
    --- a/kbuild/customize/4.9.84/p3/dispcam/kernel_mod_list_late
    +++ b/kbuild/customize/4.9.84/p3/dispcam/kernel_mod_list_late
    @@ -11,3 +11,11 @@ videobuf2-v4l2.ko
    videobuf2-memops.ko
    videobuf2-vmalloc.ko
    uvcvideo.ko
    +udc-core.ko
    +libcomposite.ko
    +u_ether.ko
    +usb_f_ecm.ko
    +usb_f_ecm_subset.ko
    +usb_f_rndis.ko
    +udc-msb250x.ko
    +g_ether.ko,
    

    必要的ko有:

    udc-core.ko,libcomposite.ko,u_ether.ko,usb_f_ecm.ko,usb_f_ecm_subset.ko,usb_f_rndis.ko,udc-msb250x.ko,g_ether.ko
    

2.2. 板端启动USB Ethernet

  1. 加载ko

    板端上电会加载相关ko

    加载完成后启动usb0 Ethernet:

    ifconfig usb0 up
    
  2. 连接PC端

    使用USB线连接板端和PC端

  3. 设置USB0 ip

    ifconfig usb0 169.254.68.200 netmask 255.255.0.0
    


2.3. PC端装RNDIS驱动

  1. 右键点击桌面“计算机”图标,选择“管理”——“设备管理”,可以看到“RNDIS Kitl”设备,并且处于驱动未安装状态。

    或者是在端口下面会新生成一个串口。

  2. 右键点击该设备,选择更新驱动软件,在如何搜索设备软件提示窗口中,选择“浏览我的计算机”,选择安装RNDIS驱动

  3. 点击下一步并等待安装结束,RNDIS Kitl设备将会安装成功。

  4. 安装成功后会在网络连接中新增一个以太网4。

    配置ipv4地址和板端在同一局域网,比如:

    注意mount的时候,要mount到这个以太网连接的IP,如:

    mount -t nfs -o nolock 172.19.24.182:/g/VDI_FTP /mnt
    


3. UBOOT下使用方法

3.1. 开启配置

1. CONFIG_CMD_USBSTART
  -> Command line interface
    -> USB commands
      [*] usbstart

2. SSTAR_UTMI_POWERON
  -> Command line interface
    -> USB commands
      [*] Power on UTMI first

3.2. 平台端uboot下配置环境变量

启动usb device,输入如下命令:

setenv usbnet_devaddr xx:xx:xx:xx:xx:xx
setenv usbnet_hostaddr xx:xx:xx:xx:xx:xx

setenv ethact usb_ether
setenv ipaddr 192.168.1.103
setenv netmask 255.255.0.0
setenv gatewayip 192.168.1.1
setenv cdc_connect_timeout 20

3.3. 电脑端设定

电脑端会出现虚拟网卡

更改mac地址在下图配置内的高级选项卡(更改的时候mac显示不全,不用管,直接继续填就好):

配置完查看连接状态如下图:

在电脑端ping 192.168.1.103表示连通成功。