让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功能。
让Linux支持usb虚拟网卡。_第1张图片
2.进入到USB gadget support,打开USB Peripheral Controller,Anyka usb device Port, udc driver support(usb-otg)对应平台的UDC设备控制,让USB控制器运行在device模式。
让Linux支持usb虚拟网卡。_第2张图片
3.打开Ethernet Gadget 和RNDIS驱动支持。
让Linux支持usb虚拟网卡。_第3张图片
4.编译最后生成两个ko。udc.ko和g_ether.ko。
让Linux支持usb虚拟网卡。_第4张图片
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地址随意)
让Linux支持usb虚拟网卡。_第5张图片
7.插入电脑
出现如下设备,该设备为usb虚拟网卡。
让Linux支持usb虚拟网卡。_第6张图片
8.配置IP为同一网段,互ping。
让Linux支持usb虚拟网卡。_第7张图片
让Linux支持usb虚拟网卡。_第8张图片

至此USB虚拟网开配置完成。

你可能感兴趣的:(驱动杂文)