Отключить питание USB от командной строки?

У меня есть хороший маленький USB-индикатор, который не имеет переключателя, он включен в течение всего времени включения.

Мой вопрос в том, есть ли способ отключить порт USB, чтобы отключить свет, пока он все еще подключен? Предпочтительно, это можно сделать из командной строки, но если это возможно, это было бы действительно здорово. Я использую Mac и Linux, но мне интересно узнать, возможно ли это в любой ОС, или если физическое оборудование предотвращает такое использование.

В большинстве случаев USB-аксессуары, такие как вентиляторы и фары, не являются настоящими USB-устройствами – они просто хотят немного 5-вольтовой мощности.

Способ USB для реальных устройств заключается в том, что они получают немного энергии для запуска, достаточно для их включения. Затем они перечисляют с помощью USB-контроллера и запрашивают больше мощности.

Поскольку эти фальшивые USB-устройства вообще не разговаривают с компьютером, единственный способ отключить его – это полностью отключить этот USB-порт, который, насколько я знаю, обычно не используется в программном обеспечении.

Я на самом деле не пробовал это сам, но из исследования, которое я сделал по этой теме (чтобы выполнить то же самое, что и вы), вам понадобятся:

  • USB-концентратор, который поддерживает «переключение питания на один порт» – не многие поддерживают это
  • Утилита для фактического переключения мощности

Взгляните на http://www.gniibe.org/development/ac-power-control-by-USB-hub/index , он делает похожие вещи и включает в себя некоторый фон по этой теме, список поддерживаемых концентраторов, А также исходный код C для сборки утилиты.

Я не мог найти ни одного из USB-концентраторов, о которых он упомянул в США, и после того, как я связался со мной, я подтвердил, что D-Link DUB-H7 будет работать – вы можете получить его на Amazon, например.

Я еще не нашел способ сделать это в Windows, но похоже, что вы в основном заинтересованы в Linux.

7-портовый USB-концентратор D-Link DUB_H7, версия 2 (черный) НЕ имеет переключение питания на порт , оно поддерживает только переключение питания Ganged .

#lsusb -v

Вывод показывает в два раза 4-портовый концентратор, вот вывод для дескриптора концентратора:

Hub Descriptor: bLength 9 bDescriptorType 41 nNbrPorts 4 wHubCharacteristic 0x00e0 Ganged power switching Ganged overcurrent protection TT think time 32 FS bits Port indicators bPwrOn2PwrGood 50 * 2 milli seconds bHubContrCurrent 100 milli Ampere DeviceRemovable 0x00 PortPwrCtrlMask 0xff Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power 

Попробуйте использовать http://www.nirsoft.net/utils/usbdeview.zip . Этот исполняемый файл отображает все USB-устройства, подключенные к вашему компьютеру, и позволяет вам отключать их индивидуально по мере необходимости.

Как отмечено в прочитанном мной:

USBDeview – небольшая утилита, в которой перечислены все USB-устройства, которые в настоящее время подключены к вашему компьютеру, а также все USB-устройства, которые вы ранее использовали. На каждом USB-устройстве отображается расширенная информация: имя / описание устройства, тип устройства, серийный номер (для устройств массовой памяти), дата / время, когда было добавлено устройство, VendorID, ProductID и т. Д. USBDeview также позволяет вам Удалите USB-устройства, которые вы ранее использовали, и отключите USB-устройства, которые в настоящее время подключены к вашему компьютеру. Вы также можете использовать USBDeview на удаленном компьютере, если вы заходите на этот компьютер с пользователем администратора.

Давайте будем гением компьютера.