鼠标高速滑动时断开连接

鼠标高速滑动时断开连接

问题

我用的是 zowieEC2-A小鼠玩 fps 游戏。

我正在使用运行 Windows 10 的定制 PC。

最近我注意到,当我快速向右或向左轻拂鼠标时,它会断开连接约半秒钟。这非常令人沮丧,因为我在高强度的瞬间轻拂鼠标,而鼠标断开连接是我最不希望发生的事情。

该问题在用力轻弹时约 90% 的时间都会发生,因此看起来相当一致。

我知道它断开连接的原因是它播放 Windows 10 USB 断开连接铃声,然后播放重新连接铃声。

我尝试过

身体的

我已经在另一台笔记本电脑上尝试过鼠标,用力轻弹(与在台式机上一样的力度)不会导致断开连接,所以我觉得鼠标没有问题,但我的台式机出现了一些奇怪的问题。

尝试不同的端口(后面板和前面板、USB3.0、常规 USB)在桌面上轻弹时都会断开连接。

软件

接下来,我下载了 USBPcap 和 Wireshark。启动 USB 数据包监视器后,我拔下了所有其他设备,并重现了鼠标轻弹断开连接的问题。这是监视器在此轻弹和断开连接事件期间显示的内容:

No. Time    Source  Destination Protocol    Length  Info
8546    29.476304   host    2.1.1   USB 27  URB_INTERRUPT in
8547    29.478249   2.1.1   host    USB 33  URB_INTERRUPT in
8548    29.478290   host    2.1.1   USB 27  URB_INTERRUPT in
8549    29.480259   2.1.1   host    USB 33  URB_INTERRUPT in
8550    29.480304   host    2.1.1   USB 27  URB_INTERRUPT in
8551    29.482260   2.1.1   host    USB 33  URB_INTERRUPT in
8552    29.482304   host    2.1.1   USB 27  URB_INTERRUPT in
8553    29.484053   2.1.1   host    USB 27  URB_INTERRUPT in
8554    29.484057   2.1.1   host    USB 27  URB_INTERRUPT in
8555    29.488452   host    2.1.1   USB 27  URB_FUNCTION_ABORT_PIPE
8556    29.488469   2.1.1   host    USB 27  URB_FUNCTION_ABORT_PIPE
8557    29.794484   host    2.1.0   USB 36  GET DESCRIPTOR Request DEVICE
8558    29.798269   2.1.0   host    USB 46  GET DESCRIPTOR Response DEVICE
8559    29.798327   host    2.1.0   USB 36  GET DESCRIPTOR Request CONFIGURATION
8560    29.802248   2.1.0   host    USB 37  GET DESCRIPTOR Response CONFIGURATION
8561    29.802303   host    2.1.0   USB 36  GET DESCRIPTOR Request CONFIGURATION
8562    29.809248   2.1.0   host    USB 62  GET DESCRIPTOR Response CONFIGURATION
8563    29.809296   host    2.1.0   USB 36  SET CONFIGURATION Request
8564    29.814300   2.1.0   host    USB 28  SET CONFIGURATION Response
8565    29.814321   host    2.1.0   USBHID  36  SET_IDLE Request
8566    29.815243   2.1.0   host    USBHID  28  SET_IDLE Response
8567    29.815367   host    2.1.0   USBHID  36  GET DESCRIPTOR Request HID Report
8568    29.826255   2.1.0   host    USBHID  97  GET DESCRIPTOR Response HID Report
8569    29.828037   host    2.1.1   USB 27  URB_INTERRUPT in
8570    29.828069   host    2.1.1   USB 27  URB_INTERRUPT in
8571    29.886293   2.1.1   host    USB 33  URB_INTERRUPT in
8572    29.886347   host    2.1.1   USB 27  URB_INTERRUPT in
8573    29.888255   2.1.1   host    USB 33  URB_INTERRUPT in
8574    29.888263   host    2.1.1   USB 27  URB_INTERRUPT in

据我了解,平均鼠标移动请求是从 2.1.1(鼠标)到主机(我的电脑)的通信,单击其中一个事件会显示:

成功活动

看起来消息已成功从鼠标传送到计算机。之后,看起来一条消息从主机发送回 2.1.1(可能是某种类型的确认):

或许确认

有趣的是,如果我们查看在行之前发送的数据包URB_FUNCTION_ABORT_PIPE,会发现有两个从 2.2.1 到主机的请求,状态为已取消:

已取消 URB_FUNCTION_ABORT_PIPE

然后主机成功发送URB_FUNCTION_ABORT_PIPE,但鼠标的响应说这是一个无效的参数:

URB_FUNCTION_ABORT_PIPE 响应

最后,在鼠标再次开始工作之前,主机会请求鼠标的描述符,鼠标会做出如下响应:

描述符响应

鼠标继续正常运行。

到目前为止,我仍然不知道问题是什么,我无法轻弹鼠标,否则会断开连接。这里有人有什么建议吗?

答案1

我遇到了和您同样的问题,并尝试使用 MouseTester 和 USB Analyze 等软件使用多种方法来解决此问题。

MouseTester 结果
MouseTester 结果

这就是为什么我转向使用 USB Analyzer 之类的软件,在这里我找到了你的帖子

URB _ 函数 _ 中止 _ 管道

问题不是出在软件上。问题出在硬件上。我更换了鼠标和电脑之间的连接线,问题就彻底解决了。希望这对你有帮助。

相关内容