Можно ли написать программу, которая включает / выключает USB - PullRequest
2 голосов
/ 02 марта 2010

У меня есть USB-модем, и он часто пропускает сигнал. Когда это происходит, я отключаю и снова подключаю его к USB-порту, и он сразу же получает сигнал; Могу ли я написать программу, которая делает это без физического отключения модема от порта?

Ответы [ 3 ]

0 голосов
/ 14 марта 2013

Я думаю, что самый простой способ - это аппаратный способ: если вы отключите питание 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

0 голосов
/ 31 августа 2018

Зависит от операционной системы. Например, во FreeBSD вы можете использовать «usbconfig ugenX.Y power_off», а затем «power_on».

0 голосов
/ 02 марта 2010

Как указано в комментарии, программный сброс портов USB * специфичен для ОС .

В Windows самый простой подход, вероятно, заключается в использовании WMI или инструментария управления Windows . Вы можете получить несколько фрагментов, которые «связываются» с портами USB на разных языках, выполнив поиск в Интернете с помощью «WMI», «USB» и таких ключевых слов.

Эта статья MSDN представляет более широкий интерес, чем просто контроллеры USB, но предоставляет хороший обзор модели CIM и интерфейса WMI.

Edit:
Действительно, если этот вопрос относится к Windows, я только что обнаружил, что это дубликат на SO:

Кстати, обе эти ссылки были автоматически определены SO в списке " Related " в правой части страницы
==> Нам нужно помнить, чтобы проверять этот список более систематически
==> Во многих случаях этот список чертовски хорош

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...