gpt4 book ai didi

usb - Windows下如何解决USB设备重连问题

转载 作者:行者123 更新时间:2023-12-02 05:40:13 25 4
gpt4 key购买 nike

我有一个基于 FTDI 芯片的 USB 设备。有时,它的驱动程序会被卡住。

在linux下,没有问题——设备​​会自动断开连接,并通过默认内核重新连接,唯一的问题是设备名称更改——可以通过udev规则修复。

在 Windows 下,当卡住时,应用程序执行 read()write() 的线程会完全挂起。它不能被 TerminateThreadKillProcess 杀死。

终止应用程序的唯一方法是物理断开 USB 设备。

有什么方法可以以编程方式发出设备重新连接,这将消除驱动程序的死锁并允许重新打开端口并在之后继续工作?

如果需要,应用程序可以拥有管理权限。

最佳答案

我建议你把你的想法提高一步。您正在尝试直接重新启动 USB 设备,为什么不尝试使用集线器呢?

我遇到了类似的问题,正在做:

devcon remove *ROOT_HUB* && devcon rescan

当 USB 设备挂起时,将其重新连接至集线器。

注意:这将从设备管理器中删除所有 USB 设备并重新添加它们。您可以使用expect或类似方法执行devcon findall *ROOT_HUB*并根据需要删除ROOT_HUB20ROOT_HUB30

关于usb - Windows下如何解决USB设备重连问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14000608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com