本论文研究和分析了Linux下USB驱动的原理和实现,提出一种USB over IP
方法,在驱动层将USB请求封装成IP包传送,在驱动底层实现远端USB设备
到本地的透明映射,不局限于特定的设备类别,这样完成和实现了局域网内
Linux主机之间的任意USB设备相互共享,并且不需要对原有USB系统结构有
任何的改变,无需增加硬件成本,只需安装一个驱动,力求让访问远程主机的
USB设备像访问本机上的USB设备一样简单方便,据本人测试,在100M网卡
的局域网内传输速度可达到700Kbyte/s以上,基本满足普通需求。
本论文的具体工作有:
<1> Linux 驱动结构与原理的详细分析,结合Linux内核代码具体分析了设
备驱动原理,Linux驱动模型,以及sysfs 文件系统。
<2> Linux 系统下的USB驱动结构分析,包括Linux USB主机端驱动和设
备端驱动,着重分析USB主机端驱动。
<3> USB over IP 的实现原理和具体实现方法,由于操作的不管是USB存贮
设备还是USB摄像头,其USB命令在驱动层都会被封装成USB请求包(URB),
这样我在驱动层将USB 请求包(URB)封装成IP 包在以太网上传送,实现远
端URB 到本地的透明映射,实现设备的相互共享。另外还对特定问题,如热插
拔,驱动绑定等,进行了详细的分析并提出自己的解决方法。