让Linux支持usb虚拟网卡。

###介绍:
Usb作为device端插入pc,在pc中会出现对用的usb虚拟网卡,可以像普通网卡一样传递数据,socket编程。

让平台支持usb虚拟网卡,需要Linux内核支持UDC(usb 设备控制器)驱动和 Ethernet Gadget ( CDC Ethernet )驱动,cdc是usb的设备通讯类,Ethernet Gadget 驱动支持将多个以太网帧分组为一个USB传输。平台还需要支持rndis(Remote Network Driver Interface Specification),基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。
####Linux内核配置如下:
1.首先关闭USB的host功能,打开usb gadget功能。
这里写图片描述
2.进入到USB gadget support,打开USB Peripheral Controller,Anyka usb device Port, udc driver support(usb-otg)对应平台的UDC设备控制,让USB控制器运行在device模式。
这里写图片描述
3.打开Ethernet Gadget 和RNDIS驱动支持。
这里写图片描述
4.编译最后生成两个ko。udc.ko和g_ether.ko。
这里写图片描述
5.将两个ko放入文件系统烧录到板上并加载ko,先加载udc.ko再加载g_ether.ko。
insmod /usr/modules/udc.ko
insmod /usr/modules/g_ether.ko
这里写图片描述
6.启动网卡
ifconfig usb0 192.168.0.1 up (IP地址随意)
这里写图片描述
7.插入电脑
出现如下设备,该设备为usb虚拟网卡。
这里写图片描述
8.配置IP为同一网段,互ping。
这里写图片描述
这里写图片描述
####至此USB虚拟网开配置完成。

猜你喜欢

转载自blog.csdn.net/qq_31878855/article/details/80742593