|
|
(не показано 106 промежуточных версий 3 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Диагностика ошибок в работе контроллера Wiren Board}} | | {{DISPLAYTITLE: Диагностика неисправностей контроллера Wiren Board }} |
| [[Image: journalctl — logs.png |400px|thumb|right| Просмотр системного журнала с помощью journalctl]]
| | {{Draft}} |
| [[Image: Web-Configs-2.0 logs.png |400px|thumb|right| Просмотр системного журнала в веб-интерфейсе контроллера Wiren Board]]
| |
| == Введение == | | == Введение == |
| Если в работе контроллера Wiren Board возникают ошибки — найти причину поможет анализ системного журнала. | | Если в работе контроллера Wiren Board возникают ошибки, то найти причину помогает анализ системного журнала. |
|
| |
|
| В контроллерах Wiren Board используется системный сервис журналов journald, который обрабатывает события на запись в лог и сохраняет их в бинарные файлы. По умолчанию настроена очистка старых сообщений журнала, которая не позволит ему занять всё свободное пространство. | | В контроллерах Wiren Board используется системный сервис журналов journald, который обрабатывает события на запись в лог и сохраняет их в бинарные файлы. По умолчанию настроена очистка старых сообщений журнала, которая не позволит занять ему всё свободное пространство. |
| | |
| | Подробнее про систему логирования в Linux можно почитать в статье на Хабре [https://habr.com/ru/company/ruvds/blog/533918/ Использование journalctl для просмотра и анализа логов] |
|
| |
|
| Читать журналы можно двумя способами: | | Читать журналы можно двумя способами: |
| * из консоли с помощью [[journalctl]]. | | * из консоли с помощью journalctl. |
| * из веб-интерфейса с помощью инструмента [[Wiren Board Web Interface#mqtt-channels | Системный журнал]]. | | {{SupportedSinceRelease |
| | | | release = wb-2110 |
| Цель диагностики — локализовать и устранить неисправность, общий алгоритм:
| | |content= |
| # Сформулируйте проблему: контроллер перезагружается или не включается, Modbus-устройство работает нестабильно, не работает 4G-модем, не работает веб-интерфейс и т.д.
| | * из веб-интерфейса с помощью инструмента Logs, который находится на вкладке Settings. |
| # Смотрите, есть ли в системном журнале ошибки. Прочитайте разделы [[#Основы|Основы]] и [[#Примеры типовых неисправностей |Примеры типовых неисправностей]] — это даст вам понимание того, как всё устроено и поможет понять, что именно искать.
| | }} |
| # Если нашли в журнале ошибки — внимательно прочитайте их, они дадут понимание того, что происходит и кто виноват. Дополнительно поищите упоминание проблемы на портале техподдержки, возможно, кто-то уже с ней сталкивался и есть готовое решение.
| | Если вы хотите обратиться в техподдержку, то вместо копирования сообщений журнала можно [[#Выгрузка данных для отправки в техподдержку | выгрузить архив с диагностической информацией]]. |
| # Если из текста ошибки и результатов поиска на форуме непонятно, что происходит — проверьте, что вы используете свежую версию ПО. Если это не так — [[Wiren_Board_Software#update| обновите прошивку контроллера]].
| |
| | |
| В случае, если вы не смогли самостоятельно определить и устранить причину проблемы, создайте тему на [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|Просмотр файлов контроллера с компьютера]].
| | == Что искать в журнале == |
| | Поиск проблемы — это задача творческая, поэтому универсального рецепта нет. |
|
| |
|
| == Основы ==
| | Сильно поможет понимание [[Wiren_Board_Software|архитектуры ПО контроллера]], где в центре MQTT-брокер, в который пишут информацию различные сервисы wb: |
| === Как устроено ПО контроллера ===
| |
| [[File:DebianLinux.png| thumb | 600px | Через [[MQTT]] работают драйверы внутренних функций, внешних устройств, веб-интерфейс, система правил]] | |
| | |
| В основе программной архитектуры Wiren Board — MQTT-брокер, в который пишут информацию различные сервисы wb:
| |
| * wb-mqtt-adc — драйвер аналоговых входов | | * wb-mqtt-adc — драйвер аналоговых входов |
| * wb-mqtt-dac — драйвер аналоговых выходов | | * wb-mqtt-dac — драйвер аналоговых выходов |
Строка 42: |
Строка 37: |
| * wb-rules — [[wb-rules | движок правил]] | | * wb-rules — [[wb-rules | движок правил]] |
|
| |
|
| Подробнее читайте в статье [[Wiren_Board_Software|Программное обеспечение Wiren Board]].
| | Примеры типовых ситуаций: |
| | | * Контроллер перезагружается без видимых причин — может помочь анализ сообщений ядра (dmesg). |
| На контроллер Wiren Board можно установить ПО сторонних разработчиков, которое может сбоить и блокировать нормальную работу контроллера — помните об этом. В большинстве случаев стороннее программное обеспечение так же оставляет записи в системном журнале.
| | * Проблемы с serial-устройствами, которые подключены через RS-485 — смотрите сообщения драйвера wb-mqtt-serial. |
| | | * Странно работают правила — будут интересны сообщения wb-rules. |
| === Полезные команды ===
| |
| Команды ниже выполняются в консоли контроллера, подключиться к которой можно через [[SSH]] или [[Debug UART | отладочный порт]].
| |
|
| |
|
| ==== Информация о контроллере ====
| | Посмотреть, когда был запущен контроллер, можно командой: |
| | |
| Посмотреть, когда был запущен контроллер: | |
| <syntaxhighlight lang="console"> | | <syntaxhighlight lang="console"> |
| # who -b | | # who -b |
| system boot Nov 4 13:43 | | system boot Nov 4 10:39 |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Узнать, когда контроллер перезагружался:
| | Так же может быть полезным узнать, когда контроллер перезагружался: |
| <syntaxhighlight lang="console"> | | <syntaxhighlight lang="console"> |
| # last -x reboot | | # last -x reboot |
Строка 64: |
Строка 55: |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Посмотреть текущую версию прошивки контроллера:
| | Если вы не смогли самостоятельно определить причину ошибок в работе контроллера, создайте тему на [https://support.wirenboard.com форуме техподдержки] и мы постараемся помочь. |
| <syntaxhighlight lang="console">
| |
| # wb-release
| |
| Wirenboard release wb-2108 (as stable), target wb6/stretch
| |
| </syntaxhighlight>
| |
|
| |
|
| Узнать версию пакета можно с помощью команды <code>apt policy <имя пакета></code>, например, узнаем версию ''wb-mqtt-serial'':
| | == В консоли == |
| <syntaxhighlight lang="console">
| | [[Image: journalctl — logs.png |400px|thumb|right| Просмотр системного журнала с помощью journalctl]] |
| # apt policy wb-mqtt-serial
| | journalctl — это консольный инструмент, поэтому перед вводом команд подключитесь к [[SSH]]. Больше примеров смотрите в статье [[journalctl]]. |
| wb-mqtt-serial:
| |
| Installed: 2.22.1-wb5
| |
| Candidate: 2.22.1-wb5
| |
| Version table:
| |
| *** 2.22.1-wb5 990
| |
| 990 http://deb.wirenboard.com/wb6/stretch stable/main armhf Packages
| |
| 100 /var/lib/dpkg/status
| |
| </syntaxhighlight>
| |
|
| |
|
| Узнать, сколько свободного места на eMMC:
| | Посмотреть сообщения ядра (dmesg): |
| <syntaxhighlight lang="console">
| | <syntaxhighlight lang="bash"> |
| # df -h
| | journalctl -k |
| Filesystem Size Used Avail Use% Mounted on
| |
| /dev/root 976M 581M 329M 64% /
| |
| devtmpfs 240M 0 240M 0% /dev
| |
| tmpfs 248M 0 248M 0% /dev/shm
| |
| tmpfs 248M 584K 248M 1% /run
| |
| tmpfs 5.0M 0 5.0M 0% /run/lock
| |
| tmpfs 248M 0 248M 0% /sys/fs/cgroup
| |
| /dev/mmcblk0p6 4.7G 1.1G 3.4G 24% /mnt/data
| |
| 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 lang="console"> | |
| # top
| |
| top - 08:52:05 up 16:32, 1 user, load average: 0.36, 0.54, 0.60
| |
| Tasks: 96 total, 3 running, 68 sleeping, 0 stopped, 0 zombie
| |
| %Cpu(s): 7.9 us, 3.3 sy, 0.0 ni, 88.5 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
| |
| KiB Mem : 507820 total, 33124 free, 130160 used, 344536 buff/cache
| |
| KiB Swap: 262140 total, 262140 free, 0 used. 398184 avail Mem
| |
| | |
| PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
| |
| 1119 root 20 0 913636 22576 11176 S 2.3 4.4 36:08.75 wb-rules
| |
| 3642 root 20 0 59272 5408 4812 S 1.6 1.1 12:52.91 wb-mqtt-adc
| |
| 14919 root 20 0 5396 2380 1892 R 1.6 0.5 0:00.55 top
| |
| 349 mosquit+ 20 0 8176 5008 3912 S 1.3 1.0 11:31.22 mosquitto
| |
| 1 root 20 0 25728 5060 3704 S 0.7 1.0 3:14.82 systemd
| |
| 1129 root 20 0 62212 8256 5368 S 0.7 1.6 7:12.36 main
| |
| 4262 root 20 0 59320 6180 5580 S 0.7 1.2 4:20.00 wb-mqtt-gpio
| |
| …
| |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Посмотреть, какое ядро загружено:
| | Вывести на экран журнал драйвера wb-mqtt-serial: |
| <syntaxhighlight lang="console">
| |
| # uname -a
| |
| Linux wirenboard-AYXIHFQ6 5.10.35-wb6 #1 Thu Sep 30 00:33:57 UTC 2021 armv7l GNU/Linux
| |
| </syntaxhighlight>
| |
| | |
| ==== Управление сервисами ====
| |
| Проверить статус сервиса и посмотреть его последние 10 сообщений в системном журнале можно командой <code>systemctl status <имя сервиса></code>:
| |
| <syntaxhighlight lang="console">
| |
| # systemctl status wb-mqtt-serial
| |
| ● wb-mqtt-serial.service - MQTT Driver for serial devices
| |
| Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled)
| |
| Active: active (running) since Mon 2021-11-08 22:21:59 +04; 12h ago
| |
| Main PID: 8180 (wb-mqtt-serial)
| |
| CGroup: /system.slice/wb-mqtt-serial.service
| |
| └─8180 /usr/bin/wb-mqtt-serial
| |
| | |
| Nov 09 02:29:54 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 6 coil(s) @ 0 of device modbus:241: Serial protocol error: request timed out
| |
| Nov 09 02:46:10 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 02:46:41 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 1 coil(s) @ 2 of device modbus:58: Serial protocol error: request timed out
| |
| Nov 09 02:53:57 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 6 discrete(s) @ 0 of device modbus:241: Serial protocol error: request timed out
| |
| Nov 09 03:54:33 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 6 discrete(s) @ 0 of device modbus:241: Serial protocol error: request timed out
| |
| Nov 09 05:39:59 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 3 discrete(s) @ 0 of device modbus:111: Serial protocol error: request timed out
| |
| Nov 09 06:50:47 wirenboard-AYXIHFQ6 wb-mqtt-serial[8180]: WARNING: [modbus] failed to read 1 holding(s) @ 0 of device modbus:58: Serial protocol error: request timed out
| |
| Nov 09 08:47:36 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: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
| |
| </syntaxhighlight>
| |
| | |
| Получить список запущенных сервисов и их статусы:
| |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| systemctl list-units --type=service
| | journalctl -u wb-mqtt-serial |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Управление сервисом:
| | Показать предупреждения (<code>-p 4</code>), записанные драйвером wb-mqtt-serial с момента последней загрузки (<code>-b 0</code>): |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| systemctl start <имя сервиса>
| | journalctl -b 0 -p 4 -u wb-mqtt-serial |
| systemctl stop <имя сервиса>
| |
| systemctl restart <имя сервиса>
| |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Включить или выключить автозапуск сервиса:
| | Сохранить журнал сервиса wb-rules в файл: |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| systemctl disable <имя сервиса>
| | journalctl -u wb-rules >> /tmp/log-file.txt |
| systemctl enable <имя сервиса>
| |
| </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> | | </syntaxhighlight> |
| | О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. |
|
| |
|
| Загляните в список известных неисправностей, нет ли там проблем с похожими симптомами: [[WB_6:_Errata|Wiren Board 6: Errata]], [[WB_7:_Errata|Wiren Board 7: Errata]].
| | == В веб-интерфейсе контроллера == |
| | | {{SupportedSinceRelease |
| === Serial-устройства работают нестабильно === | | | release = wb-2110 |
| Узнать, с каким именно устройством проблемы, можно:
| | |content= |
| * в веб-интерфейсе контроллера, на вкладке ''Devices'' — каналы такого устройства будут окрашены красным;
| | [[Image: WebUI 2.0 — logs.png |400px|thumb|right| Просмотр системного журнала в веб-интерфейсе контроллера Wiren Board]] |
| * в сообщениях драйвера ''wb-mqtt-serial'' — ищите ошибки обмена error и warning. Если сообщения об ошибках обмена возникают периодически — повод проверить физическое подключение устройств.
| | Для просмотра системного журнала из веб-интерфейса контроллера, используйте [[Wiren Board Web Interface#logs | инструмент Logs]]. |
| | | }} |
| Если ошибок обмена в сообщениях драйвера нет, но устройство не работает — включите вывод отладочных сообщений. Как это сделать, смотрите в описании драйвера [[wb-mqtt-serial#Включение отладки | wb-mqtt-serial]].
| |
| | |
| После того как вы определились с проблемным устройством — подключите его коротким проводом на отдельный порт RS-485, настройте и добейтесь стабильной работы: проверьте параметры подключения, снизьте скорость обмена, убедитесь, что в устройстве выставлен верный стоп-бит.
| |
| | |
| Диагностика устройств, которые работают по протоколу Mosbus TCP или Modbus Over TCP почти не отличается от тех, что подключены к контроллеру по RS-485. Разница лишь в том, что у вас добавляется ещё одно звено — локальная сеть, через которую подключены устройства.
| |
| | |
| {| class="wikitable" style="max-width:1200px"
| |
| |+ Частые симптомы и методы диагностики
| |
| |-
| |
| ! Порядок проверки
| |
| ! Симптомы
| |
| ! Возможная причина
| |
| ! Диагностика
| |
| |-
| |
| | 1
| |
| | Устройство не работает или работает нестабильно
| |
| | Неверные настройки подключения
| |
| | Проверьте, что настройки порта RS-485 и устройства одинаковые. Если устройство работает нестабильно, обратите внимание на стоп-бит
| |
| |-
| |
| | 2
| |
| | Устройство не работает или работает нестабильно. В системном журнале периодически возникают ошибки обмена
| |
| | Проблемы с шиной RS-485: плохой контакт, обрывы или наводки на шине
| |
| | Подключите устройство коротким проводом напрямую к контроллеру. Если проблема ушла — проверяйте шину RS-485 на отсутствие физических повреждений и соответствие рекомендациям: [[RS-485:Физическое подключение|RS-485:Физическое подключение]]
| |
| |-
| |
| | 3
| |
| | Устройство работает нестабильно, в системном журнале есть ошибки таймаута и ''invalid CRC''
| |
| | На шине два устройства с одинаковыми адресами
| |
| |
| |
| * Физически отключите проблемное устройство от шины, запомните его адрес.
| |
| * Считайте с помощью утилиты [[modbus_client]] один из регистров по тому же адресу. Для устройств Wiren Board удобно считывать регистр 128.
| |
| * Если ответ пришёл — на линии есть двойник. Смените устройствам адреса на свободные.
| |
| |- | |
| | 4 | |
| | Устройство стороннего производителя работает нестабильно | |
| | Проблемы в устройстве | |
| |
| |
| * Подключите устройство на отдельный порт и добейтесь стабильной работы.
| |
| * Верните устройство на шину к другим устройствам.
| |
| * Если проблемы вернулись — производитель устройства не полностью реализовал Modbus-протокол. Решение: использовать устройство на отдельном порту или не использовать его совсем.
| |
| |}
| |
| | |
| === Не работают модули WBIO ===
| |
| Сперва проверьте правильность [[IO_modules | подключения и настройки]].
| |
| | |
| Если модули правильно подключены и настроены, но не работают:
| |
| # В настройках контроллера удалите все модули ввода-вывода.
| |
| # Выключите контроллер и физически отключите от него все модули, кроме одного.
| |
| # Включите контроллер и настройте оставшийся модуль по инструкции.
| |
| # Если модуль появился в веб-интерфейсе на странице ''Devices'' — проверьте его работу.
| |
| | |
| Если подключённый модуль работает без проблем — добавляйте новые модули по одному и не забывайте конфигурировать их в веб-интерфейсе. Дальше у вас или все модули заработают, или вы найдёте тот, который влияет на работу других.
| |
| | |
| === Не открывается страница конфигурации устройств ===
| |
| Перед началом диагностики, попробуйте просто перезагрузить страницу с очисткой кэша браузера — часто помогает. Обычно это можно сделать нажатием клавиш <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#Диагностика неполадок | инструкции]].
| |
| | |
| === Контроллер перезагружается ===
| |
| Контроллер может перезагружаться по ряду причин:
| |
| * Нестабильное питание — просадки напряжения питания ниже допустимого значения могут вызвать перезагрузку.
| |
| * Нехватка места на eMMC.
| |
| * Зависание программ и сервисов — сработает watchdog, которые перезагрузит контроллер.
| |
| * Перезагрузка вызвана пользователем, например, командой <code>shutdown -r now</code>.
| |
| | |
| Сперва стоит проверить качество питания: уровень напряжения, отсутствие «просадок». Попробуйте подключить контроллер к другому блоку питания.
| |
| | |
| Если питание стабильно, то причину перезагрузки ищите в сообщениях watchdog и ядра ОС Linux (dmesg). Если контроллер перезагружается в цикле и вы не можете попасть в консоль, попробуйте [[watchdog | отключить watchdog]].
| |
| | |
| === Контроллер не включается ===
| |
| Здесь нужно определиться, что происходит — подайте питание на контроллер, включите его кнопкой и следите за индикатором:
| |
| * прошла минута, но индикатор не загорается — аппаратная проблема: нет питания, неисправно «железо» контроллера. Если питание в норме и контроллер на гарантии — обратитесь в техподдержку для замены или ремонта.
| |
| * индикатор загорается, но даже через две-три минуты остаётся красного или оранжевого цвета — не загружается ОС: подключитесь к [[Debug UART | отладочному порту]] контроллера, перезагрузите его и смотрите сообщения в консоли.
| |
| * индикатор загорается и спустя пару минут начинает мигать зелёным — ОС контроллера загрузилась: попробуйте подключиться к нему по [[SSH]]. Если это удалось, точнее сформулируйте неисправность: не заходит в веб-интерфейс, не работают подключённые устройства и т.п. Потом начинайте диагностику.
| |
|
| |
|
| Описание состояний индикатора контроллера смотрите в [[Wiren Board#Индикация этапов загрузки | документации]]. Если у вас не получилось выяснить причину поломки, создайте тему на [https://support.wirenboard.com портале технической поддержки] и приложите всю собранную информацию.
| | == Выгрузка данных для отправки в техподдержку == |
| | {{SupportedSinceRelease |
| | | release = wb-2110 |
| | |content= |
| | [[Image: Web-Settings_System-2.0.png |400px|thumb|right| Страница сбора данных для диагностики]] |
| | Если вы не смогли самостоятельно найти причину неисправности и хотите обратиться в техническую поддержку — будет полезным к сообщению приложить архив с диагностической информацией. |
|
| |
|
| == Полезные ссылки ==
| | Файл с данными представляет собой zip-архив, который содержит текстовые файлы с записями из системного журнала и служебной информацией о контроллере. |
| * [[Заглавная страница | Документация устройств Wiren Board]] — описание устройств, схемы подключения, инструкции по обновлению и т.п.
| | }} |
| * [https://support.wirenboard.com Портал технической поддержки] — техподдержка и помощь сообщества.
| |
| * [[WB_FAQ| Ответы на часто задаваемые вопросы (FAQ)]] — сборник полезных советов и ссылок.
| |
| * [https://translate.google.ru/ Онлайн-переводчик от Google] — если у вас трудности с переводом сообщений журнала, воспользуйтесь переводчиком.
| |
Это черновик страницы. Последняя правка сделана 04.11.2021 пользователем A.Degtyarev.
Введение
Если в работе контроллера Wiren Board возникают ошибки, то найти причину помогает анализ системного журнала.
В контроллерах Wiren Board используется системный сервис журналов journald, который обрабатывает события на запись в лог и сохраняет их в бинарные файлы. По умолчанию настроена очистка старых сообщений журнала, которая не позволит занять ему всё свободное пространство.
Подробнее про систему логирования в Linux можно почитать в статье на Хабре Использование journalctl для просмотра и анализа логов
Читать журналы можно двумя способами:
- из консоли с помощью journalctl.
- из веб-интерфейса с помощью инструмента Logs, который находится на вкладке Settings.
Если вы хотите обратиться в техподдержку, то вместо копирования сообщений журнала можно выгрузить архив с диагностической информацией.
Что искать в журнале
Поиск проблемы — это задача творческая, поэтому универсального рецепта нет.
Сильно поможет понимание архитектуры ПО контроллера, где в центре MQTT-брокер, в который пишут информацию различные сервисы wb:
- wb-mqtt-adc — драйвер аналоговых входов
- wb-mqtt-dac — драйвер аналоговых выходов
- wb-mqtt-confed — конфигуратор в WebUI
- wb-mqtt-db — хранение архива данных
- wb-mqtt-gpio — драйвер для работы с GPIO
- wb-mqtt-knx — мост KNX
- wb-mqtt-mbgate — шлюз MQTT-ModbusRTU/TCP
- wb-mqtt-opcua — шлюз MQTT-OPC UA
- wb-mqtt-serial — драйвер для serial-устройств
- wb-mqtt-w1 — драйвер для 1-Wire
Кроме этого, есть сервисы, которые реализуют дополнительные функции:
Примеры типовых ситуаций:
- Контроллер перезагружается без видимых причин — может помочь анализ сообщений ядра (dmesg).
- Проблемы с serial-устройствами, которые подключены через RS-485 — смотрите сообщения драйвера wb-mqtt-serial.
- Странно работают правила — будут интересны сообщения wb-rules.
Посмотреть, когда был запущен контроллер, можно командой:
# who -b
system boot Nov 4 10:39
Так же может быть полезным узнать, когда контроллер перезагружался:
# last -x reboot
reboot system boot 5.10.35-wb6 Thu Nov 4 13:43 still running
reboot system boot 5.10.35-wb6 Thu Nov 4 10:39 still running
Если вы не смогли самостоятельно определить причину ошибок в работе контроллера, создайте тему на форуме техподдержки и мы постараемся помочь.
В консоли
Просмотр системного журнала с помощью journalctl
journalctl — это консольный инструмент, поэтому перед вводом команд подключитесь к SSH. Больше примеров смотрите в статье journalctl.
Посмотреть сообщения ядра (dmesg):
Вывести на экран журнал драйвера wb-mqtt-serial:
journalctl -u wb-mqtt-serial
Показать предупреждения (-p 4
), записанные драйвером wb-mqtt-serial с момента последней загрузки (-b 0
):
journalctl -b 0 -p 4 -u wb-mqtt-serial
Сохранить журнал сервиса wb-rules в файл:
journalctl -u wb-rules >> /tmp/log-file.txt
О том, как скопировать файл с контроллера на компьютер, читайте в статье Просмотр файлов контроллера с компьютера.
В веб-интерфейсе контроллера
Просмотр системного журнала в веб-интерфейсе контроллера Wiren Board
Для просмотра системного журнала из веб-интерфейса контроллера, используйте инструмент Logs.
Выгрузка данных для отправки в техподдержку
Страница сбора данных для диагностики
Если вы не смогли самостоятельно найти причину неисправности и хотите обратиться в техническую поддержку — будет полезным к сообщению приложить архив с диагностической информацией.
Файл с данными представляет собой zip-архив, который содержит текстовые файлы с записями из системного журнала и служебной информацией о контроллере.