当前位置: 技术问答>linux和unix
usb gadget 驱动实现上下位传输数据问题
来源: 互联网 发布时间:2016-12-21
本文导语: 请教大侠们: 为了通过USB接口,实现下位机 linux 系统开发板(USB 为从设备) 与上位机 windows PC (USB 为 host 设备)进行数据交换,我将 gadgetfs 编译进内核,写了个基于 gadgetfs 的user mode 驱动,/dev/gadget...
请教大侠们:
为了通过USB接口,实现下位机 linux 系统开发板(USB 为从设备) 与上位机 windows PC (USB 为 host 设备)进行数据交换,我将 gadgetfs 编译进内核,写了个基于 gadgetfs 的user mode 驱动,/dev/gadget/ 挂上了usb 设备的端点,可是windows 上位机器无法设备设备,不知我这样是否正确?有没有人做过? 谢谢!
为了通过USB接口,实现下位机 linux 系统开发板(USB 为从设备) 与上位机 windows PC (USB 为 host 设备)进行数据交换,我将 gadgetfs 编译进内核,写了个基于 gadgetfs 的user mode 驱动,/dev/gadget/ 挂上了usb 设备的端点,可是windows 上位机器无法设备设备,不知我这样是否正确?有没有人做过? 谢谢!
|
windows 上位机器无法设备设备
----------------------------
什么意思
内核有一些自带的gadget驱动,其中就有模拟U盘的
http://hi.baidu.com/deep_pro/blog/item/bf0f17efcbc01c3cadafd513.html
----------------------------
什么意思
内核有一些自带的gadget驱动,其中就有模拟U盘的
http://hi.baidu.com/deep_pro/blog/item/bf0f17efcbc01c3cadafd513.html
|
上位机也需要编写驱动
不过上位机就算没驱动,也应该能弹出发现新设备的窗口
这个事件需要热插拔触发
否则那就是你的驱动不正确
可以尝试Linux自己实现的RNDIS /Ethernet Gadget 驱动
这样双方之间的通信可以转换成socket,不需要自己写驱动和定义通信方式了
不过上位机就算没驱动,也应该能弹出发现新设备的窗口
这个事件需要热插拔触发
否则那就是你的驱动不正确
可以尝试Linux自己实现的RNDIS /Ethernet Gadget 驱动
这样双方之间的通信可以转换成socket,不需要自己写驱动和定义通信方式了
|
抓个包看一下,枚举是否成功了!请问楼主你们主要是实现什么功能,是裸机的USB自动下载吗?
|
gadgetfs这应该是个文件系统吧?没用过gadgetfs,不知道我理解得对不对,你是不是在PC上有一个gadgetfs的文件系统,然后要通过USB挂载到板子上,然后通过USB进行数据交换。跟NFS应该差不多,只不过NFS用的是网络的。你先用USB抓包工具,看看有没有包,如果有包看看协议是否通了,如果没有,那要在板子上加驱动,PC机也要有相关的驱动才行。