实现支持基于Linux的USB设备的三种方法(3)

另一种选择是把USB作为一种以太网络来对待。Linux具有在主机和设备端均可实现这种功能的模块。由于iPAQ硬件既没有可接入的串行端口也没有一种专用的网络接口,因此,iPAQ 的Linux内核专门采用这种通信策略,在StrongARM的Linux内核中,usb-eth模块(arch/arm/mach- sa1100/usb-eth.c)对用USB作物理媒介的虚构以太网设备进行仿真。一旦创建后,这一网络界面便被指定一个IP地址,否则作为通常的以太网硬件对待。一旦USB主机连上后,usb-eth模块便能使USB设备“看到” Internet(如果存在Internet的话),ping测其它IP地址,甚至“谈论”DHCP, HTTP, NFS, telnet, 和e-mail。简言之,任何在实际的以太网界面上运行的应用将不折不扣地在usb-eth接口上得到实现,因为它们不能分辨出其正在使用的不是实在的以太网硬件。

在Linux主机上,相应的Ethernet-over-USB内核模块称为usbnet。当usbnet模块得到安装且设备的USB连接建立完成时,usbnet模块便针对主机端内核及用户应用创建一个与实际硬件酷似的虚构以太网界面,主机端应用程序通过运行设备IP地址 ping测,可以检查USB设备的存在。如果ping测成功,设备便加上了。

结语

Linux不再只是USB主机使用,当今它也是USB设备的合适选择,Linux 下的USB通信是非常灵活和易用的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6436ef2c81bcff8c795524db126cfe10.html