将可移动设备连入系统时,系统的后台中会依次发生如下事件: l 内核检测到新硬件插入,然后分别通知hotplug和udev。前者用来装入相应的内核模块(如usb-storage),而后者用来在/dev中创建相应的设备节点(如/dev/sda1)。 l udev创建了相应的设备节点之后,会将这一消息通知hal的守护程序(hald)。当然udev还得保证新创建的设备节点可以被普通用户访问。 l hotplug装入了相应的内核模块之后,会把这一消息通知给hald。 l hald在受到hotplug和u
USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不同速度的、可扩充的并且使用方便的外围设备接口,同时也是为了解决计算机接口的太多的弊端而设计的。一个USB系统主要有三部分组成:USB互连、USB主机、USB设备三部分组成的,其结构如图1 所示。在编写USB设备驱动程序设计时,可以分为三部分编写:主机端设备驱动程序、主机控制器驱动程序设计和设备端驱动程序三部分,在本文中重点介绍主机端驱动程序的设计。
本论文研究和分析了Linux下USB驱动的原理和实现,提出一种USB over IP 方法,在驱动层将USB请求封装成IP包传送,在驱动底层实现远端USB设备 到本地的透明映射,不局限于特定的设备类别,这样完成和实现了局域网内 Linux主机之间的任意USB设备相互共享,并且不需要对原有USB系统结构有 任何的改变,无需增加硬件成本,只需安装一个驱动,力求让访问远程主机的 USB设备像访问本机上的USB设备一样简单方便,据本人测试,在100M网卡 的局域网内传输速度可达到700Kbyte/s以