远程断开USB设备
假设你现在舒舒服服地坐在天文台里,甚至可能在家里(离望远镜很远),然后需要断开某个设备再重新连上……唯一能想到的办法就是重启电脑,但那实在太花时间了。
我之前测试Seletek的新固件时就碰到过这种情况。在谷歌上搜了半天,我找到了下面这个解决办法:
- 首先,从微软下载并安装“devcon” 这个工具。
- 装好之后,你需要找到出问题那个设备的硬件ID。打开设备管理器(通常在控制面板 → 系统 → 硬件里就能找到),然后找到你的设备:
你可能会问:既然是USB设备,为什么出现在“端口”下面,而不是“通用串行总线”下面?实际上,USB设备可以出现在“端口”下面(如果它模拟的是串口或并口),也可能出现在“天文成像设备”下面(比如某些QHY相机),还可能出现在其他地方,这完全取决于驱动开发者的设计。
回到正题,请双击你的设备,选择“详细信息”选项卡,然后找到“硬件ID”:

在我们的例子中,第二行显示的是“USB\VID_16C0&PID_09B0”。
现在该用DEVCON工具了。我写了一个简单的批处理程序(就是那种老式的“.bat”文件),里面放了这几行:
c:\tmp\devcon\i386\devcon disable USB\VID_16C0*PID_09B0*
c:\tmp\devcon\i386\devcon enable USB\VID_16C0*PID_09B0*
(当然,c:\tmp\devcon\i386 要换成你实际安装devcon的文件夹路径)……然后把这个“.bat”文件保存到桌面上。
重要提示:运行这个操作时,不能有任何程序正在使用该设备。以Seletek为例,运行devcon之前需要先关掉所有Seletek的程序。 ……写到这儿我猜,这个操作其实跟手动在设备管理器里禁用再启用设备是一回事,回头得验证一下,但至少这种方法要方便得多。 |