红联Linux门户
Linux帮助

AM335X/BBB Usb配置设备RNDIS

发布时间:2016-11-13 09:48:17来源:linux网站作者:bigPillow
首先:打开Linux 内核配置菜单:
$ make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm menuconfig
 
在主菜单选择 Device Drivers
...
...
Power management options --->
[ ] Networking support --->
Device Drivers --->
File systems --->
Kernel hacking --->
...
...
 
如下选择USB support
...
...
<*> Sound card support  --->
[*] HID Devices  --->
[*] USB support  --->
<*> MMC/SD/SDIO card support  --->
... 
...
 
进入USB Gadget Support 菜单
...
...
< >   USB YUREX driver support
<*>   USB Gadget Support  --->
*** OTG and related infrastructure ***
< >   GPIO based peripheral-only VBUS sensing 'transceiver'
...
...
 
如下所示选择Inventra HDRC USB Peripheral 
...
...
(2)   Maximum VBUS Power usage (2-500 mA)
(2)   Number of storage pipeline buffers
<*>   USB Peripheral Controller (Inventra HDRC USB Peripheral (TI, ADI, ...))  --->
< >   USB Gadget Drivers 
...
...
 
如下所示选择Ethernet Gadget
...
...
<*>   USB Peripheral Controller (Inventra HDRC USB Peripheral (TI, ADI, ...))  --->
< >   USB Gadget Drivers 
...
<M> Ethernet Gadget (with CDC Ethernet support)
[*]   RNDIS support
[ ]   Ethernet Emulation Model (EEM) support
...
...
 
注意:
一定要选择 "RNDIS support"
设置完毕后需要make modules 以便生成g_ether.ko驱动
然后将生成的镜像文件下载到开发板中。
进入板子的文件系统,加载该驱动:insmod g_ether.ko
此时RNDIS驱动会生成网络设备usb0(/dev/usb0),为了能正常的通信可以设置ip地址及其掩码:
ifconfig usb0 <IP_ADDR> netmask 255.255.255.0 up
此时就可以正常的通信工作,测试可以使用:
ping -I  <usb0 IP_ADDR> <target IP_ADDR >
 
一般情况下,可能配置的不同,有可能版本等不相同,在/dev目录下并没有生成驱动文件usb0,此时只需要执行:
modprobe g_ether
ifconfig usb0 192.168.7.2 netmask 255.255.255.0 up
假如没有提示错误,且通过ifocnfig可以看到对应的网络信息就可以了。
假如要板子通过usb与windows系统网络通信,则需要当连接板子的usb插到电脑上的时候会产生一个网络接口如产生本地连接3
此时要设置其的ip地址与板子的usb0的ip地址向对应如192.168.7.4
设置完毕后就可ping通了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25964.html