《开发板 —— Linux配置USB RNDIS》
一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端。在与以太网不同,在USB网络里各终端不是对等的,即USB Host端和USB Device端的所需要软件和硬件接口不一样。
Linux充当USB Host
Linux开发板当USB Host时,需要安装安装 rndis_host.ko 这个驱动。
│ Prompt: Host for RNDIS and ActiveSync devices (EXPERIMENTAL) │ │ Defined at drivers/net/usb/Kconfig:234 │ │ Depends on: NETDEVICES && USB && NET && USB_USBNET && EXPERIMENTAL │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ -> USB Network Adapters │ │ -> Multi-purpose USB Networking Framework (USB_USBNET [=m]) │
Linux充当USB Device
Linux开发板需要安装USB Gadget驱动g_ether.ko 来进行通讯。
Symbol: USB_ETH_RNDIS [=n] │ │ Prompt: RNDIS support │ │ Defined at drivers/usb/gadget/Kconfig:609 │ │ Depends on: && USB_ETH │ │ Location: │ │ -> Device Drivers │ │ -> USB support (USB_SUPPORT [=y]) │ │ -> USB Gadget Support (USB_GADGET [=y]) │ │ -> USB Gadget Drivers ( [=m]) │ │ -> Ethernet Gadget (with CDC Ethernet support) (USB_ETH [=n │
最终配置选项就是:CONFIG_USB_ETH=y和CONFIG_USB_ETH_RNDIS=y。