Debug Console: различия между версиями

Материал из Wiren Board
(не показано 150 промежуточных версий 9 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Отладочный порт в контроллерах Wiren Board}}
{{DISPLAYTITLE:Отладочный порт}}
== Описание ==
<languages/>
У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console».
<gallery mode="packed" caption="" heights="150px" perrow=1>
Image: WirenBoard7DebugConsole.png | Wiren Board 7.x
Image: WirenBoard6DebugConsole.png | Wiren Board 6.x
Image: Debugusb58.png | Wiren Board 5.8 и 5.9
</gallery>


Подключившись к нему, как и в случае [[SSH | SSH]] подключения, вы превращаете свой компьютер в монитор и клавиатуру контроллера. И получаете доступ к его консоли (командной строке). А в отличие от SSH, вы сможете увидеть информацию, выводимую контроллером на экран при его начальной загрузке.


Нужен этот порт для аварийных ситуаций, когда подключения по сети недоступны. Например, если вы неверно сконфигурировали сеть, и контроллер не может к ней подключиться. Или, если возникла какая-то проблема, мешающая контроллеру нормально загрузиться. Для обычной работы использовать это подключение мы не рекомендуем, используйте [[Веб-интерфейс Wiren Board | веб-интерфейс]] или SSH.
<!--T:100-->
Контроллеры Wiren Board имеют отладочный порт, через который можно получить прямой доступ к консоли контроллера. Через него можно взаимодействовать с загрузчиком и следить за загрузкой операционной системы (последовательная консоль, serial console). Другие способы подключения к контроллеру: [[Веб-интерфейс Wiren Board | через веб-интерфейс]], [[SSH | по SSH]].


== Подключение ==
<!--T:105-->
{{YouTube
== Физическая реализация порта отладочной консоли ==
|link=https://youtu.be/VA_XHrY1RVA?t=135
Физически в разных версиях контроллера отладочный порт реализован по разному:
|text= Про командную строку, SSH и Debug Console}}
* для версий '''WB 6 и позднее''' он выглядит как Micro-USB разъём (подпись ''Debug Console'');
 
* для версий '''WB 5.8 и позднее''' он выглядит как Micro-USB разъём (подпись ''Debug Console'' или ''Debug USB'');
Если у вас контроллер Wiren Board 5.6 и старее, обратитесь к [[WB5.6_Debug_Console| статье ]].
* для версий '''WB 5.6 и ранее''' он выглядит как трёхштыревой разъём (подпись ''Debug UART'').
 
Программно во всех случаях это последовательный порт.
Подключение выполняется стандартными кабелями, их легко купить. В комплекте с вашим смартфоном может быть такой.
 
{{note|warn| Бывают кабели с такими же разъёмами, но предназначенные только для зарядки — они не подойдут. }}
 
Для подключения  '''Wiren Board 7''' к компьютеру нужен кабель '''USB Тип A – USB Тип C'''.
 
Для подключения более ранних контроллеров - '''USB тип A – Micro-USB Тип B'''.


Самый простой способ проверить, подходит ли кабель для подключения к контроллеру — подключить к компьютеру через этот кабель мобильный телефон. Если компьютер обнаружил новое устройство — кабель можно использовать и для контролера.
Варианты реализации отладочной консоли в разных версиях контроллеров перечислены ниже.


