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

(→‎Подключение: Вынес про софт в отдельную статью)
Строка 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 и младше