我可以编写一个程序来打开/关闭USB

时间:2010-03-02 02:01:09

标签: usb

我有一个USB调制解调器,它经常会丢弃信号。当发生这种情况时,我拔下插头并从USB端口重新插入它,它立即得到信号;我可以编写一个程序,而不必将调制解调器与端口物理断开连接吗?

3 个答案:

答案 0 :(得分:0)

正如评论中所暗示的,以编程方式重置USB端口是特定于操作系统的功能

在Windows中,最简单的方法可能是利用WMI aka Windows Management Instrumentation。您可以通过使用“WMI”,“USB”和类似关键字搜索网络,以各种语言获得几个“混乱”USB端口的片段。

这个MSDN article比USB控制器更受关注,但可以很好地概述CIM模型和WMI接口。

修改
确实如果这个问题与Windows有关,我刚刚发现它在SO上是重复的:

顺便说一句,这两个链接都是由SO自动识别的,位于页面右侧的“相关”列表中 ==>我们需要记住更系统地检查此清单 ==>在许多情况下,这个名单真是太棒了

答案 1 :(得分:0)

我认为最简单的方法是硬件方式:如果你削减USB电源,那么你将有一个拔出/插拔事件。

两种解决方案:

1 / A有源USB集线器:大多数USB集线器都有一个外部电源插座,可在插入电源插头时机械切断主机的电源。切断来自电源适配器的电源,集线器下的所有设备都将断开连接。

2 /只需破解常规USB线:您只需要切断电源线(红色线)。

要切断电源,您可以使用插在不同USB端口上的USB继电器。你可以在网上到处找到USB继电器,但这里有一些:

http://www.yoctopuce.com/EN/products/category/usb-actuators(无人驾驶)

http://www.phidgets.com/products.php?category=9

答案 2 :(得分:0)

取决于操作系统。例如,在FreeBSD中,您可以使用“ usbconfig ugenX.Y power_off”,然后使用“ power_on”。