== Настройка порта, программное обеспечение ==
=== Реализация отладочной консоли в контроллерах Wiren Board ===
Необходимо определить, к какому порту компьютера подключен Wiren Board, и настроить этот порт в соответствии с настройками Debug console.
{| class="wikitable"
{| border="1" class="wikitable"  
! Версия коннтроллера !! Тип разъема !! Название разъема !! Интерфейс !! Чип USB/UART
|+ Параметры порта Debug console
! Параметр|| Значение || Описание
|-
|-
| 6.4 и старше || microUSB || Debug Console || USB/UART || HT42B534-1
|-
|-
| Baud rate || 115200 ||  Скорость, бит/с
| 6.0 — 6.3  || microUSB || Debug Console || USB/UART || CH340/CH341
|-
|-
| Data bits || 8 || Количество битов данных
| 5.8 — 5.9 || microUSB || Debug Console || USB/UART || CH340/CH341
|-
|-
| Parity || None || Бит чётности
| 5.6.1 || 3-pin UART (Gnd, Rx, Tx) || UART || UART (3,3 В) || —
|-
|-
| Stop bits || 1 || Количество стоповых битов
| 5.3  || 3-pin UART (Tx, Rx, GND) || Debug UART || UART (3,3 В) || —
|-
|-
| Hardware flow control || None || Аппаратный контроль потока
| 4 || 3-pin UART (Gnd, Rx, Tx) || Debug UART || UART (3,3 В) || —
|-
|-
| Software flow control || None || Программный контроль потока
| 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 В) || —
|}
|}


=== Windows ===
<!--T:3-->
Если у вас на компьютере '''Windows 10''', а контроллер '''Wiren Board 6.4 или новее''', то система сама, после физического подключения, назначит виртуальный COM порт и установит необходимый драйвер. Увидеть номер этого порта можно в Диспетчере устройств Windows:
[[Файл:Dispatcher.png|left]]
<br clear="both" />


