16 578
правок
(не показано 14 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Диагностика ошибок в работе контроллера Wiren Board}} | {{DISPLAYTITLE: Диагностика ошибок в работе контроллера Wiren Board}} | ||
[[Image: journalctl — logs.png |400px|thumb|right| Просмотр системного журнала с помощью journalctl]] | [[Image: journalctl — logs.png |400px|thumb|right| Просмотр системного журнала с помощью journalctl]] | ||
[[Image: | [[Image: Web-Configs-2.0 logs.png |400px|thumb|right| Просмотр системного журнала в веб-интерфейсе контроллера Wiren Board]] | ||
== Введение == | == Введение == | ||
Если в работе контроллера Wiren Board возникают ошибки — найти причину поможет анализ системного журнала. | Если в работе контроллера Wiren Board возникают ошибки — найти причину поможет анализ системного журнала. | ||
Строка 9: | Строка 9: | ||
Читать журналы можно двумя способами: | Читать журналы можно двумя способами: | ||
* из консоли с помощью [[journalctl]]. | * из консоли с помощью [[journalctl]]. | ||
* из веб-интерфейса с помощью инструмента [[Wiren Board Web Interface#mqtt-channels | Системный журнал]]. | |||
* из веб-интерфейса с помощью инструмента [[Wiren Board Web Interface# | |||
Цель диагностики — локализовать и устранить неисправность, общий алгоритм: | Цель диагностики — локализовать и устранить неисправность, общий алгоритм: | ||
# Сформулируйте проблему: контроллер перезагружается или не включается, Modbus-устройство работает нестабильно, не работает 4G-модем, не работает веб-интерфейс и т.д. | # Сформулируйте проблему: контроллер перезагружается или не включается, Modbus-устройство работает нестабильно, не работает 4G-модем, не работает веб-интерфейс и т.д. | ||
# Смотрите, есть ли в системном журнале ошибки. Прочитайте разделы [[#Основы|Основы]] и [[#Примеры типовых неисправностей |Примеры типовых неисправностей]] — это даст вам понимание того, как всё устроено и поможет понять, что именно искать. | # Смотрите, есть ли в системном журнале ошибки. Прочитайте разделы [[#Основы|Основы]] и [[#Примеры типовых неисправностей |Примеры типовых неисправностей]] — это даст вам понимание того, как всё устроено и поможет понять, что именно искать. | ||
# Если нашли в журнале ошибки — внимательно прочитайте их, они дадут понимание того, что происходит и кто виноват. Дополнительно поищите упоминание проблемы на | # Если нашли в журнале ошибки — внимательно прочитайте их, они дадут понимание того, что происходит и кто виноват. Дополнительно поищите упоминание проблемы на портале техподдержки, возможно, кто-то уже с ней сталкивался и есть готовое решение. | ||
# Если из текста ошибки и результатов поиска на форуме непонятно, что происходит — проверьте, что вы используете свежую версию ПО. Если это не так — | # Если из текста ошибки и результатов поиска на форуме непонятно, что происходит — проверьте, что вы используете свежую версию ПО. Если это не так — [[Wiren_Board_Software#update| обновите прошивку контроллера]]. | ||
В случае, если вы не смогли самостоятельно определить и устранить причину проблемы, создайте тему на [https://support.wirenboard.com форуме техподдержки]: подробно опишите проблему и приложите записи системного журнала или [[Wiren_Board_Web_Interface# | В случае, если вы не смогли самостоятельно определить и устранить причину проблемы, создайте тему на [https://support.wirenboard.com форуме техподдержки]: подробно опишите проблему и приложите записи системного журнала или [[Wiren_Board_Web_Interface#diagnostic |архив с диагностической информацией]]. Рекомендуем перед созданием темы прочитать [https://support.wirenboard.com/faq Советы по оформлению сообщений]. | ||
Обмен файлами с контроллером можно организовать по протоколу SFTP(SSH File Transfer Protocol), смотрите инструкцию в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | Обмен файлами с контроллером можно организовать по протоколу SFTP(SSH File Transfer Protocol), смотрите инструкцию в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | ||
Строка 27: | Строка 23: | ||
== Основы == | == Основы == | ||
=== Как устроено ПО контроллера === | === Как устроено ПО контроллера === | ||
[[File: | [[File:DebianLinux.png| thumb | 600px | Через [[MQTT]] работают драйверы внутренних функций, внешних устройств, веб-интерфейс, система правил]] | ||
В основе программной архитектуры Wiren Board — MQTT-брокер, в который пишут информацию различные сервисы wb: | В основе программной архитектуры Wiren Board — MQTT-брокер, в который пишут информацию различные сервисы wb: | ||
Строка 52: | Строка 48: | ||
=== Полезные команды === | === Полезные команды === | ||
Команды ниже выполняются в консоли контроллера, подключиться к которой можно через [[SSH]] или [[Debug UART | отладочный порт]]. | Команды ниже выполняются в консоли контроллера, подключиться к которой можно через [[SSH]] или [[Debug UART | отладочный порт]]. | ||
==== Информация о контроллере ==== | |||
Посмотреть, когда был запущен контроллер: | Посмотреть, когда был запущен контроллер: | ||
Строка 96: | Строка 94: | ||
/dev/mmcblk0p6 4.7G 1.1G 3.4G 24% /mnt/data | /dev/mmcblk0p6 4.7G 1.1G 3.4G 24% /mnt/data | ||
tmpfs 50M 0 50M 0% /run/user/0 | tmpfs 50M 0 50M 0% /run/user/0 | ||
</syntaxhighlight> | |||
А так можно узнать, сколько занимают места подкаталоги: | |||
<syntaxhighlight lang="console"> | |||
# du -h --max-depth=1 | |||
6.9M ./.cache | |||
12K ./.ssh | |||
46M ./.npm | |||
328M ./zigbee2mqtt | |||
20K ./.config | |||
16K ./.local | |||
4.0K ./.nano | |||
32K ./tmp | |||
381M . | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 124: | Строка 136: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Проверить статус сервиса и посмотреть его последние 10 сообщений в системном журнале можно командой <code> | ==== Управление сервисами ==== | ||
Проверить статус сервиса и посмотреть его последние 10 сообщений в системном журнале можно командой <code>systemctl status <имя сервиса></code>: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# | # systemctl status wb-mqtt-serial | ||
● wb-mqtt-serial.service - MQTT Driver for serial devices | ● wb-mqtt-serial.service - MQTT Driver for serial devices | ||
Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled) | Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled) | ||
Строка 144: | Строка 157: | ||
Nov 09 10:11:34 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 1 discrete(s) @ 4 of device modbus:58: Serial protocol error: request timed out | Nov 09 10:11:34 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 1 discrete(s) @ 4 of device modbus:58: Serial protocol error: request timed out | ||
Nov 09 10:12:15 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:58: Serial protocol error: request timed out | Nov 09 10:12:15 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:58: Serial protocol error: request timed out | ||
</syntaxhighlight> | |||
Получить список запущенных сервисов и их статусы: | |||
<syntaxhighlight lang="bash"> | |||
systemctl list-units --type=service | |||
</syntaxhighlight> | |||
Управление сервисом: | |||
<syntaxhighlight lang="bash"> | |||
systemctl start <имя сервиса> | |||
systemctl stop <имя сервиса> | |||
systemctl restart <имя сервиса> | |||
</syntaxhighlight> | |||
Включить или выключить автозапуск сервиса: | |||
<syntaxhighlight lang="bash"> | |||
systemctl disable <имя сервиса> | |||
systemctl enable <имя сервиса> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Примеры типовых неисправностей == | == Примеры типовых неисправностей == | ||
=== Контроллер неожиданно стал вести себя странно === | |||
Надо попытаться точно определить, про происходит и отделить внешние проблемы от внутренних: остановить стороннее ПО, отключить подключённые устройства, проверить стабильность питания. | |||
Ещё бывает, что по каким-то причинам кончилось свободное место на eMMC, проверить можно так: | |||
<syntaxhighlight lang="console"> | |||
# df -HT | |||
Filesystem Type Size Used Avail Use% Mounted on | |||
/dev/root ext4 1.1G 859M 98M 90% / | |||
devtmpfs devtmpfs 251M 0 251M 0% /dev | |||
tmpfs tmpfs 260M 0 260M 0% /dev/shm | |||
tmpfs tmpfs 104M 1.2M 103M 2% /run | |||
tmpfs tmpfs 5.3M 0 5.3M 0% /run/lock | |||
/dev/mmcblk0p6 ext4 5.1G 2.0G 2.8G 42% /mnt/data | |||
tmpfs tmpfs 52M 0 52M 0% /run/user/0 | |||
</syntaxhighlight> | |||
Загляните в список известных неисправностей, нет ли там проблем с похожими симптомами: [[WB_6:_Errata|Wiren Board 6: Errata]], [[WB_7:_Errata|Wiren Board 7: Errata]]. | |||
=== Serial-устройства работают нестабильно === | === Serial-устройства работают нестабильно === | ||
Узнать, с каким именно устройством проблемы, можно: | Узнать, с каким именно устройством проблемы, можно: | ||
Строка 207: | Строка 256: | ||
Перед началом диагностики, попробуйте просто перезагрузить страницу с очисткой кэша браузера — часто помогает. Обычно это можно сделать нажатием клавиш <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> или <kbd>Ctrl</kbd>+<kbd>F5</kbd> — комбинация зависит от вашего браузера. | Перед началом диагностики, попробуйте просто перезагрузить страницу с очисткой кэша браузера — часто помогает. Обычно это можно сделать нажатием клавиш <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> или <kbd>Ctrl</kbd>+<kbd>F5</kbd> — комбинация зависит от вашего браузера. | ||
Если это не помогло | Если это не помогло: | ||
* ищите в логах сообщения от ''wb-mqtt-serial'' и ''wb-mqtt-confed''. Особенно интересны сообщения типов ''error'' и ''warning''. | |||
* проверьте файл конфигурации и шаблоны по [[wb-mqtt-serial#Диагностика неполадок | инструкции]]. | |||
=== Контроллер перезагружается === | === Контроллер перезагружается === | ||
Строка 226: | Строка 277: | ||
* индикатор загорается и спустя пару минут начинает мигать зелёным — ОС контроллера загрузилась: попробуйте подключиться к нему по [[SSH]]. Если это удалось, точнее сформулируйте неисправность: не заходит в веб-интерфейс, не работают подключённые устройства и т.п. Потом начинайте диагностику. | * индикатор загорается и спустя пару минут начинает мигать зелёным — ОС контроллера загрузилась: попробуйте подключиться к нему по [[SSH]]. Если это удалось, точнее сформулируйте неисправность: не заходит в веб-интерфейс, не работают подключённые устройства и т.п. Потом начинайте диагностику. | ||
Описание состояний индикатора контроллера смотрите в [[Wiren Board#Индикация этапов загрузки | документации]]. | Описание состояний индикатора контроллера смотрите в [[Wiren Board#Индикация этапов загрузки | документации]]. Если у вас не получилось выяснить причину поломки, создайте тему на [https://support.wirenboard.com портале технической поддержки] и приложите всю собранную информацию. | ||
== Полезные ссылки == | == Полезные ссылки == | ||
* [[Заглавная страница | Документация устройств Wiren Board]] — описание устройств, схемы подключения, инструкции по обновлению и т.п. | * [[Заглавная страница | Документация устройств Wiren Board]] — описание устройств, схемы подключения, инструкции по обновлению и т.п. | ||
* [https://support.wirenboard.com | * [https://support.wirenboard.com Портал технической поддержки] — техподдержка и помощь сообщества. | ||
* [[WB_FAQ| Ответы на часто задаваемые вопросы (FAQ)]] — сборник полезных советов и ссылок. | * [[WB_FAQ| Ответы на часто задаваемые вопросы (FAQ)]] — сборник полезных советов и ссылок. | ||
* [https://translate.google.ru/ Онлайн-переводчик от Google] — если у вас трудности с переводом сообщений журнала, воспользуйтесь переводчиком. | * [https://translate.google.ru/ Онлайн-переводчик от Google] — если у вас трудности с переводом сообщений журнала, воспользуйтесь переводчиком. |