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

Материал из Wiren Board
(→‎Подключение: Вынес про софт в отдельную статью)
Строка 6: Строка 6:


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


== Подключение к отладочному порту контроллеров Wiren Board 6, 5.8 и 5.9 == <!--T:104-->
== Подключение к отладочному порту контроллеров Wiren Board 6, 5.8 и 5.9 == <!--T:104-->
[[Файл:WirenBoard6DebugConsole.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 6]]
[[Файл:WirenBoard6DebugConsole.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 6]]
[[Файл:Debugusb58.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 5.8 и 5.9]]
[[Файл:Debugusb58.png|250px|thumb|right|Разъем ''Debug Console'' Wiren Board 5.8 и 5.9]]
[[Файл:USBA-MICROUSBB.png|250px|thumb|right|Кабель USB — Micro-USB]]
[[Файл:USBA-MICROUSBB.png|250px|thumb|right|Кабель USB (A) — Micro-USB (B)]]
[[Файл:SerialUART_Win.png|250px|thumb|right|Номер порта в Windows]]
[[Файл:SerialUART_Win.png|250px|thumb|right|Номер порта в Windows]]


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


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


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


=== Драйвера адаптеров и названия виртуальных COM-портов === <!--T:117-->
=== Драйвера адаптеров и названия виртуальных COM-портов === <!--T:117-->
Строка 29: Строка 31:


