【发布时间】:2012-12-22 06:25:42
【问题描述】:
我有一个基于 FTDI 芯片的 USB 设备。有时,它的驱动程序会卡住。
在linux下,没有问题——设备会自动断开,默认内核会重新连接,唯一的问题是设备名称改变了——可以通过udev规则修复。
在windows下,当它卡住时,此时执行read()或write()的应用程序线程完全挂起。它不能被 TerminateThread 或 KillProcess 杀死。
杀死应用程序的唯一方法是物理断开 USB 设备。
任何以编程方式发出设备重新连接的方法,这将消除驱动程序的死锁并允许重新打开端口并在之后继续工作?
如果需要,可以申请管理权限。
【问题讨论】:
-
"devcon.exe restart * ftdi *" "devcon.exe disable * ftdi *" 在挂起状态下失败
-
坏消息是基于 FTDI 的设备是市场上最可靠的设备! - 基于 PL2303 的设备(和/或其芯片组供应商的驱动程序)严重损坏。
-
您是否尝试过来自ftdichip.com 的更新驱动程序?
-
始终使用最新的驱动程序。并试图在没有运气的情况下联系 ftdi 的支持。目前只能提醒用户“请重新连接设备”,试图寻找其他解决方案。
标签: usb deadlock device-driver ftdi