我遇到了一个问题,即 USB 鼠标在 Windows 7 中偶尔不响应。鼠标连接到设备内的 USB 集线器,然后插入计算机。这是在制造测试环境中,我们将设备插入计算机(一次一个),打开设备电源,测试它(包括使用设备的鼠标在计算机屏幕上移动光标),断开连接,然后重复(每次使用不同的鼠标)——每天多次。
我已经能够重现此问题;它似乎每 50-80 个周期就会发生一次。当问题发生时,设备鼠标不会移动光标,但设备的其他 USB 功能仍然有效。普通电脑鼠标总是正常工作;问题只影响设备的鼠标。
我在 Windows 设备管理器中验证了鼠标已枚举,并且未显示任何错误。设备鼠标在“鼠标和其他指点设备”下显示为“HID 兼容鼠标”,与另一个“HID 兼容鼠标”一起显示,后者是测试计算机的常规鼠标,物理上位于键盘旁边。
发生这种情况时,我可以拔下设备,再重新插入,鼠标就可以正常工作,一切似乎都正常。我也可以通过在设备管理器中右键单击鼠标来禁用鼠标,然后启用它,它就可以正常工作,似乎一切正常。
使用 USB Beagle 480 分析仪,我在测试这些设备时记录了设备和测试计算机之间的 USB 流量。奇怪的是,即使鼠标没有响应,它仍然会将数据包发送回计算机。
这是鼠标无响应时部分 USB 流量的图片。它显示数据包被发送回来,X 和 Y 位置发生变化,但光标在屏幕上根本没有移动。(这是 Total Phase Data Center 软件的屏幕截图。)
因此,在我看来,Windows 似乎正在接收但出于某种原因忽略了鼠标的鼠标输入。我不知道是什么原因造成的。有什么想法吗?
编辑:计算机鼠标和设备鼠标使用的都是 Microsoft 的通用 HID 鼠标驱动程序:版本 6.1.7600.16385,发布日期为 2006 年 6 月 21 日。我们在计算机上进行了更新,但这个版本似乎有点旧了。
我确实验证了,当出现无响应情况时,设备管理器仍然报告该设备的鼠标正在使用相同的驱动程序,并且没有报告任何错误。