<!--T:119-->
<!--T:119-->
*'''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 и выше]].
*'''Linux''': адаптер обычно определяется автоматически, при подключении адаптера в выводе команды <code>dmesg</code> должна появиться строка:
*:<syntaxhighlight lang="bash">
usb 1-1: ch341-uart converter now attached to ttyUSB0
</syntaxhighlight>
*: или, для версий контроллера 6.4 и младше:
*:<syntaxhighlight lang="bash">
cdc_acm:3-6:1.0: ttyACM0: USB ACM device
</syntaxhighlight>
*: Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от уже подключенных устройств. Смотрите список файлов в папке <code>/dev/</code>. Консольный порт контроллеров для версий 6.4 и младше определяется автоматически как устройство <code>/dev/ttyACM0</code>.
*: Смотрите также раздел [[#Настройка работы в Linux для WB6.4 и выше|Настройка работы в Linux для WB6.4 и выше]].


<!--T:120-->
<!--T:120-->
*'''Windows''': может потребоваться установка драйвера (см. [[#Поддержка в операционных системах|Поддержка в операционных системах]]). В Диспетчере устройств в разделе Ports(COM&LPT) появится виртуальный COM-порт контроллера.
*'''Windows''': может потребоваться установка драйвера (см. таблицу [[#os-compatible|Поддержка в операционных системах]]). В Диспетчере устройств в разделе '''Ports(COM&LPT)''' появится виртуальный COM-порт контроллера.


<!--T:121-->
<!--T:121-->
*'''macOS''': Начиная с High Sierra отладочная консоль контроллеров определяется из коробки. Предыдущие версии операционной системы, возможно, потребуют установки драйверов. При подключении создается устройство /dev/tty.usbserial-1410 или /dev/tty.usbmodem00001 (для контроллеров версии 6.4 и младше).
*'''macOS''': начиная с High Sierra отладочная консоль контроллеров определяется из коробки. Предыдущие версии операционной системы, возможно, потребуют установки драйверов. При подключении создается устройство <code>/dev/tty.usbserial-1410</code> или <code>/dev/tty.usbmodem00001</code> (для контроллеров версии 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].
 
<div id="os-compatible"></div>
Поддержка в операционных системах:
{| class="wikitable"
{| class="wikitable"
|+ Поддержка в операционных системах
! Версия <br /> контроллера !! Linux  !! Windows XP, 7, 8 !! Windows 10 !! MacOS X <br />(High Sierra)  !! Android 9 + <br /> USB Serial Console
! Версия <br /> контроллера !! Linux  !! Windows XP, 7, 8 !! Windows 10 !! MacOS X <br />(High Sierra)  !! Android 9 + <br /> USB Serial Console
|-
|-
| 6.4 и младше || Модуль ядра cdc_acm (все новые дистрибутивы — из коробки),
| 6.4 и младше || Модуль ядра cdc_acm (все новые дистрибутивы — из коробки),
смотрите [[#Настройка работы отладочного порта в Linux для WB6.4 и выше| дополнительную информацию по настройке порта]]
смотрите [[#Настройка работы отладочного порта в Linux для WB6.4 и выше| дополнительную информацию по настройке порта]]
| Необходимы inf файлы: [[Медиа:HT42B534_inf.zip]] || Из коробки || Из коробки
| Нужны inf файлы: [[Медиа:HT42B534_inf.zip]] || Из коробки || Из коробки
|rowspan="2" style="text-align:center;"| Из коробки  
|rowspan="2" style="text-align:center;"| Из коробки  
|-
|-
| 6.0 - 6.3 <br /> 5.8 - 5.9,   
| 6.0 - 6.3 <br /> 5.8 - 5.9,   
| Модуль ядра ch341 (все новые дистрибутивы — из коробки)
| Модуль ядра ch341 (все новые дистрибутивы — из коробки)
|colspan="2" style="text-align:center;"| Необходим драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC]
|colspan="2" style="text-align:center;"| Нужен драйвер [http://www.wch.cn/downloads/CH341SER_ZIP.html CH341SER] || [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC]
|-
|-
|}
|}
Строка 57: Строка 68:
=== Настройка работы в Linux для WB6.4 и выше === <!--T:123-->
=== Настройка работы в Linux для WB6.4 и выше === <!--T:123-->


<!--T:124-->
На некоторых системах процесс ''ModemManager'' автоматически открывает устройство <code>/dev/ttyACM0</code>.
На некоторых системах процесс ModemManager автоматически открывает устройство ''/dev/ttyACM0''.
Чтобы ModemManager не мешал работе с портом, его надо отключить для этого устройства с помощью правил '''udev''':
Чтобы ModemManager не мешал работе с портом, его надо отключить для этого устройства с помощью правил ''udev''.
# Создайте файл исключений '''udev''':
 
#:<syntaxhighlight lang="bash"> sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules </syntaxhighlight>
<!--T:125-->
# Добавьте в него строчку:
* Создать файл исключений ''udev'':
#:<syntaxhighlight lang="bash"> ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" </syntaxhighlight>
<syntaxhighlight lang="bash"> sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules </syntaxhighlight>
# После сохранения файла перезагрузите правило '''udev''':
 
#:<syntaxhighlight lang="bash"> sudo udevadm control --reload-rules </syntaxhighlight>
<!--T:126-->
# В свежих операционных системах может понадобиться отредактировать файл <code>/lib/systemd/system/ModemManager.service</code>. Смотрите подробнее по ссылкам: [https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1827328 ModemManager does not honor blacklisted ttys] и [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>
 
<!--T:127-->
* После сохранения файла перезагрузить правило ''udev'':
<syntaxhighlight lang="bash"> sudo udevadm control --reload-rules </syntaxhighlight>
 
<!--T:142-->
* В свежих операционных системах может понадобится редактирование файла /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/


=== Подключение ===  
=== Подключение ===  
Строка 107: Строка 109:


<gallery mode="traditional " widths ="350px" heights="300px">
<gallery mode="traditional " widths ="350px" heights="300px">
Image: Putty serial settings.png | Настройка параметров для подключении к Debug-консоли контроллера в программе [[PuTTY]]
Image: Putty serial settings.png | Настройка параметров для подключения к Debug-консоли контроллера в программе [[PuTTY]]
Image: Putty serial open.png | Открытие сессии в программе [[PuTTY]]
Image: Putty serial open.png | Открытие сессии в программе [[PuTTY]]
Image: Putty serial logged in.png | Приветственное сообщение контроллера при подключении к его Debug-консоли
Image: Putty serial logged in.png | Приветственное сообщение контроллера при подключении к его Debug-консоли
Строка 114: Строка 116:
== Физическая реализация в контроллерах == <!--T:111-->
== Физическая реализация в контроллерах == <!--T:111-->
{| class="wikitable"
{| class="wikitable"
! Версия коннтроллера !! Тип разъема !! Название разъема !! Интерфейс !! Чип USB/UART
! Версия контроллера !! Тип разъема !! Название разъема !! Интерфейс !! Чип USB/UART
|-
|-
| 6.4 и младше  
| 6.4 и младше  

Версия 20:39, 16 августа 2021



Описание

У контроллеров Wiren Board есть отладочный порт, через который можно получить доступ к консоли контроллера. Через него можно взаимодействовать с загрузчиком, следить за загрузкой операционной системы.

Отладочный порт — это инструмент доступа к контроллеру, когда вы не можете подключиться к нему через веб-интерфейс или по SSH. Мы не рекомендуем его для постоянного использования.

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

Разъем Debug Console Wiren Board 6
Разъем Debug Console Wiren Board 5.8 и 5.9
Кабель USB (A) — Micro-USB (B)
Номер порта в Windows

Разъем отладочного порта подписан на корпусе контроллера как Debug Console.

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

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

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

Внутри контроллера установлен переходник USB-UART.

  • 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: может потребоваться установка драйвера (см. таблицу Поддержка в операционных системах). В Диспетчере устройств в разделе Ports(COM&LPT) появится виртуальный COM-порт контроллера.
  • macOS: начиная с High Sierra отладочная консоль контроллеров определяется из коробки. Предыдущие версии операционной системы, возможно, потребуют установки драйверов. При подключении создается устройство /dev/tty.usbserial-1410 или /dev/tty.usbmodem00001 (для контроллеров версии 6.4 и младше).
  • Android: поздние версии Android при подключении через OTG поддерживают отладочную консоль контроллеров без дополнительных драйверов. Тестировалось с приложением USB Serial Console.
Поддержка в операционных системах
Версия
контроллера
Linux Windows XP, 7, 8 Windows 10 MacOS X
(High Sierra)
Android 9 +
USB Serial Console
6.4 и младше Модуль ядра cdc_acm (все новые дистрибутивы — из коробки),

смотрите дополнительную информацию по настройке порта

Нужны inf файлы: Медиа:HT42B534_inf.zip Из коробки Из коробки Из коробки
6.0 - 6.3
5.8 - 5.9,
Модуль ядра ch341 (все новые дистрибутивы — из коробки) Нужен драйвер CH341SER CH341SER_MAC

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

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

  1. Создайте файл исключений udev:
     sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules
    
  2. Добавьте в него строчку:
     ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1"
    
  3. После сохранения файла перезагрузите правило udev:
     sudo udevadm control --reload-rules
    
  4. В свежих операционных системах может понадобиться отредактировать файл /lib/systemd/system/ModemManager.service. Смотрите подробнее по ссылкам: ModemManager does not honor blacklisted ttys и SystemD ModemManager: failed to set dtr/rts.

Подключение

Для подключения к Debug-консоли контроллера используйте параметры из таблицы ниже и одну из программ:

Программы для macOS и Android описаны в статье Работа с последовательным портом.

Параметры подключения к Debug-консоли контроллера Wiren Board
Параметр Значение Описание
Serial Port
  • Windows — COMx
  • Linux — /dev/ttyACM0 или до версии WB6.4 — /dev/ttyUSB0
Подробнее смотрите выше в этой статье
Baud rate 115200 Скорость, бит/с
Data bits 8 Количество битов данных
Parity None Бит чётности
Stop bits 1 Количество стоповых битов
Hardware flow control None Аппаратный контроль потока
Software flow control None Программный контроль потока

Физическая реализация в контроллерах

Версия контроллера Тип разъема Название разъема Интерфейс Чип USB/UART
6.4 и младше Micro-USB Debug Console USB/UART HT42B534
6.0 - 6.3, 5.8 - 5.9 USB/UART CH340
5.6.1 3-pin UART (Gnd, Rx, Tx) UART UART (3,3 В)
5.3, 4 Debug UART
3.5, 2.8 3-pin UART (Gnd, Tx, Rx) UEXT1 (выводы 2,3,4) и 3-pin разъем без названия

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

Отладочный порт в старых версиях

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