При использовании '''Windows XP, 7, 8''' скачайте и установите драйвер. Для установки драйвера вам потребуются навыки администрирования ОС Windows, ссылки на файлы:
== Поддержка в операционных системах ==
* для [https://wirenboard.com/wiki/images/3/38/HT42B534_inf.zip Wiren Board 6.4 или новее];
{| class="wikitable"
* для [http://www.wch.cn/downloads/CH341SER_ZIP.html более ранних версий].
! Версия контроллера !! Linux  !! Windows XP, 7, 8 !! Windows 10 !! MacOS X (High Sierra)  !! Android 9 + USB Serial Console
|-
| 6.4 и старше
| Модуль ядра cdc_acm (все новые дистрибутивы — из коробки) || Необходим драйвер [http://www.holtek.com/documents/10179/116677/USBBridgeSetup_CA.zip HT42B534-1] || Из коробки || Из коробки || Из коробки
|-
| 6.0 — 6.3
| Модуль ядра ch341 (все новые дистрибутивы — из коробки)|| Необходим драйвер [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/download/ch341ser_mac_zip.html CH341SER_MAC.ZIP]] || Из коробки
|-
|}


Далее подключайте контроллер, и в Диспетчере устройств Windows вы должны увидеть виртуальный COM порт, как на иллюстрации выше.
Для контроллеров версии 5.6.1 и младше требуется переходник USB/UART. См. раздел [#Подключение к отладочному порту в Wiren Board 5.6 и младше|Подключение к отладочному порту в Wiren Board 5.6 и младше]


В качестве программы для общения с контроллером мы рекомендуем использовать [https://mobaxterm.mobatek.net/ MobaXterm] от компании Mobatek. ЕЕ возможности очень обширны. В платной версии их больше, но для наших целей достаточно и бесплатной версии.
== Подключение к отладочному порту контроллеров Wiren Board 6, Wiren Board 5.8 и Wiren Board 5.9 == <!--T:104-->
[[Файл:Debugusb58.png|250px|thumb|right|Разъем ''Debug Console'']]
[[Файл:USBA-MICROUSBB.png|250px|thumb|right|Кабель USB — Micro-USB]]
[[Файл:SerialUART_Win.png|250px|thumb|right|Номер порта в Windows]]
=== Как найти порт отладочной консоли ===


Нам нужно создать новую сессию '''Sessions''' → '''New session''' → '''Serial''':
На корпусе напротив разъема порта отладочной консоли находится надпись ''Debug Console''.
[[Файл:Sessions.png|left]]
<br clear="both" />


и настроить ее:
=== Подключение ===
[[Файл:Basic.png|left]]
<br clear="both" />


Во вкладке '''Terminal settings''' вы можете настроить шрифт, цвета и, при необходимости, указать файл для записи всего, что будет выводится на экран во время сеанса:
Для подключения понадобится стандартный кабель USB — Micro-USB - такой же, как для подключения сотовых телефонов. Более точное название кабеля USB (A) — Micro-USB (B). Разъем USB (А) подключается к компьютеру, Micro-USB (B) — к контроллеру.
[[Файл:SessionLog.png|left]]
<br clear="both" />


А во вкладке '''Bookmark settings''' укажите внятное название сессии:
Кабели от зарядных устройств подходят, но бывают исключения. Лучше выбирать такие, на которых указано, что они предназначены для передачи данных.
[[Файл:SessionName.png|left]]
Если кабель выбран правильно, Windows сообщит звуком об обнаружении устройства.
<br clear="both" />


=== Linux ===
=== Драйвера адаптеров и названия виртуальных COM-портов ===
Порт должен назначиться автоматически. В выводе команды dmesg контроллеров '''Wiren Board 6.4 или новее''' должна появиться строка:
<syntaxhighlight lang="console">
cdc_acm:3-6:1.0: ttyACM0: USB ACM device
</syntaxhighlight>


В '''более ранних''' версиях:
Внутри контроллера установлен переходник USB-UART; подробнее — в таблице [[ #Реализация отладочной консоли в контроллерах Wiren Board |Реализация отладочной консоли в контроллерах Wiren Board]].
<syntaxhighlight lang="console">
usb 1-1: ch341-uart converter now attached to ttyUSB0
</syntaxhighlight>


Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от того, что у вас подключено к контроллеру.  
*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 и выше]].


Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так:
*Windows: в зависимости от версии и типа контроллера возможно, потребуется установка драйвера (см. таблицу [[#Поддержка в операционных системах|Поддержка в операционных системах]]). В Диспетчере устройств (Device Manager) в разделе Ports(COM&LPT) должен появиться виртуальный COM-порт контроллера. Если не очевидно, какой из портов используется контроллером, можно отсоединить кабель и включить снова.
<syntaxhighlight lang="console">
minicom -D /dev/ttyACM0 -b 115200 -8 -a off
</syntaxhighlight>
Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo.


Более подробно про Minicom смотрите в нашем [[Minicom | руководстве]].
*macOS: Начиная с High Sierra отладочная консоль контроллеров определяется из коробки, предыдущие версии, возможно, потребуют установки драйверов. При подключении создается устройство /dev/tty.usbserial-1410 или /dev/tty.usbmodem00001 (для контроллеров версии 6.4 и старше).


==== Linux — возможные проблемы ====
*Android: Поздние версии Android при подключении через OTG поддерживают отладочную консоль контроллеров без дополнительных драйверов. Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console].
Сервис '''ModemManager''' может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev.  
* Создайте файл исключений udev:
<syntaxhighlight lang="bash">
sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules
</syntaxhighlight>
* Добавьте в него строчку:
<syntaxhighlight lang="bash">
ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1"
</syntaxhighlight>
* После сохранения файла перезагрузите правило udev:
<syntaxhighlight lang="bash">
sudo udevadm control --reload-rules
</syntaxhighlight>


В свежих операционных системах Linux может потребоваться отредактировать файл:
=== Настройка работы отладочного порта в Linux для WB6.4 и выше ===
<syntaxhighlight lang="bash">
/lib/systemd/system/ModemManager.service
</syntaxhighlight>


Подробности здесь:
'''Суть проблемы:''' на некоторых системах процесс ModemManager автоматически открывает устройство ''/dev/ttyACM0''.
Для этого необходимо отключить ModemManager для данного устройства с помощью правил ''udev''.


[https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1827328 ModemManager does not honor blacklisted ttys]
* Создаем файл исключений ''udev''
<syntaxhighlight lang="bash"> sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules </syntaxhighlight>


[https://nick.zoic.org/art/failed-to-set-dtr-rts-systemd-modemmanager SystemD ModemManager: failed to set dtr/rts]
* в который записываем cтрочку
<syntaxhighlight lang="bash"> ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" </syntaxhighlight>


=== MacOS ===
* После сохранения файла необходимо перезагрузить правила ''udev'':
{{note|warn| Если у вас Wiren Board 7 и Mac с USB Тип C на процессоре Intel - нужно отключить питание контроллера, он будет питаться от USB. При наличии питания порт операционной системой не определяется. На более старые Mac и Mac на процессорах Apple эта особенность не распространяется. }}
<syntaxhighlight lang="bash"> sudo udevadm control --reload-rules </syntaxhighlight>


Начиная с версии MacOS '''10.14 Mojave'''  все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC].


При подключении создается устройство:
{|  border="1" class="wikitable"
! Wiren Board 7 || Wiren Board 6.4 и новее || Более ранние
|-
| /dev/tty.usbmodemWB71 || /dev/tty.usbmodem00001 ||  /dev/tty.usbserial-1410
|-
|}


Встроенная утилита cu позволит вам работать с Debug console:
Переходите к [[#Настройка работы с последовательным портом | настройке работы с последовательным портом]].
<syntaxhighlight lang="bash">
sudo cu -s 115200 -l /dev/tty.usbserial-1410
</syntaxhighlight>


Для выхода из cu введите символы
<!--T:108-->
<syntaxhighlight lang="bash">
~!
</syntaxhighlight>


==== MacOS — возможные проблемы ====
== Подключение к отладочному порту в Wiren Board 5.6 и младше== <!--T:4-->
Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS '''High Sierra 10.13''')  нужно дать на это разрешение в <code>Settings → Security&Privacy → Allow apps downloaded from:</code>
=== Как найти порт отладочной консоли ===
[[Файл:Allow.png|left]]
<br clear="both" />


И вот хорошая [https://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html статья] - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы.
<gallery mode="traditional" heights=200 widths=200 style="text-align:left">
 
Image:Wb56 uart.jpg|В '''Wiren Board 5.6''' Debug UART выведен на гребенку между разъемами FW и IR.
=== Android ===
Image:Wb53 uart.jpg|Debug UART в '''Wiren Board 5.3''' выведен на боковую панель.
[[Файл:OTG.png|150px|thumb|right| OTG-кабель]]
Image:WirenBoard4DebugConsole.png|В '''Wiren Board 4''' Debug UART находятся на боковой панели рядом с разъёмами для microSD и microSIM карт.
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG. Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console], если ссылка не работает - ищите в Google Play.
Image:WB3.5.png|В '''Wiren Board Smart Home rev 3.5''' Debug UART выведен на разъём UEXT1, а также отдельно на гребёнку (рядом с аудиовыходом, см. схему). Для Debug UART используются ножки 2,3,4.  
<br clear="both" />
Image:WirenBoard2.8DebugConsole.png| В '''Wiren Board 2.8''' Debug UART dыведен на разъём UEXT1 (чёрный разъём с десятью штырьками на длинной стороне платы).
 
File:WirenBoard2.8UEXTPINS.png| Расположение выводов UART на разъеме UEXT1 (вид сбоку)
== Работа с отладочным портом ==
</gallery>
[[Файл:DebugConsoleWindowLogin.png|500px|thumb|right| Отладочная консоль]]
Итак:
* Контроллер к компьютеру подключен;
* Программа запущена;
* Настройки порта программы соответствуют настройкам порта Debug console.
Теперь можно начинать работу.
 
''' Если контроллер исправен '''  


Если контроллер работает нормально — вы будете видеть сообщения, выводимые операционной системой контроллера на консоль. Нажав клавишу ENTER, вы увидите приглашение операционной системы, типа такого:
=== Подключение ===
<syntaxhighlight lang="console">
Debian GNU/Linux 11 wirenboard-AQ4RCD2E ttyS0


wirenboard-AQ4RCD2E login:
Для подключения понадобится переходник USB-UART.
</syntaxhighlight>
'''Внимание!'''
[[Файл:Duart.jpg|thumb|right|Адаптер USB-UART]]


Вводите логин, пароль ({{Wbincludes:Controller SSH Default Login Password|short=true}}) — командная строка в вашем распоряжении. Можете настроить сеть, исправить конфигурационные файлы, посмотреть логи и т. д.  
* Подключайте Debug UART только через переходники USB-UART с напряжением '''3,3 В'''.
* UART не является синонимом RS-232 (где напряжение на линии может быть 5 В, 12 В и т.д.). Подключение Debug UART к порту RS-232 (или переходнику USB-RS-232) напрямую '''приведет к необратимому повреждению устройства'''.


ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода «лишних» сообщений на экран используйте команду <code>dmesg -n1</code>. Теперь будут выводится только те сообщения, которые требуют немедленного вмешательства.
Подключите адаптер USB-UART к компьютеру, соедините контакты адаптера с контактами (штырьками) отладочного порта на контроллере по схеме:
*GND к GND,
*TX к RX,
*RX к TX.


Логи можно смотреть через [[Journalctl]].
На некоторых переходниках маркировка перепутана — попробуйте соединить TX с TX и RX с RX.  


''' Если контроллер неисправен '''


Если контроллер нормально не функционирует - отключите питание контроллера выключателем.
=== Поддержка переходников USB/UART ===
{{note|info| Для Wiren Board 7 также отключите кабель USB (контроллер получает питание от USB, в обход выключателя). }}
Включите питание контроллера. Начнется загрузка контроллера.
{{note|info| Для Wiren Board 7 сначала присоедините кабель (сразу начнется загрузка контроллера), затем включите выключатель (для питания модулей расширения).}}
Наблюдайте сообщения, появляющиеся на экране при загрузке контроллера. Текст меняется быстро, отследить его невозможно. Но, если возникнет критическая ошибка — загрузка остановится, и сообщение об ошибке будет у вас перед глазами.


Пролистывая экран назад вы можете просмотреть все сообщения, выведенные при загрузке. Обращайте внимание на  слова error, warning, filed. Не можете сами разобраться — записывайте сеанс в лог файл и обращайтесь в нашу техподдержку.
Существует большое количество переходников USB/UART, в таблице приводится информация о поддержке в операционных системах переходников с наиболее распространенными чипами. Таблица будет уточняться по мере получения новых данных.  


== Физическая реализация в контроллерах ==
{| class="wikitable"
{| border="1" class="wikitable"  
! Переходник USB/UART (чип) !! Linux  !! Windows XP, 7, 8 !! Windows 10 !! MacOS X (High Sierra) !! Android 9 + USB Serial Console
! Версия контроллера || Тип разъема || Название разъема || Интерфейс || Чип USB/UART
|-
| 7.x || USB-C || Debug Console || USB/UART || HT42B534
|-
| 6.4-6.9 || Micro-USB ||  Debug Console || USB/UART || HT42B534
|-
| 5.8-6.3 || Micro-USB ||  Debug Console || USB/UART || CH340
|-
|-
| 5.6.1 || 3-pin UART (Gnd, Rx, TX) || UART || UART (3,3B) || -
| FTDI232
| Модуль ядра ftdi_sio || требуют драйверов на ОС из коробки || требуют драйверов на ОС из коробки || Нет информации || Из коробки
|-
|-
| 4, 5.3 || 3-pin UART (Gnd, Rx, TX) || Debug UART || UART (3,3B) || -
| 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] || Из коробки
|-
|-
| 2.8, 3.5 || 3-pin UART (Gnd, Rx, TX) || UEXT1 (выводы 2,3,4) и 3-pin разъем без названия|| UART (3,3B) || -
| 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 || необходим драйвер || нет информации || нет информации  || нет информации
|}
|}
Программно во всех случаях это последовательный порт.
 
 
=== Драйвера адаптеров ===
 
*Windows: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.
*Linux: адаптер скорее всего будет сразу поддерживаться ядром, но, возможно, придётся скомпилировать соответствующий модуль.
*macOS: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.
*Android: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.
 
Переходите к [[#Настройка работы с последовательным портом | настройке работы с последовательным портом]].
 
== Настройка работы с последовательным портом == <!--T:7-->
=== Установка программы для работы с последовательным портом ===
 
<!--T:8-->
Для работы с последовательным портом установите на вашем компьютере подходящую утилиту - например, PuTTY:
* версия для Windows - [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe скачать с официального сайта]
* версия для Linux Debian или Ubuntu - выполните команду ''apt-get install putty''
* версия для macOS и инструкция по установке: [https://www.ssh.com/ssh/putty/mac/ PuTTY for Mac OS X], возможно использование терминального клиента <code>cu</code>.
* Android: используйте, например, [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console]. 
Подойдут также [http://elinux.org/RPi_Serial_Connection другие программы].
 
Настройки соединения: '''115200 8N1''' (115200 кбит/с, 8 бит, нет бита чётности, один стоп-бит), root/wirenboard.
 
=== Подключение === <!--T:9-->
 
<!--T:10-->
#Запустите приложение от имени администратора:
#* в Windows - щёлкните по значку PuTTY правой кнопкой и выберите ''Run This Program As An Administrator''
#* в Linux - <code>gksu putty</code> <br /><br />
#В меню слева выберите последний пункт - ''Serial''. В появившиеся поля справа введите настройки порта:
#*название последовательного порта
#**для Windows - это ''COM4'' ('''цифра может меняться''', см.выше)
#**для Linux - это ''/dev/ttyUSB0'' либо ''/dev/ttyACM0'' (для WB6.4 и выше). '''Цифра может меняться''', см.выше.
#*скорость - ''115200''
#*количество битов в посылке - ''8''
#*количество стоп-битов - ''1''
#*чётность - ''нет''
#*контроль потока - ''нет'' <br /><br />
#:[[Файл:Putty serial settings.png|500px]] <br /><br />
#В меню слева выберите первый пункт - ''Session''. Справа переключите тип подключения на Serial - должны автоматически заполниться настройки порта. Затем нажмите ''Open''.<br /><br />
#:[[Файл:Putty serial open.png|500px]] <br /><br />
#Чтобы проверить, правильно ли вы всё сделали:
#*для Wiren Board 5.6 и младше: кнопкой выключите и включите контроллер - на экране должны появиться сообщения о загрузке.
#*для Wiren Board 5.8 и старше: нажмите Enter. Будет предложена авторизация.
#**запрос логина - введите ''root'' и нажмите ''Enter'',
#**запрос пароля - введите ''wirenboard'' (вводимые символы не будут отображаться) и нажмите ''Enter''.<br /><br />
#Появится приветственное сообщение - вы в консоли контроллера. Для перехода в визуальный файловый менеджер введите <code>mc</code>.<br /><br />
#:[[Файл:Putty serial logged in.png|500px]]

Версия 18:28, 19 декабря 2018



Контроллеры Wiren Board имеют отладочный порт, через который можно получить прямой доступ к консоли контроллера. Через него можно взаимодействовать с загрузчиком и следить за загрузкой операционной системы (последовательная консоль, serial console). Другие способы подключения к контроллеру: через веб-интерфейс, по SSH.

Физическая реализация порта отладочной консоли

Физически в разных версиях контроллера отладочный порт реализован по разному:

  • для версий WB 6 и позднее он выглядит как Micro-USB разъём (подпись Debug Console);
  • для версий WB 5.8 и позднее он выглядит как Micro-USB разъём (подпись Debug Console или Debug USB);
  • для версий WB 5.6 и ранее он выглядит как трёхштыревой разъём (подпись Debug UART).

Программно во всех случаях это последовательный порт.

Варианты реализации отладочной консоли в разных версиях контроллеров перечислены ниже.

Реализация отладочной консоли в контроллерах Wiren Board

Версия коннтроллера Тип разъема Название разъема Интерфейс Чип USB/UART
6.4 и старше microUSB Debug Console USB/UART HT42B534-1
6.0 — 6.3 microUSB Debug Console USB/UART CH340/CH341
5.8 — 5.9 microUSB Debug Console USB/UART CH340/CH341
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 В)


Поддержка в операционных системах

Версия контроллера Linux Windows XP, 7, 8 Windows 10 MacOS X (High Sierra) Android 9 + USB Serial Console
6.4 и старше Модуль ядра cdc_acm (все новые дистрибутивы — из коробки) Необходим драйвер HT42B534-1 Из коробки Из коробки Из коробки
6.0 — 6.3 Модуль ядра ch341 (все новые дистрибутивы — из коробки) Необходим драйвер CH341SER Из коробки [CH341SER_MAC.ZIP] Из коробки
5.8 — 5.9 Модуль ядра ch341 (все новые дистрибутивы — из коробки) Необходим драйвер CH341SER Из коробки [CH341SER_MAC.ZIP] Из коробки

Для контроллеров версии 5.6.1 и младше требуется переходник USB/UART. См. раздел [#Подключение к отладочному порту в Wiren Board 5.6 и младше|Подключение к отладочному порту в Wiren Board 5.6 и младше]

Подключение к отладочному порту контроллеров Wiren Board 6, Wiren Board 5.8 и Wiren Board 5.9

Разъем Debug Console
Кабель USB — Micro-USB
Номер порта в Windows

Как найти порт отладочной консоли

На корпусе напротив разъема порта отладочной консоли находится надпись Debug Console.

Подключение

Для подключения понадобится стандартный кабель USB — Micro-USB - такой же, как для подключения сотовых телефонов. Более точное название кабеля USB (A) — Micro-USB (B). Разъем USB (А) подключается к компьютеру, Micro-USB (B) — к контроллеру.

Кабели от зарядных устройств подходят, но бывают исключения. Лучше выбирать такие, на которых указано, что они предназначены для передачи данных. Если кабель выбран правильно, Windows сообщит звуком об обнаружении устройства.

Драйвера адаптеров и названия виртуальных COM-портов

Внутри контроллера установлен переходник USB-UART; подробнее — в таблице Реализация отладочной консоли в контроллерах Wiren Board.

  • Linux: адаптер обычно определяется автоматически, при подключении в выводе команды dmesg должна появится строка usb 1-1: ch341-uart converter now attached to ttyUSB0 или (для версий контроллера 6.4 и старше) cdc_acm:3-6:1.0: ttyACM0: USB ACM device. Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от уже подключенных устройств. Смотрите список файлов в папке /dev/ . Консольный порт контроллеров новых версий 6.4 и старше определяется автоматически как устройство /dev/ttyACM0. Смотрите также раздел Настройка работы отладочного порта в Linux для WB6.4 и выше.
  • Windows: в зависимости от версии и типа контроллера возможно, потребуется установка драйвера (см. таблицу Поддержка в операционных системах). В Диспетчере устройств (Device Manager) в разделе Ports(COM&LPT) должен появиться виртуальный COM-порт контроллера. Если не очевидно, какой из портов используется контроллером, можно отсоединить кабель и включить снова.
  • macOS: Начиная с High Sierra отладочная консоль контроллеров определяется из коробки, предыдущие версии, возможно, потребуют установки драйверов. При подключении создается устройство /dev/tty.usbserial-1410 или /dev/tty.usbmodem00001 (для контроллеров версии 6.4 и старше).
  • Android: Поздние версии Android при подключении через OTG поддерживают отладочную консоль контроллеров без дополнительных драйверов. Тестировалось с приложением USB Serial Console.

Настройка работы отладочного порта в Linux для WB6.4 и выше

Суть проблемы: на некоторых системах процесс ModemManager автоматически открывает устройство /dev/ttyACM0. Для этого необходимо отключить ModemManager для данного устройства с помощью правил udev.

  • Создаем файл исключений udev
 sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules
  • в который записываем cтрочку
 ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1"
  • После сохранения файла необходимо перезагрузить правила udev:
 sudo udevadm control --reload-rules


Переходите к настройке работы с последовательным портом.


Подключение к отладочному порту в Wiren Board 5.6 и младше

Как найти порт отладочной консоли

Подключение

Для подключения понадобится переходник USB-UART. Внимание!

Адаптер USB-UART
  • Подключайте Debug UART только через переходники USB-UART с напряжением 3,3 В.
  • UART не является синонимом RS-232 (где напряжение на линии может быть 5 В, 12 В и т.д.). Подключение Debug UART к порту RS-232 (или переходнику USB-RS-232) напрямую приведет к необратимому повреждению устройства.

Подключите адаптер USB-UART к компьютеру, соедините контакты адаптера с контактами (штырьками) отладочного порта на контроллере по схеме:

  • GND к GND,
  • TX к RX,
  • RX к TX.

На некоторых переходниках маркировка перепутана — попробуйте соединить TX с TX и RX с RX.


Поддержка переходников USB/UART

Существует большое количество переходников USB/UART, в таблице приводится информация о поддержке в операционных системах переходников с наиболее распространенными чипами. Таблица будет уточняться по мере получения новых данных.

Переходник USB/UART (чип) Linux Windows XP, 7, 8 Windows 10 MacOS X (High Sierra) Android 9 + USB Serial Console
FTDI232 Модуль ядра ftdi_sio требуют драйверов на ОС из коробки требуют драйверов на ОС из коробки Нет информации Из коробки
CP2102 Модуль ядра cp210x Silicon Labs CP210x VCP Driver Silicon Labs CP210x VCP Driver Silicon Labs CP210x VCP Driver Из коробки
CH340/CH341 Модуль ядра ch341 Необходим драйвер CH341SER Из коробки CH341SER_MAC.ZIP Из коробки
PL2303xx Модуль ядра pl2303 необходим драйвер нет информации нет информации нет информации


Драйвера адаптеров

  • Windows: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.
  • Linux: адаптер скорее всего будет сразу поддерживаться ядром, но, возможно, придётся скомпилировать соответствующий модуль.
  • macOS: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.
  • Android: установите драйвер конкретного адаптера, если он не поддерживается операционной системой.

Переходите к настройке работы с последовательным портом.

Настройка работы с последовательным портом

Установка программы для работы с последовательным портом

Для работы с последовательным портом установите на вашем компьютере подходящую утилиту - например, PuTTY:

Подойдут также другие программы.

Настройки соединения: 115200 8N1 (115200 кбит/с, 8 бит, нет бита чётности, один стоп-бит), root/wirenboard.

Подключение

  1. Запустите приложение от имени администратора:
    • в Windows - щёлкните по значку PuTTY правой кнопкой и выберите Run This Program As An Administrator
    • в Linux - gksu putty

  2. В меню слева выберите последний пункт - Serial. В появившиеся поля справа введите настройки порта:
    • название последовательного порта
      • для Windows - это COM4 (цифра может меняться, см.выше)
      • для Linux - это /dev/ttyUSB0 либо /dev/ttyACM0 (для WB6.4 и выше). Цифра может меняться, см.выше.
    • скорость - 115200
    • количество битов в посылке - 8
    • количество стоп-битов - 1
    • чётность - нет
    • контроль потока - нет

    Putty serial settings.png

  3. В меню слева выберите первый пункт - Session. Справа переключите тип подключения на Serial - должны автоматически заполниться настройки порта. Затем нажмите Open.

    Putty serial open.png

  4. Чтобы проверить, правильно ли вы всё сделали:
    • для Wiren Board 5.6 и младше: кнопкой выключите и включите контроллер - на экране должны появиться сообщения о загрузке.
    • для Wiren Board 5.8 и старше: нажмите Enter. Будет предложена авторизация.
      • запрос логина - введите root и нажмите Enter,
      • запрос пароля - введите wirenboard (вводимые символы не будут отображаться) и нажмите Enter.

  5. Появится приветственное сообщение - вы в консоли контроллера. Для перехода в визуальный файловый менеджер введите mc.

    Putty serial logged in.png