当前位置:  技术问答>linux和unix

什么HID设备加载的总是usbhid?(我认为是有难度的问题)

    来源: 互联网  发布时间:2016-07-29

    本文导语:  本帖最后由 barater 于 2010-01-12 08:25:23 编辑 我正在制作一个HID设备的驱动程序。 但是很无奈,写完的驱动没有执行 XXX_probe()函数。 情况: 1、模块加载时,能够执行初始化 XXX_init() 2、已经添加了设备ID,确定ID结构...

本帖最后由 barater 于 2010-01-12 08:25:23 编辑
我正在制作一个HID设备的驱动程序。

但是很无奈,写完的驱动没有执行 XXX_probe()函数。

情况:
1、模块加载时,能够执行初始化 XXX_init()
2、已经添加了设备ID,确定ID结构体中的元素“厂商ID”、“产品ID”等没有配置错误。确定是HID设备,设备信息很全面。
3、已经执行了depmod,在modules.dep,modules.alies等文件追加了关联关系,使用modprobe XXX也可以加载模块。
4、程序绝大部分是参照各种资料、源代码,linux自带的鼠标键盘驱动的源代码写的。

困难是:
1、当我在没有其他HID设备的情况下(USBHID模块没有加载),插入这个XXX设备时,被加载的模块是USBHID,不是我写的模块
2、即便我手动加载XXX模块,XXX设备插入的时候,XXX_probe()函数没有被执行。
  (我理解应该这个函数被执行的,我在XXX_probe()最前面加入了printk,没有在LOG中显示,init()函数前我也加了,就能够在log中显示,printk本身没问题)

我想问:
1、如何能实现,XXX设备插入USB的时候,自动加载XXX驱动模块。
2、如果自己写驱动模块困难的话,是否可以利用USBHID这个HID内核,来编写程序(不是驱动模块)使用这个HID设备。
   (这个XXX设备是使用中断方式通讯的HID设备,而且是一个输出输入都有的设备,不会主动发送数据,需要有主机主动向设个XXX设备发起通讯请求才会进行通讯)。

我自己刚开始学习linux不久,迫于压力,需要急需解决,两个星期了,求求各位大哥帮帮忙,有想法的都说说,我先谢过了~~~

补充:
usbhid这个hid内核模块中支持的设备ID号的厂商ID和设备ID都是ANY_ID,ANY_ID

那我的那个XXX设备也是靠厂商ID和设备ID来识别的,岂不是都让usbhid抢去了设备控制权?

|
这个需要你对platform driver和device的编程一些了解,http://blog.csdn.net/unbutun/archive/2009/02/24/3933278.aspx你可以看看这个
第一个问题 可能是 你的硬件信息并没有注册到总线上,所以当你插入到usb时候,他更本无法找到你的设备,所以不能启动你的驱动。

|
该回复于2010-06-29 13:03:18被版主删除

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ubuntu 下的hid文件目录问题
  • linux如何和hid类设备通信
  • 如何mount一个HID类设备 iis7站长之家
  • 如何向hid设备读写数据
  • Linux下HID类设备的数据通信
  • HID设备读写数据的问题
  • 如何mount一个HID类的USB设备
  • 关于Linux 2.6平台下,自定义的USB HID设备是系统提供驱动程序还是需要自己完成驱动程序?
  • USB HID 鼠标驱动 的问题
  • 如何mount一个HID类设备
  • libusb读取hid输入设备usb_interrupt_read问题!
  • USB hid 键盘驱动的设备节点?
  • 如何控制USB HID 设备


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3