在Windows SP3中,是否存在注册表项或某些设置,甚至在注册表中的设备级别上,可以将EHCIUSB2.0高速集线器枚举为主机级的UHCI或host全速设备?
我看到一个问题,USB1.1全速设备由于在高速集线器上与事务转换器缓冲区进行无限NAKd拆分而陷入僵局。只有在某些情况下才会发生这种情况--全速设备仅在XP SP3中连接在2.0高速集线器后面。我已经打开了一个与微软的问题,他们已经确认这是一个已知的问题,没有修复的问题(也不会开发)。它在Vista+中得到了修正。
如果设备直接连接到主机控制器,或者在高速集线器的上游有一个全速集线器,那么问题就消失了(因为没有拆分事务)。因此,如果有办法迫使高速集线器枚举为全速设备,那么它可以帮助我们解决问题。
此外,硬件设计也是一成不变的。系统已经开发,没有办法在设计的任何地方插入一个全速集线器芯片,或将设备直接连接到根集线器。最后,升级系统上的操作系统不是一种选择。
发布于 2013-12-10 05:22:15
经过一些工作和研究,在微软的帮助下,目前的结论是,没有办法做到这一点。
我们将使用的解决方法是在总线上执行PnP重置以停止无限NAKs,然后重新打开端口以重新开始通信。这不是很干净,但它能解决这个问题。
https://stackoverflow.com/questions/19945124
复制相似问题