Firefly开源社区

打印 上一主题 下一主题

USB HUB / USB HOST1&HOST2使用问题(CDC协议类的USB设备)

11

积分

0

威望

0

贡献

游客

积分
11

USB HUB / USB HOST1&HOST2使用问题(CDC协议类的USB设备)

发表于 2017-3-9 20:38:31      浏览:5415 | 回复:2        打印      只看该作者   [复制链接] 楼主
版主好, 我在使用Firefly-RK3288 plus版遇到一个问题
1. 通过USB连接一个HUB.
2. 插上一个CDC协议类的USB设备A(如:USB指纹模块/USB打印机).
3. 打开第2步USB对应的apk, 能正常使用, 退出该程序.
4. 然后再在HUB上插入一个任何USB设备B(如: U盘/鼠标, 或其他CDC协议类设备等), 该新插入的设备B能正常使用.
5. 再次操作上述第3步则会发设备A已不能正常使用.
问题总结: Android通过USB HUB插多个CDC协议的USB设备时, 只有最后一个CDC设备能够使用, 非最后一个插入的CDC协议类的USB设备都不能使用.

通过调试程序发现:
最新插入的USB设备usbDevice.getInterfaceCount != 0;
而非最后一个插入的USB设备usbDevice.getInterfaceCount = 0;(虽然用UsbManager还能找到该设备, 但接口数量为零, 就无法使用了)
请问, 为什么新插入的USB设备, 会使已经插入的USB设备的getInterfaceCount等于0呢?


另外, 我还发现, 在开发板上使用HOST1和HOST2测试CDC协议类的USB设备, 也会有上述问题, 即第二个插入的USB设备会影响到第一个插入的USB设备不能使用(usbDevice.getInterfaceCount = 0)


如果是用鼠标键盘等USB HID设备测试时就没有问题, 因为这些HID设备都是内核直接接管, 属于input event. 这个问题很棘手, 麻烦指点一二.

回复

使用道具 举报

11

积分

0

威望

0

贡献

游客

积分
11
发表于 2017-3-10 10:11:59        只看该作者  沙发
求大神出没
回复

使用道具 举报

11

积分

0

威望

0

贡献

游客

积分
11
发表于 2017-3-15 16:28:23        只看该作者  板凳
问题已经解决, 解决方法请参考:
RK3288 & FirePrime 5.1 安卓系统 USB google原生BUG修复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表