Отладочный порт в контроллерах Wiren Board
Описание
У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console».
Подключившись к нему, как и в случае SSH подключения, вы превращаете свой компьютер в монитор и клавиатуру контроллера. И получаете доступ к его консоли (командной строке). А в отличие от SSH, вы сможете увидеть информацию, выводимую контроллером на экран при его начальной загрузке.
Нужен этот порт для аварийных ситуаций, когда подключения по сети недоступны. Например, если вы неверно сконфигурировали сеть, и контроллер не может к ней подключиться. Или, если возникла какая-то проблема, мешающая контроллеру нормально загрузиться. Для обычной работы использовать это подключение мы не рекомендуем, используйте веб-интерфейс или SSH.
Подключение
Если у вас контроллер Wiren Board 5.6 и старее, обратитесь к статье .
Подключение выполняется стандартными кабелями, их легко купить. В комплекте с вашим смартфоном может быть такой.
Бывают кабели с такими же разъёмами, но предназначенные только для зарядки — они не подойдут.
Для подключения Wiren Board 7 к компьютеру нужен кабель USB Тип A – USB Тип C.
Для подключения более ранних контроллеров - USB тип A – Micro-USB Тип B.
Самый простой способ проверить, подходит ли кабель для подключения к контроллеру — подключить к компьютеру через этот кабель мобильный телефон. Если компьютер обнаружил новое устройство — кабель можно использовать и для контролера.
Настройка порта, программное обеспечение
Необходимо определить, к какому порту компьютера подключен Wiren Board, и настроить этот порт в соответствии с настройками Debug console.
Параметр | Значение | Описание |
---|---|---|
Baud rate | 115200 | Скорость, бит/с |
Data bits | 8 | Количество битов данных |
Parity | None | Бит чётности |
Stop bits | 1 | Количество стоповых битов |
Hardware flow control | None | Аппаратный контроль потока |
Software flow control | None | Программный контроль потока |
Windows
Подключение и настройка COM порта
Подключение к компьютеру:
- Подключите контроллер Wiren Board к компьютеру через USB-кабель, используя разъем Debug Console.
- Если у вас Windows 10, система автоматически назначит виртуальный COM-порт и установит драйвер.
- Чтобы узнать номер порта, откройте Диспетчер устройств. Нажмите правой кнопкой мыши на Пуск и выберите Диспетчер устройств.
- Найдите раздел Порты (COM и LPT), где будет указан виртуальный COM-порт (например, COM3). Название порта понадобится для дальнейшей настройки.
При использовании Windows XP, 7, 8 скачайте и установите драйвер. Для установки драйвера вам потребуются навыки администрирования ОС Windows. Ссылки на файлы:
- для Wiren Board 6.4 или новее;
- для более ранних версий.
Установка и настройка MobaXterm
Мы рекомендуем использовать MobaXterm для работы с контроллером. Программа обладает широкими возможностями, а бесплатной версии достаточно для большинства задач.
- Скачайте и установите MobaXterm с официального сайта.
- В главном меню выберите Sessions → Serial.
- В поле Serial port укажите COM-порт, определённый ранее в Диспетчере устройств (например, COM3).
- В поле Speed установите значение 115200.
- На вкладке Terminal settings вы можете указать файл для записи лога консоли.
- На вкладке Bookmark settings укажите название сессии.
- Нажмите Ок, запустится окно с консолью подключенной по COM порту.
Подключение к контроллеру через MobaXterm
К одному COM-порту может быть только один активный сеанс. Если уже существует подключение, необходимо завершить его перед началом нового. Не отключайте USB-кабель во время работы. Если кабель будет отключен, соединение разорвётся, и потребуется повторное подключение с полным процессом настройки.
- Перед началом работы убедитесь, что контроллер подключен к компьютеру через Debug Console.
- Выключите контроллер кнопкой.
- Запустите сессию в MobaXterm.
- Включите контроллер кнопкой. Включение контроллера при запущенном сеансе MobaXterm позволит увидеть все данные с момента включения контроллера.
Linux
Порт должен назначиться автоматически. В выводе команды dmesg контроллеров Wiren Board 6.4 или новее должна появиться строка:
cdc_acm:3-6:1.0: ttyACM0: USB ACM device
В более ранних версиях:
usb 1-1: ch341-uart converter now attached to ttyUSB0
Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от того, что у вас подключено к контроллеру.
Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так:
minicom -D /dev/ttyACM0 -b 115200 -8 -a off
Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo.
Более подробно про Minicom смотрите в нашем руководстве.
Linux — возможные проблемы
Сервис ModemManager может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev.
- Создайте файл исключений udev:
sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules
- Добавьте в него строчку:
ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1"
- После сохранения файла перезагрузите правило udev:
sudo udevadm control --reload-rules
В свежих операционных системах Linux может потребоваться отредактировать файл:
/lib/systemd/system/ModemManager.service
Подробности здесь:
ModemManager does not honor blacklisted ttys
SystemD ModemManager: failed to set dtr/rts
MacOS
Если у вас Wiren Board 7 и Mac с USB Тип C на процессоре Intel - нужно отключить питание контроллера, он будет питаться от USB. При наличии питания порт операционной системой не определяется. На более старые Mac и Mac на процессорах Apple эта особенность не распространяется.
Начиная с версии MacOS 10.14 Mojave все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера CH341SER_MAC.
При подключении создается устройство:
Wiren Board 7 | Wiren Board 6.4 и новее | Более ранние |
---|---|---|
/dev/tty.usbmodemWB71 | /dev/tty.usbmodem00001 | /dev/tty.usbserial-1410 |
Встроенная утилита cu позволит вам работать с Debug console:
sudo cu -s 115200 -l /dev/tty.usbserial-1410
Для выхода из cu введите символы
~!
MacOS — возможные проблемы
Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS High Sierra 10.13) нужно дать на это разрешение в Settings → Security&Privacy → Allow apps downloaded from:
И вот хорошая статья - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы.
Android
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG. Тестировалось с приложением USB Serial Console, если ссылка не работает - ищите в Google Play.
Работа с отладочным портом
Итак:
- Контроллер к компьютеру подключен;
- Программа запущена;
- Настройки порта программы соответствуют настройкам порта Debug console.
Теперь можно начинать работу.
Если контроллер исправен
Если контроллер работает нормально — вы будете видеть сообщения, выводимые операционной системой контроллера на консоль. Нажав клавишу ENTER, вы увидите приглашение операционной системы, типа такого:
Debian GNU/Linux 11 wirenboard-AQ4RCD2E ttyS0
wirenboard-AQ4RCD2E login:
Вводите логин, пароль (по умолчанию root/wirenboard) — командная строка в вашем распоряжении. Можете настроить сеть, исправить конфигурационные файлы, посмотреть логи и т. д.
ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода «лишних» сообщений на экран используйте команду dmesg -n1
. Теперь будут выводится только те сообщения, которые требуют немедленного вмешательства.
Логи можно смотреть через Journalctl.
Если контроллер неисправен
Если контроллер нормально не функционирует - отключите питание контроллера выключателем. Для Wiren Board 7 также отключите кабель USB (контроллер получает питание от USB, в обход выключателя). Включите питание контроллера. Начнется загрузка контроллера. Для Wiren Board 7 сначала присоедините кабель (сразу начнется загрузка контроллера), затем включите выключатель (для питания модулей расширения). Наблюдайте сообщения, появляющиеся на экране при загрузке контроллера. Текст меняется быстро, отследить его невозможно. Но, если возникнет критическая ошибка — загрузка остановится, и сообщение об ошибке будет у вас перед глазами.
Пролистывая экран назад вы можете просмотреть все сообщения, выведенные при загрузке. Обращайте внимание на слова error, warning, filed. Не можете сами разобраться — записывайте сеанс в лог файл и обращайтесь в нашу техподдержку.
Физическая реализация в контроллерах
Версия контроллера | Тип разъема | Название разъема | Интерфейс | Чип USB/UART |
---|---|---|---|---|
8.5 | USB-C | USB Debug | USB/UART | HT42B534 |
7.x, 8.4 | 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) | - |
4, 5.3 | 3-pin UART (Gnd, Rx, TX) | Debug UART | UART (3,3B) | - |
2.8, 3.5 | 3-pin UART (Gnd, Rx, TX) | UEXT1 (выводы 2,3,4) и 3-pin разъем без названия | UART (3,3B) | - |
Программно во всех случаях это последовательный порт.
Для Wiren Board 8.5.1 и старше используется один разъём USB-C для функций отладочного порта и USB-сетевой карты (Debug Network). В этих контроллерах чип USB/UART подключен к разъёму через встроенный в контроллер USB-хаб.