当前位置: 技术问答>linux和unix
usbhid妨碍了系统自动加载我的usb驱动程序,求教解决 (主要是加载后设备的驱动被认作usbhid)
来源: 互联网 发布时间:2016-05-07
本文导语: 问题症状: 我的一个简单的USB信号采集卡,看上去被定义为了03(HID)设备了。所以我的驱动也无法自动加载。 环境: 本人使用的是linux自带的skel模板。改了厂家ID与设备ID。 不成功的方法: 我用了/etc/modprobe.d/blac...
问题症状:
我的一个简单的USB信号采集卡,看上去被定义为了03(HID)设备了。所以我的驱动也无法自动加载。
环境:
本人使用的是linux自带的skel模板。改了厂家ID与设备ID。
不成功的方法:
我用了/etc/modprobe.d/blacklist来组织usbhid的加载
我用过rmmod来卸载usbhid
我也用过删除/lib/modules/"我的内核版本"/modules.usbmap中的其他移动被加载
结果:
插上设备后,usbhid依然被加载,我的驱动模块也被加载。但是我的probe函数未被调用。我设备的init函数似乎也没被动过。(因为我添加了printk()来标注)
我的一个简单的USB信号采集卡,看上去被定义为了03(HID)设备了。所以我的驱动也无法自动加载。
环境:
本人使用的是linux自带的skel模板。改了厂家ID与设备ID。
不成功的方法:
我用了/etc/modprobe.d/blacklist来组织usbhid的加载
我用过rmmod来卸载usbhid
我也用过删除/lib/modules/"我的内核版本"/modules.usbmap中的其他移动被加载
结果:
插上设备后,usbhid依然被加载,我的驱动模块也被加载。但是我的probe函数未被调用。我设备的init函数似乎也没被动过。(因为我添加了printk()来标注)
|
我也遇到了这个问题,你解决了吗?要是解决了,请指点,呵呵; 要是没有,我们可以交流啊。
qq:552494042
qq:552494042
|
修改udev的规则试试。。。
如果再不行,最后一招,改内核。内核把driver归类到某个bus上(印象中是),所以在usb的bus上有一个list,内核按list的先后去probe driver,所以,把你的driver放到最前面应该可以解决。
如果再不行,最后一招,改内核。内核把driver归类到某个bus上(印象中是),所以在usb的bus上有一个list,内核按list的先后去probe driver,所以,把你的driver放到最前面应该可以解决。
|
我也遇见了这个问题 请问解决了吗?我现在是必须要把USBHID模块卸载后才能控制HID设备,否则设备读写时一直是忙状态。
QQ:173641905
Emeil:stoneinsky@163.com
QQ:173641905
Emeil:stoneinsky@163.com
|
我自己最近也在针对一块自做的设备板写USB驱动程序,发现一点问题:无法实现通信的链接,想向您请教下!~
我自己针对一个用8051芯片做的板子做了一个驱动程序,然后驱动成功后会在/dev下出现相应的设备文件skel0(我看网上都说可以直接对其进行读写操作即可),我又用自己另外编写的一个具备打开、读写、关闭功能的小程序对其进行操作的时候,没有反应,也即没有数据读出来,不知道该怎么做好。是哪一步出问题了还是怎么回事。
另:在那块板子中是灌注了程序的。是否需要对其通信协议了解后,在自己做的程序中进行相应的设置呢?不太懂。请指教!~
恐怕是和楼主的问题类似的。如果哪位解决了的话请指教下。谢谢了~
我自己针对一个用8051芯片做的板子做了一个驱动程序,然后驱动成功后会在/dev下出现相应的设备文件skel0(我看网上都说可以直接对其进行读写操作即可),我又用自己另外编写的一个具备打开、读写、关闭功能的小程序对其进行操作的时候,没有反应,也即没有数据读出来,不知道该怎么做好。是哪一步出问题了还是怎么回事。
另:在那块板子中是灌注了程序的。是否需要对其通信协议了解后,在自己做的程序中进行相应的设置呢?不太懂。请指教!~
恐怕是和楼主的问题类似的。如果哪位解决了的话请指教下。谢谢了~
|
这个帖子都大半年了,
楼主也不见了。
不知道重新编译内核,
把usbhid搞掉会不会好
楼主也不见了。
不知道重新编译内核,
把usbhid搞掉会不会好