专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 驱动开发

Linux的USB驱动怎么发送厂商请求

发布时间:2010-06-14 16:35:06 文章来源:www.iduyao.cn 采编人员:星星草
Linux的USB驱动如何发送厂商请求?
本帖最后由 whx891214 于 2014-11-04 20:43:07 编辑
各位高手好!

我现在手里有一个USB的手持设备,有windows下的驱动,无驱动代码。

这个设备在windows下有一个配套的工具软件,该软件主要的功能就两个,一个是密码功能,只能输入密码才能对设备进行配置工作,另个是对设备启动USB的功能,也就是将设备转成了MASS STORAGE设备。

我现在想在Linux下做一个该设备的驱动,所以我的Linux驱动也不用实现太复杂的功能,只需完成这两工作就可以。

但是软件和设备的通信协议我不清楚,所以我的思路是,通过抓包工具抓取PC往设备上发送的命令,在linux驱动中增加对应IOCTL接口。

下面是我抓到的密码传送包。



我输入的密码是778899。

这里看到urb 的类型是厂商请求,header中的Funtion是0x17,查到usb.h中对应的命令是URB_FUNCTION_VENDOR_DEVICE。

所以我的问题是,之后如何在Linux中发送对应的命令呢?发的命令类型是什么呢?怎么把这48个字节的密码发过去呢?

没弄过usb驱动,问题可能比较菜,谢谢大家了。


------解决思路----------------------
引用:
所以我的问题是,之后如何在Linux中发送对应的命令呢?发的命令类型是什么呢?怎么把这48个字节的密码发过去呢?

在你的Linux/USB驱动程序里定义一个自定义的IOCTL,通过该IOCTL,应用程序可以接收密码设置到你的驱动程序里面。你的驱动程序再把收到的密码信息,包装成对应的URB,发送给USB设备。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: