7831
правка
Fizikdaos (обсуждение | вклад) |
Fizikdaos (обсуждение | вклад) м (Откат правок Fizikdaos (обсуждение) к версии EvgenyBoger) Метка: откат |
||
Строка 8: | Строка 8: | ||
Контроллеры Wiren Board имеют отладочный порт, через который можно получить прямой доступ к консоли контроллера. Через него можно взаимодействовать с загрузчиком и следить за загрузкой операционной системы (последовательная консоль, serial console). Другие способы подключения к контроллеру: [[Веб-интерфейс Wiren Board | через веб-интерфейс]], [[SSH | по SSH]]. | Контроллеры Wiren Board имеют отладочный порт, через который можно получить прямой доступ к консоли контроллера. Через него можно взаимодействовать с загрузчиком и следить за загрузкой операционной системы (последовательная консоль, serial console). Другие способы подключения к контроллеру: [[Веб-интерфейс Wiren Board | через веб-интерфейс]], [[SSH | по SSH]]. | ||
== Подключение к отладочному порту контроллеров Wiren Board 6, 5.8 и 5.9 == <!--T:104--> | == Физическая реализация порта отладочной консоли == <!--T:105--> | ||
Физически в разных версиях контроллера отладочный порт реализован по разному: | |||
* для версий '''WB 6 и позднее''' он выглядит как Micro-USB разъём (подпись ''Debug Console''); | |||
* для версий '''WB 5.8 и позднее''' он выглядит как Micro-USB разъём (подпись ''Debug Console'' или ''Debug USB''); | |||
* для версий '''WB 5.6 и ранее, до версии 2.8 ''' он выглядит как трёхштыревой разъём (подпись ''Debug UART''). | |||
Программно во всех случаях это последовательный порт. | |||
<!--T:110--> | |||
Варианты реализации отладочной консоли в разных версиях контроллеров перечислены ниже. | |||
=== Реализация отладочной консоли в контроллерах Wiren Board === <!--T:111--> | |||
{| class="wikitable" | |||
! Версия коннтроллера !! Тип разъема !! Название разъема !! Интерфейс !! Чип USB/UART | |||
|- | |||
| 6.4 и старше || microUSB || Debug Console || USB/UART || HT42B534 | |||
|- | |||
| 6.0 — 6.3 || microUSB || Debug Console || USB/UART || CH340 | |||
|- | |||
| 5.8 — 5.9 || microUSB || Debug Console || USB/UART || CH340 | |||
|- | |||
| 5.6.1 || 3-pin UART (Gnd, Rx, Tx) || UART || UART (3,3 В) || — | |||
|- | |||
| 5.3 || 3-pin UART (Tx, Rx, GND) || Debug UART || UART (3,3 В) || — | |||
|- | |||
| 4 || 3-pin UART (Gnd, Rx, Tx) || Debug UART || UART (3,3 В) || — | |||
|- | |||
| 3.5 || 3-pin UART (Gnd, Tx, Rx) || UEXT1 (выводы 2,3,4) и 3-pin разъем без названия || UART (3,3 В) || — | |||
|- | |||
| 2.8 || 3-pin UART (Gnd, Tx, Rx) || UEXT1 (выводы 2,3,4) и 3-pin разъем без названия || UART (3,3 В) || — | |||
|} | |||
== Поддержка в операционных системах == <!--T:3--> | |||
{| class="wikitable" | |||
! Версия контроллера !! Linux !! Windows XP, 7, 8 !! Windows 10 !! MacOS X (High Sierra) !! Android 9 + USB Serial Console | |||
|- | |||
| 6.4 и старше | |||
| Модуль ядра cdc_acm (все новые дистрибутивы — из коробки), смотрите [[#Настройка работы отладочного порта в Linux для WB6.4 и выше| дополнительную информацию по настройке порта]] || Необходим драйвер [http://www.holtek.com/documents/10179/116677/USBBridgeSetup_CA.zip HT42B534] || Из коробки || Из коробки || Из коробки | |||
|- | |||
| 6.0 — 6.3 | |||
| Модуль ядра ch341 (все новые дистрибутивы — из коробки)|| Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || [[http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC.ZIP]] || Из коробки | |||
|- | |||
| 5.8 — 5.9 | |||
| Модуль ядра ch341 (все новые дистрибутивы — из коробки)|| Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER]|| Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || [[http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC.ZIP]] || Из коробки | |||
|- | |||
|} | |||
<!--T:112--> | |||
Для контроллеров версии 5.6.1 и младше требуется переходник USB/UART. См. раздел [[#Подключение к отладочному порту в Wiren Board 5.6 и младше|Подключение к отладочному порту в Wiren Board 5.6 и младше]] | |||
== Подключение к отладочному порту контроллеров Wiren Board 6, Wiren Board 5.8 и Wiren Board 5.9 == <!--T:104--> | |||
[[Файл:Debugusb58.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 5.8 и 5.9]] | |||
[[Файл:WirenBoard6DebugConsole.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 6]] | [[Файл:WirenBoard6DebugConsole.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 6]] | ||
[[Файл:USBA-MICROUSBB.png|250px|thumb|right|Кабель USB — Micro-USB]] | [[Файл:USBA-MICROUSBB.png|250px|thumb|right|Кабель USB — Micro-USB]] | ||
[[Файл:SerialUART_Win.png|250px|thumb|right|Номер порта в Windows]] | [[Файл:SerialUART_Win.png|250px|thumb|right|Номер порта в Windows]] | ||
=== Как найти порт отладочной консоли === | |||
<!--T:113--> | |||
На корпусе напротив разъема порта отладочной консоли находится надпись ''Debug Console''. | На корпусе напротив разъема порта отладочной консоли находится надпись ''Debug Console''. | ||
=== Подключение === <!--T:114--> | |||
<!--T:115--> | <!--T:115--> | ||
Для подключения понадобится стандартный кабель USB — Micro-USB - такой же, как для подключения сотовых телефонов. Более точное название кабеля USB (A) — Micro-USB (B). Разъем USB (А) подключается к компьютеру, Micro-USB (B) — к контроллеру. | |||
<!--T:116--> | <!--T:116--> | ||
Строка 26: | Строка 79: | ||
<!--T:118--> | <!--T:118--> | ||
Внутри контроллера установлен переходник USB-UART. | Внутри контроллера установлен переходник USB-UART; подробнее — в таблице [[ #Реализация отладочной консоли в контроллерах Wiren Board |Реализация отладочной консоли в контроллерах Wiren Board]]. | ||
<!--T:119--> | <!--T:119--> | ||
*'''Linux''': адаптер обычно определяется автоматически, при подключении в выводе команды <code>dmesg</code> должна | *'''Linux''': адаптер обычно определяется автоматически, при подключении в выводе команды <code>dmesg</code> должна появится строка <code>usb 1-1: ch341-uart converter now attached to ttyUSB0</code> или (для версий контроллера 6.4 и старше) <code>cdc_acm:3-6:1.0: ttyACM0: USB ACM device</code>. Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от уже подключенных устройств. Смотрите список файлов в папке /dev/ . Консольный порт контроллеров новых версий 6.4 и старше определяется автоматически как устройство ''/dev/ttyACM0''. Смотрите также раздел [[#Настройка работы отладочного порта в Linux для WB6.4 и выше|Настройка работы отладочного порта в Linux для WB6.4 и выше]]. | ||
<!--T:120--> | <!--T:120--> | ||
*'''Windows''': | *'''Windows''': в зависимости от версии и типа контроллера возможно потребуется установка драйвера (см. таблицу [[#Поддержка в операционных системах|Поддержка в операционных системах]]). В Диспетчере устройств (Device Manager) в разделе Ports(COM&LPT) должен появиться виртуальный COM-порт контроллера. Если не очевидно, какой из портов используется контроллером, можно отсоединить кабель и включить снова. | ||
<!--T:121--> | <!--T:121--> | ||
*'''macOS''': Начиная с High Sierra отладочная консоль контроллеров определяется из коробки | *'''macOS''': Начиная с High Sierra отладочная консоль контроллеров определяется из коробки, предыдущие версии операционной системы, возможно, потребуют установки драйверов. При подключении создается устройство /dev/tty.usbserial-1410 или /dev/tty.usbmodem00001 (для контроллеров версии 6.4 и старше). | ||
<!--T:122--> | <!--T:122--> | ||
*'''Android''': Поздние версии Android при подключении через OTG поддерживают отладочную консоль контроллеров без дополнительных драйверов. Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console]. | *'''Android''': Поздние версии Android при подключении через OTG поддерживают отладочную консоль контроллеров без дополнительных драйверов. Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console]. | ||
=== Настройка работы отладочного порта в Linux для WB6.4 и выше === <!--T:123--> | |||
<!--T:124--> | <!--T:124--> | ||
'''Суть проблемы:''' на некоторых системах процесс ModemManager автоматически открывает устройство ''/dev/ttyACM0''. | |||
Чтобы ModemManager не мешал работе с портом, его | Чтобы ModemManager не мешал работе с портом, необходимо отключить его для данного устройства с помощью правил ''udev''. | ||
<!--T:125--> | <!--T:125--> | ||
* | * Создаем файл исключений ''udev'' | ||
<syntaxhighlight lang="bash"> sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules </syntaxhighlight> | <syntaxhighlight lang="bash"> sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules </syntaxhighlight> | ||
<!--T:126--> | <!--T:126--> | ||
* в который | * в который записываем cтрочку | ||
<syntaxhighlight lang="bash"> ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" </syntaxhighlight> | <syntaxhighlight lang="bash"> ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" </syntaxhighlight> | ||
<!--T:127--> | <!--T:127--> | ||
* После сохранения файла перезагрузить | * После сохранения файла необходимо перезагрузить правила ''udev'': | ||
<syntaxhighlight lang="bash"> sudo udevadm control --reload-rules </syntaxhighlight> | <syntaxhighlight lang="bash"> sudo udevadm control --reload-rules </syntaxhighlight> | ||
Строка 76: | Строка 114: | ||
* В свежих операционных системах может понадобится редактирование файла /lib/systemd/system/ModemManager.service . Подробнее смотрите: https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1827328 и https://nick.zoic.org/art/failed-to-set-dtr-rts-systemd-modemmanager/ | * В свежих операционных системах может понадобится редактирование файла /lib/systemd/system/ModemManager.service . Подробнее смотрите: https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1827328 и https://nick.zoic.org/art/failed-to-set-dtr-rts-systemd-modemmanager/ | ||
<!--T:128--> | |||
Переходите к [[#Настройка работы с последовательным портом | настройке работы с последовательным портом]]. | |||
== Подключение к отладочному порту в Wiren Board 5.6 и младше== <!--T:4--> | |||
=== Как найти штыревой разъем порта отладочной консоли === | |||
<!--T:129--> | |||
<gallery mode="traditional" heights=200 widths=200 style="text-align:left"> | |||
Image:Wb56 uart.jpg|В '''Wiren Board 5.6''' Debug UART выведен на гребенку между разъемами FW и IR. | |||
Image:Wb53 uart.jpg|Debug UART в '''Wiren Board 5.3''' выведен на боковую панель. | |||
Image:WirenBoard4DebugConsole.png|В '''Wiren Board 4''' Debug UART находятся на боковой панели рядом с разъёмами для microSD и microSIM карт. | |||
Image:WB3.5.png|В '''Wiren Board Smart Home rev 3.5''' Debug UART выведен на разъём UEXT1, а также отдельно на гребёнку (рядом с аудиовыходом, см. схему). Для Debug UART используются ножки 2,3,4. | |||
Image:WirenBoard2.8DebugConsole.png| В '''Wiren Board 2.8''' Debug UART dыведен на разъём UEXT1 (чёрный разъём с десятью штырьками на длинной стороне платы). | |||
File:WirenBoard2.8UEXTPINS.png| Расположение выводов UART на разъеме UEXT1 (вид сбоку) | |||
</gallery> | |||
=== Подключение === <!--T:130--> | |||
<!--T:131--> | |||
Для подключения понадобится адаптер USB-UART. | |||
'''Внимание!''' | |||
[[Файл:Duart.jpg|thumb|right|Адаптер USB-UART и набор соединительных проводов]] | |||
<!--T:132--> | |||
* Подключайте Debug UART только через переходники USB-UART с напряжением '''3,3 В'''. | |||
* UART не является синонимом RS-232 (где напряжение на линии может быть 5 В, 12 В и т.д.). Подключение Debug UART к порту RS-232 (или переходнику USB-RS-232) напрямую '''приведет к необратимому повреждению устройства'''. | |||
<!--T:133--> | |||
Подключите адаптер USB-UART к компьютеру, соедините контакты адаптера с контактами (штырьками) отладочного порта на контроллере по схеме: | |||
*GND к GND, | |||
*TX к RX, | |||
*RX к TX. | |||
<!--T:134--> | |||
На некоторых переходниках маркировка перепутана — попробуйте соединить TX с TX и RX с RX. | |||
=== Поддержка переходников USB/UART === <!--T:135--> | |||
<!--T:136--> | |||
Существует большое количество переходников USB/UART, в таблице приводится информация о поддержке в операционных системах переходников с наиболее распространенными чипами. Таблица будет уточняться по мере получения новых данных. | |||
<!--T:137--> | |||
{| class="wikitable" | |||
! Переходник USB/UART (чип) !! Linux !! Windows XP, 7, 8 !! Windows 10 !! MacOS X (High Sierra) !! Android 9 + USB Serial Console | |||
|- | |||
| FTDI232 | |||
| Модуль ядра ftdi_sio || требуют драйверов на ОС из коробки || требуют драйверов на ОС из коробки || Нет информации || Из коробки | |||
|- | |||
| CP2102 | |||
| Модуль ядра cp210x || [https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers Silicon Labs CP210x VCP Driver] || [https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers Silicon Labs CP210x VCP Driver] || [https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers Silicon Labs CP210x VCP Driver] || Из коробки | |||
|- | |||
| CH340/CH341 | |||
| Модуль ядра ch341 || Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || Из коробки || [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC.ZIP] || Из коробки | |||
|- | |||
| PL2303xx | |||
| Модуль ядра pl2303 || необходим драйвер || нет информации || нет информации || нет информации | |||
|} | |||
=== Драйвера адаптеров === <!--T:138--> | |||
<!--T:139--> | |||
*Windows: установите драйвер конкретного адаптера, если он не поддерживается операционной системой. | |||
*Linux: адаптер скорее всего будет сразу поддерживаться ядром, но, возможно, придётся скомпилировать соответствующий модуль. | |||
*macOS: установите драйвер конкретного адаптера, если он не поддерживается операционной системой. | |||
*Android: установите драйвер конкретного адаптера, если он не поддерживается операционной системой. | |||
<!--T:140--> | |||
Переходите к [[#Настройка работы с последовательным портом | настройке работы с последовательным портом]]. | |||
== Настройка работы с последовательным портом == <!--T:7--> | |||
=== Установка программы для работы с последовательным портом === | === Установка программы для работы с последовательным портом === | ||
Строка 83: | Строка 192: | ||
* версия для Linux Debian или Ubuntu - выполните команду ''apt-get install putty'' | * версия для Linux Debian или Ubuntu - выполните команду ''apt-get install putty'' | ||
* версия для macOS и инструкция по установке: [https://www.ssh.com/ssh/putty/mac/ PuTTY for Mac OS X], возможно использование терминального клиента <code>cu</code>, например | * версия для macOS и инструкция по установке: [https://www.ssh.com/ssh/putty/mac/ PuTTY for Mac OS X], возможно использование терминального клиента <code>cu</code>, например | ||
<pre>cu -s 115200 -l /dev/usbmodem00001</pre> | <pre>cu -s 115200 -l /dev/usbmodem00001</pre>. | ||
* Android: используйте, например, [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console]. | * Android: используйте, например, [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console]. | ||
Подойдут также [http://elinux.org/RPi_Serial_Connection другие программы]. | Подойдут также [http://elinux.org/RPi_Serial_Connection другие программы]. | ||
=== Подключение === | <!--T:141--> | ||
Настройки соединения: '''115200 8N1''' (115200 кбит/с, 8 бит, нет бита чётности, один стоп-бит), root/wirenboard. | |||
=== Подключение === <!--T:9--> | |||
<!--T:10--> | |||
#Запустите приложение от имени администратора: | #Запустите приложение от имени администратора: | ||
#* в Windows - щёлкните по значку PuTTY правой кнопкой и выберите ''Run This Program As An Administrator'' | #* в Windows - щёлкните по значку PuTTY правой кнопкой и выберите ''Run This Program As An Administrator'' | ||
#* в Linux - <code>gksu putty</code> | #* в Linux - <code>gksu putty</code> <br /><br /> | ||
#В меню слева выберите последний пункт - ''Serial''. В появившиеся поля справа введите настройки порта: | #В меню слева выберите последний пункт - ''Serial''. В появившиеся поля справа введите настройки порта: | ||
#*название последовательного порта | #*название последовательного порта | ||
#**для Windows - это ''COM4'' ('''цифра может меняться''', см.выше) | #**для Windows - это ''COM4'' ('''цифра может меняться''', см.выше) | ||
#**для Linux - это | #**для Linux - это ''/dev/ttyUSB0'' либо ''/dev/ttyACM0'' (для WB6.4 и выше). '''Цифра может меняться''', см.выше. | ||
#*скорость - ''115200'' | #*скорость - ''115200'' | ||
#*количество битов в посылке - ''8'' | #*количество битов в посылке - ''8'' | ||
Строка 102: | Строка 214: | ||
#*чётность - ''нет'' | #*чётность - ''нет'' | ||
#*контроль потока - ''нет'' <br /><br /> | #*контроль потока - ''нет'' <br /><br /> | ||
#:[[Файл:Putty serial settings.png|500px]] <br /><br /> | |||
#В меню слева выберите первый пункт - ''Session''. Справа переключите тип подключения на Serial - должны автоматически заполниться настройки порта. Затем нажмите ''Open''.<br /><br /> | #В меню слева выберите первый пункт - ''Session''. Справа переключите тип подключения на Serial - должны автоматически заполниться настройки порта. Затем нажмите ''Open''.<br /><br /> | ||
# | #:[[Файл:Putty serial open.png|500px]] <br /><br /> | ||
#*запрос логина - введите ''root'' и нажмите ''Enter'', | #Чтобы проверить, правильно ли вы всё сделали: | ||
#*запрос пароля - введите ''wirenboard'' (вводимые символы не будут отображаться) и нажмите ''Enter''.<br /><br /> | #*для '''Wiren Board 5.8 и старше''': нажмите Enter. Будет предложена авторизация. | ||
<!--T:143--> | |||
#*для '''Wiren Board 5.6 и младше, до версии 2.8 включительно''': кнопкой выключите и включите контроллер - на экране должны появиться сообщения о загрузке. | |||
#**запрос логина - введите ''root'' и нажмите ''Enter'', | |||
#**запрос пароля - введите ''wirenboard'' (вводимые символы не будут отображаться) и нажмите ''Enter''.<br /><br /> | |||
#Появится приветственное сообщение - вы в консоли контроллера. Для перехода в визуальный файловый менеджер введите <code>mc</code>.<br /><br /> | #Появится приветственное сообщение - вы в консоли контроллера. Для перехода в визуальный файловый менеджер введите <code>mc</code>.<br /><br /> | ||
#:[[Файл:Putty serial logged in.png|500px]] | #:[[Файл:Putty serial logged in.png|500px]] | ||
</translate> | </translate> |