OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2887|回复: 7

USB总线支持加载两个描述一样的HID设备么?

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2012-3-5
在线时间
2 小时
发表于 2019-4-26 09:27:02 | 显示全部楼层 |阅读模式
5金钱
各位大大:
没做过USB相关的项目,以前学单片机就是跟着例程看了下。

这次遇到一个HID  自定义外设,PC端我使用libusb来通信,一个这样的外设插着我已经调完了,但是两个外设就不行了,因为两个USB描述一模一样,所以我的问题是:

USB总线有机会能同时识别并成功加载 ,两个一模一样的描述信息的HID外设么?     如果能,我需要注意什么细节,非常感谢。




最佳答案

查看完整内容[请看2#楼]

抱歉, 我没有看清楚您的问题. 如果您是指相同的两个device, 接上PC的话, 那当然PC是可以支持的. 至于PC端的软件要怎么识别, 通常可以用Device回的序号, 若没有的话, 还是可以用USB Port number来区分.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-4-26 09:27:03 | 显示全部楼层
抱歉, 我没有看清楚您的问题.
如果您是指相同的两个device, 接上PC的话, 那当然PC是可以支持的.
至于PC端的软件要怎么识别, 通常可以用Device回的序号, 若没有的话, 还是可以用USB Port number来区分.
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-4-26 11:00:48 | 显示全部楼层
HID同时挂两个Device应该不难.
Configuration Descriptor的bNumInterfaces设成2试试看.
错开EndPoint应该就可以分开了.

或者是用IAD Device的方式同样可以挂多个Device, 甚至是不同Class的Device.
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2012-3-5
在线时间
2 小时
 楼主| 发表于 2019-4-26 11:45:46 | 显示全部楼层
听你描述就很专业。

首先这个HID外设我是修改不了的,我只能修改PC端的代码来适配,我使用的是在libusb之上再封装一次的HIDAPI开源库。

那么这种情况下,我还是有机会成功解决? 我最终是要挂在4个这样的HID 外设。
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-4-26 12:03:30 | 显示全部楼层
dsl1784 发表于 2019-4-26 11:45
听你描述就很专业。

首先这个HID外设我是修改不了的,我只能修改PC端的代码来适配,我使用的是在libusb ...

只能改PC端的代码的话, 就只能修改驱动, 让它自己有办法长出很多外设出来.
否则驱动默认的动作就会依照device回上来的descriptor做事情.
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2012-3-5
在线时间
2 小时
 楼主| 发表于 2019-4-27 21:29:29 | 显示全部楼层
感谢你的回复,只要得到你说能支持即可,序列号等都是一模一样的,估计还可以用Port number来尝试。总之感谢你的协助。
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2012-3-5
在线时间
2 小时
 楼主| 发表于 2019-4-29 09:13:05 | 显示全部楼层
sammy902583 发表于 2019-4-26 12:03
只能改PC端的代码的话, 就只能修改驱动, 让它自己有办法长出很多外设出来.
否则驱动默认的动作就会依照d ...

我这边的硬件连接是:
Host [OTG] -> HUB
                        ->DEV0
                        ->DEV1

我修改修改代码不断尝试发现,两个外设能连接上,但是有的HUB口不稳定,有的HUB口能稳定使用。如果更换其他HUB还有可能不能使用了。

这样的问题出现,有什么排除故障的思路么。

感谢。
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2019-4-29 21:42:23 | 显示全部楼层
dsl1784 发表于 2019-4-29 09:13
我这边的硬件连接是:
Host [OTG] -> HUB
                        ->DEV0

1. 拿USB Analyzer抓封包看看, 是否有重现这个问题.
2. 如果怀疑是HUB的问题, 可以拿上一项抓到的资料, 请HUB厂商帮忙找root cause.
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 16:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表