USB设备检测.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
USB设备检测

USB设备检测的一般过程 USB设备检测也是通过/proc目录下的USB文件系统进行的。为了使一个USB设备能够正常工作,必须要现在系统中插入USB桥接器模块。在检测开始时,一般要先检测是否存在/proc/bus/usb目录,若不存在则尝试插入USB桥接模块。 现在一般的USB桥接器模块有两种类型,UHCI和OHCI。在决定插入那一个桥接器模块时,可以察看/proc/pci文件来决定。打开此文件,您若发现 USB节为 I/O at 0xHHHH格式(例如出现 I/O at 0xe000 [0xe01f]),HHHH为16进制数,则桥接器类型为UHCI。若是它为32 bit memory at 0xHH000000形式(例如出现32 bit memory at 0xee000000),HH为16进制数,则桥接器类型为OHCI。但是若您的桥接器类型不满足上述任何一种情况,唯一的解决办法就是您尝试插入这两种模块,直到成功为止。一般而言,UHCI类型的桥接器它的插入模块是uhci或usb-uhci(由内核版本决定);而对于OHCI类型的桥接器它的插入模块是ohci或usb-ohci。 您在正确的插入了桥接器模块之后,这时/proc文件系统下就会出现USB设备目录,不过这时这个目录是空的,没有任何文件。这时您就必须挂接usbdevfs文件系统,然后通过此文件系统检测连接的设备。在成功挂接usb文件系统之后,就会生成文件 /proc/bus/usb/devices,/proc/bus/usb/drivers和目录/proc/bus/usb/busNo。挂接 usbdevfs文件您可以通过如下操作实现: mount -t usbdevfs none /proc/bus/usb 或在/etc/fstab上加入 none /proc/bus/usb usbdevfs defaults 0 0 然后通过/proc/bus/usb/devices文件的内容,您就可以获得连接的设备信息,包括设备标识和制造商标是等信息。系统环境:Loongson-1B开发板(mips32)、busybox1.19.2、Linux2.6.21、文件系统配置参照本博客文章《移植Busybox与构建根文件系统》 编译环境:ubuntu10.04、gcc-3.4.6-2f ? u盘自动挂载功能实现步骤如下: 1、配置内核 a)配置内核支持热插拔: #cd linux.2.6.21 #vi .config CONFIG_KALLSYMS=y CONFIG_HOTPLUG=y? //确保此项为y CONFIG_PRINTK=y? CONFIG_NET=y? //确保此项为y 确保以上两项均设置为y,否则/proc/sys/kernel/目录下不会出现huotplug文件。 b)配置内核支持 #make menuconfig 选择Device Drivers -- ???????????? USB support -- ????????????????? ?* Support for Host-side USB ?????????????????? * OHIC HCD support ???????????????????* UHCI HCD (most Intel and VIA) support ?????????????????? * SL811HS HCD support ?????????????????? * USB Mass Storage support ? 2、配置busybox #make menuconfig 选择Linux System Utilities --- ???????????? [*]mdev ???????????? [*]???? Support /etc/mdev.conf ???????????? [*]????????? Support subdirs/symlinks ???????????? [*]?????????????? Support regular expressions substitutions when renaming device ???????????? [*]????????? Support command execution at device addition/removal ???????????? [*]???? Support loading of firmwares 3、添加对热插拔事件响应,实现u盘自动挂载与卸载 a) 创建mdev.conf文件: #vi /etc/mdev.conf 写入: sd[a-z][0-9]? 0:0? 666? @/etc/hotplug/udisk_

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档