Питание USB-портов
Wiren Board 7
Прежде, чем использовать этот метод в своих проектах, важно понять две вещи:
- При обычной эксплуатации потребности отключать питание USB-порта нет.
- Метод не переносим между ревизиями контроллеров и может в любом момент сломаться. Если вам очень надо на это завязаться и использовать в своих скриптах — напишите нам и мы подумаем, как это сделать нормально.
Linux сам управляет питанием USB-портов, поэтому ручки «Отключить питание USB» нет, но есть обходное решение.
В процессоре A40i, к одному физическому порту подключено два контроллера: OHCI (1Mbit, 12Mbit) и EHCI (480MBit), которые друг с другом договариваются и передают устройство на правильный. В системе это выглядит как два порта, что видно в lsusb.
Чтобы выключить питание на порту, нужно отключить этот порт от обоих контроллеров. А так как питание больше никто не будет запрашивать, Linux его отключит.
Отключить:
echo 1c14400.usb > /sys/bus/platform/drivers/ohci-platform/unbind
echo 1c14000.usb > /sys/bus/platform/drivers/ehci-platform/unbind
Включить:
echo 1c14400.usb > /sys/bus/platform/drivers/ohci-platform/bind
echo 1c14000.usb > /sys/bus/platform/drivers/ehci-platform/bind
Wiren Board 6
Второй внешний USB-порт:
# выключить
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 4 off
# включить
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 4 on
Модуль Wi-Fi:
# выключить
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 1 off
# включить
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 1 on
Вместо
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` ...
в большинстве случаев можно писать
$ hubpower 2:2 ...
Wiren Board 5
Внешний USB-порт:
# выключить $ hubpower 1:1 power 1 off # включить $ hubpower 1:1 power 1 on
Модуль Wi-Fi:
# выключить $ hubpower 2:1 power 1 off # включить $ hubpower 2:1 power 1 on
Wiren Board 4
Номера портов (для управления питанием):
4 - встроенный WiFi 3 - порты USB-Hub, выход 5V 1 - EThernet-часть LAN9514
Пример (отключение Wi-Fi):
hubpower 1:2 power 4 off
Wiren Board Smart Home rev. 3.5
Номера портов (для управления питанием):
4 - встроенный WiFi 3 - порты USB-Hub 1 - EThernet-часть LAN9514