3690
правок
(Подготовка страницы к переводу) |
|||
(не показано 17 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
<!--T:1--> | |||
== Wiren Board 7 == | |||
[[Image: wb7.2-7.3 usb power disable.png |300px|thumb|right| Отключение USB-порта в контроллерах Wiren Board 7]] | |||
Прежде, чем использовать этот метод в своих проектах, важно понять две вещи: | |||
# При обычной эксплуатации потребности отключать питание USB-порта нет. | |||
# Метод не переносим между ревизиями контроллеров и может в любом момент сломаться. Если вам очень надо на это завязаться и использовать в своих скриптах — напишите нам и мы подумаем, как это сделать нормально. | |||
Linux сам управляет питанием USB-портов, поэтому ручки «Отключить питание USB» нет, но есть обходное решение. | |||
В процессоре A40i, к одному физическому порту подключено два контроллера: OHCI (1Mbit, 12Mbit) и EHCI (480MBit), которые друг с другом договариваются и передают устройство на правильный. В системе это выглядит как два порта, что видно в lsusb. | |||
Чтобы выключить питание на порту, нужно отключить этот порт от обоих контроллеров. А так как питание больше никто не будет запрашивать, Linux его отключит. | |||
Отключить: | |||
<syntaxhighlight lang="bash"> | |||
echo 1c14400.usb > /sys/bus/platform/drivers/ohci-platform/unbind | |||
echo 1c14000.usb > /sys/bus/platform/drivers/ehci-platform/unbind | |||
</syntaxhighlight> | |||
</ | |||
Включить: | |||
<syntaxhighlight lang="bash"> | |||
echo 1c14400.usb > /sys/bus/platform/drivers/ohci-platform/bind | |||
echo 1c14000.usb > /sys/bus/platform/drivers/ehci-platform/bind | |||
</syntaxhighlight> | |||
== Wiren Board 6 == | == Wiren Board 6 == <!--T:4--> | ||
<!--T:5--> | |||
Второй внешний USB-порт: | Второй внешний USB-порт: | ||
< | <!--T:6--> | ||
<syntaxhighlight lang="bash"> | |||
# выключить | # выключить | ||
$ hubpower | $ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 4 off | ||
# включить | # включить | ||
$ hubpower | $ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 4 on | ||
</ | </syntaxhighlight> | ||
<!--T:7--> | |||
Модуль Wi-Fi: | Модуль Wi-Fi: | ||
< | <!--T:8--> | ||
<syntaxhighlight lang="bash"> | |||
# выключить | # выключить | ||
$ hubpower | $ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 1 off | ||
# включить | # включить | ||
$ hubpower | $ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` power 1 on | ||
</ | </syntaxhighlight> | ||
Вместо | |||
<syntaxhighlight lang="bash"> | |||
$ hubpower `lsusb | grep "0424:2514" | sed 's/^Bus 0*\([[:digit:]]*\) Device 0*\([[:digit:]]*\).*$/\1:\2/g'` ... | |||
</syntaxhighlight> | |||
в большинстве случаев можно писать | |||
<syntaxhighlight lang="bash"> | |||
$ hubpower 2:2 ... | |||
</syntaxhighlight> | |||
== Wiren Board 5 == | == Wiren Board 5 == <!--T:9--> | ||
<!--T:10--> | |||
Внешний USB-порт: | Внешний USB-порт: | ||
<!--T:11--> | |||
<pre> | <pre> | ||
# выключить | # выключить | ||
Строка 56: | Строка 76: | ||
</pre> | </pre> | ||
<!--T:12--> | |||
Модуль Wi-Fi: | Модуль Wi-Fi: | ||
<!--T:13--> | |||
<pre> | <pre> | ||
# выключить | # выключить | ||
Строка 65: | Строка 87: | ||
</pre> | </pre> | ||
== Wiren Board 4 == <!--T:14--> | |||
<!--T:15--> | |||
Номера портов (для управления питанием): | Номера портов (для управления питанием): | ||
<pre> | <pre> | ||
Строка 75: | Строка 97: | ||
</pre> | </pre> | ||
<!--T:16--> | |||
Пример (отключение Wi-Fi): | Пример (отключение Wi-Fi): | ||
<!--T:17--> | |||
<pre> | <pre> | ||
hubpower 1:2 power 4 off | hubpower 1:2 power 4 off | ||
</pre> | </pre> | ||
== Wiren Board Smart Home rev. 3.5 == <!--T:18--> | |||
<!--T:19--> | |||
Номера портов (для управления питанием): | Номера портов (для управления питанием): | ||
<pre> | <pre> |