wb_editors
902
правки
Ian (обсуждение | вклад) |
Brainroot (обсуждение | вклад) (ERRWB600025) |
||
(не показана 91 промежуточная версия 15 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Wiren Board 6: Errata}} | |||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
__TOC__ | |||
{| class="wikitable" | |||
|- | |||
! | |||
! 6.3 | |||
! 6.4 | |||
! 6.4.1 | |||
! 6.5 | |||
! 6.5.1 | |||
! 6.6.0 | |||
! 6.7.2 | |||
! 6.7.2B | |||
! 6.8.1A | |||
! 6.8.1B | |||
! 6.8.2A/3 | |||
! 6.8.2B | |||
! 6.9.1 | |||
|- | |||
| [[#ERRWB630001|ERRWB630001]] | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB630002|ERRWB630002]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB650003|ERRWB650003]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-yellow" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600004|ERRWB600004]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB640005|ERRWB640005]] | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600006|ERRWB600006]] | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600007|ERRWB600007]] | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600008|ERRWB600008]] | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600009|ERRWB600009]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
|- | |||
| [[#ERRWB600010|ERRWB600010]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600011|ERRWB600011]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600012|ERRWB600012]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600013|ERRWB600013]] | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
|- | |||
| [[#ERRWB600014|ERRWB600014]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600015|ERRWB600015]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600016|ERRWB600016]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600017|ERRWB600017]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
|- | |||
| [[#ERRWB600018|ERRWB600018]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
|- | |||
| [[#ERRWB600019|ERRWB600019]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
|- | |||
| [[#ERRWB600020|ERRWB600020]] | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-red" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600021|ERRWB600021]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
|- | |||
| [[#ERRWB600022|ERRWB600022]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
|- | |||
| [[#ERRWB600023|ERRWB600023]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
| class="cell-green" | | |||
|- | |||
| [[#ERRWB600024|ERRWB600024]] | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
| class="cell-yellow" | | |||
|- | |||
| colspan="14" | | |||
|- | |||
| Легенда | |||
| colspan="10" class="cell-green" | Не подвержено проблеме | |||
|- | |||
| | |||
| colspan="10" class="cell-yellow" | Подвержено проблеме, исправляется обновлением ПО | |||
|- | |||
| | |||
| colspan="10" class="cell-red" | Подвержено проблеме | |||
|} | |||
== ERRWB630001: Зависание контроллера в модификации с аппаратной кнопкой и большим числом модулей ввода-вывода == <!--T:1--> | == ERRWB630001: Зависание контроллера в модификации с аппаратной кнопкой и большим числом модулей ввода-вывода == <!--T:1--> | ||
{{anchor|ERRWB630001}} | |||
'''Подверженные устройства.''' <!--T:2--> | '''Подверженные устройства.''' <!--T:2--> | ||
Строка 40: | Строка 433: | ||
== ERRWB630002: Невозможность обновления с USB-накопителя при подключенном клеммнике A4 == <!--T:14--> | == ERRWB630002: Невозможность обновления с USB-накопителя при подключенном клеммнике A4 == <!--T:14--> | ||
{{anchor|ERRWB630002}} | |||
'''Подверженные устройства''' <!--T:15--> | '''Подверженные устройства''' <!--T:15--> | ||
Строка 68: | Строка 462: | ||
== ERRWB650003: Невозможность обновления с USB-накопителя в ревизии 6.5 == <!--T:25--> | == ERRWB650003: Невозможность обновления с USB-накопителя в ревизии 6.5 == <!--T:25--> | ||
{{anchor|ERRWB650003}} | |||
'''Подверженные устройства''' <!--T:26--> | '''Подверженные устройства''' <!--T:26--> | ||
Строка 86: | Строка 481: | ||
<!--T:33--> | <!--T:33--> | ||
При обновлении прошивки через USB-накопитель следует подать на клеммник A4 напряжение от 5 до | При обновлении прошивки через USB-накопитель следует подать на клеммник A4 напряжение от 5 до 30 В. Для этого, например, можно соединить проводником клеммы A4 и W1 или клеммы A4 и W2. | ||
'''Запланированное исправление''' <!--T:34--> | '''Запланированное исправление''' <!--T:34--> | ||
Строка 95: | Строка 490: | ||
== ERRWB600004: Невозможность обновления с некоторых USB-накопителей == <!--T:36--> | == ERRWB600004: Невозможность обновления с некоторых USB-накопителей == <!--T:36--> | ||
{{anchor|ERRWB600004}} | |||
'''Подверженные устройства''' <!--T:37--> | '''Подверженные устройства''' <!--T:37--> | ||
Строка 131: | Строка 527: | ||
== ERRWB640005: Не работает порт CAN == | == ERRWB640005: Не работает порт CAN == | ||
{{anchor|ERRWB640005}} | |||
'''Подверженные устройства''' | '''Подверженные устройства''' | ||
Строка 143: | Строка 540: | ||
'''Причины и подробное описание''' | '''Причины и подробное описание''' | ||
Ошибка в схемотехнике. Неправильно подключен транзистор для согласования уровней | Ошибка в схемотехнике. Неправильно подключен транзистор для согласования уровней 5 В и 3.3 В. | ||
'''Пути обхода''' | '''Пути обхода''' | ||
Отсутствует. | |||
'''Запланированное исправление''' | '''Запланированное исправление''' | ||
Строка 153: | Строка 550: | ||
Исправлено в версиях начиная с 6.5 | Исправлено в версиях начиная с 6.5 | ||
== ERRWB600006: Перезагрузка модулей Wi-Fi и GSM при слабом сигнале GSM сети | == ERRWB600006: Перезагрузка модулей Wi-Fi и GSM при слабом сигнале GSM сети == | ||
{{anchor|ERRWB600006}} | |||
'''Подверженные устройства''' | '''Подверженные устройства''' | ||
Строка 162: | Строка 560: | ||
'''Описание''' | '''Описание''' | ||
Перезагрузка модулей Wi-Fi и GSM. | Перезагрузка модулей Wi-Fi и GSM при работе в 2G-сетях при большом количестве подключенных модулей расширения. | ||
'''Причины и подробное описание''' | '''Причины и подробное описание''' | ||
При слабом сигнале сети в 2G режиме GSM модем начинает работать на полную мощность, вызывая кратковременные провалы напряжения питания по линии | При слабом сигнале сети в 2G режиме GSM модем начинает работать на полную мощность, вызывая кратковременные провалы напряжения питания по линии 4 В и 3.3 В. Из-за чего перезагружается USB хаб, питающийся от этих линий. При этом отключается всё оборудование, подключенное к USB хабу. В том числе Wi-Fi модуль, GSM модем и всё, что было подключено к порту USB2. После восстановления питания USB хаб включается и работает в обычном режиме. Всё оборудование также подключается к хабу и начинает работать, однако, Wi-Fi модуль при этом может зависнуть. | ||
Перезагрузиться также может приёмопередатчик второго Ethernet-порта, что будет проявляться как пропадание и последующее восстановление линка на интерфейсе eth1. | |||
'''Пути обхода''' | '''Пути обхода''' | ||
Гарантийный ремонт при проявлении проблемы - напаивание | Гарантийный ремонт при проявлении проблемы - напаивание дополнительных конденсаторов по линиям 4 В и 3.3 В. | ||
Программные методы не могут предотвратить перезагрузку модема, Wi-Fi или Ethernet-порта, однако могут предотвратить "зависание" Wi-Fi при такой перезагрузке. | |||
Установка | Установка ядра Linux (пакет linux-image-wb6, версия 4.9+wb20200730165540 или выше), в котором решена проблема зависания wi-fi модуля при перезагрузке USB хаба. | ||
Установка wb-configs версии >= 1.82.3. В этой версии добавлен скрипт, перезапускающий hostapd после старта интерфейса Wlan0 (требуется для нормальной работы wi-fi в режиме точки доступа). | |||
'''Запланированное исправление''' | '''Запланированное исправление''' | ||
Схема питания изменена с версии 6.7. | Схема питания изменена с версии 6.7. | ||
== ERRWB600007: Включение кнопкой с задержкой 10 секунд == | |||
{{anchor|ERRWB600007}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6 в комплектации с кнопкой и все '''rev. 6.7'''. | |||
'''Описание''' | |||
Если выключить кнопкой/переключателем на передней панели и подождать пару минут, то при повторном включении кнопкой контроллер начнет грузиться через примерно 10 сек. | |||
'''Причины и подробное описание''' | |||
Выключение кнопкой приводит аппаратный вотчдог в состояние перед началом цикла вкл/выкл. При включении кнопкой цикл вотчдога начинается с выключения на 10 секунд. | |||
'''Пути обхода''' | |||
Ничего не делать, просто ждать. | |||
'''Запланированное исправление''' | |||
Исправлено в '''rev. 6.8'''. | |||
== ERRWB600008: Открытые транзисторы входов A1-A4 при запуске контроллера == | |||
{{anchor|ERRWB600008}} | |||
'''Подверженные устройства''' | |||
Все Wiren Board 6 до партии '''rev. 6.7'''. | |||
'''Описание''' | |||
При включении контроллера некоторое время (несколько секунд) могут быть открыты или находиться в "полуоткрытом" состоянии каналы A1-A4. При загрузке контроллера каналы закрываются. | |||
Предположительно может вызывать сгорание контроллера, если на канал подключен мощный источник питания, например, аккумулятор. | |||
'''Причины и подробное описание''' | |||
Не подтянуты к земле затворы транзисторов. При включении контроллера GPIO процессора некоторое время находятся в состоянии High Z и транзисторы могут открыться от наводок/токов утечки и т. п. | |||
'''Пути обхода''' | |||
Не подключать на входы А1-А4 нагрузку, если кратковременное открытие канала может привести к токам КЗ или недопустимому поведению. | |||
'''Запланированное исправление''' | |||
Исправлена в партии начиная с v6.7.2B | |||
== ERRWB600009: Трансиверы RS-485 держат шину в передающем состоянии == | |||
{{anchor|ERRWB600009}} | |||
'''Подверженные устройства''' | |||
Все Wiren Board 6 всех ревизий (с прошивкой до wb-2108 включительно). | |||
'''Описание''' | |||
В состоянии idle трансиверы RS-485 (на самом контроллере и на модулях WBE2-I-RS485-ISO) держат шину в передающем состоянии. Если открыть порт (например, в minicom), шина оказывается в принимающем состоянии. | |||
Такое поведение не затрагивает взаимодействие контроллера и Modbus устройств Wiren Board. Проблема возникает, если на шине RS-485 есть другое Master-устройство, которое пытается выполнить опрос, когда на Wiren Board порт в Linux не открыт никаким процессом. Это может случиться, например, в момент перезагрузки Wiren Board. | |||
'''Причины и подробное описание''' | |||
Предположительно из-за реализации UART-блока в процессорах i.MX 6 ножка RTS у трансивера по умолчанию находится в высоком состоянии. Решение проблемы - отдать управление ножкой RTS ядру Linux. | |||
'''Пути обхода''' | |||
Установка ядра Linux версии 5.10. Пакет linux-image-wb6 (версии 5.10.0-wb2 и выше). | |||
'''Запланированное исправление''' | |||
Исправлено в прошивке wb-2110. | |||
== ERRWB600010: Watchdog срабатывает не всегда == | |||
{{anchor|ERRWB600010}} | |||
'''Подверженные устройства''' | |||
Wiren Board партии v6.8.1A | |||
'''Описание''' | |||
Аппаратный таймер watchdog срабатывает не всегда. При остановке процессора по команде Linux halt или из-за зависания программы, таймер может не сработать, перезапуск по питанию не состоится, и контроллер оказывается неработоспособным на неопределенное время. | |||
'''Причины и подробное описание''' | |||
Из-за ошибки в схемотехнике таймер watchdog в платах Wirenboard партии v6.8.1A не срабатывает, если сигнал watchdog_in с процессора остановился в состоянии логической единицы. В нормальном состоянии этот сигнал имеет вид серии импульсов прямоугольной формы со скважностью 1/2, поэтому вероятность отказа watchdog составляет 50%. | |||
'''Пути обхода''' | |||
Это аппаратная ошибка. Планируется программный патч, который должен уменьшить вероятность несрабатывания watchdog на уже произведенных устройствах. | |||
'''Запланированное исправление''' | |||
Ошибка будет исправлена в контроллерах партии v6.8.1B | |||
== ERRWB600011: Watchdog может не работать во влажной среде == | |||
{{anchor|ERRWB600011}} | |||
'''Подверженные устройства''' | |||
Wiren Board партии v6.8.1A. | |||
'''Описание''' | |||
Предположительно, Watchdog может не работать при загрязнении платы во влажной среде. | |||
'''Причины и подробное описание''' | |||
Схема аппаратного таймера watchdog излишне чувствительна к токам утечки, т.е. к загрязнению платы. | |||
'''Пути обхода''' | |||
Отсутствуют. | |||
'''Запланированное исправление''' | |||
Чувствительность схемы к загрязнениям значительно уменьшена в партиях с v6.8.1B. | |||
== ERRWB600012: Перестают работать боковые модули == | |||
{{anchor|ERRWB600012}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6 (6.3-6.7) с версией ядра старше 4.9.22-wb1 (март 2021г.) | |||
'''Описание''' | |||
* Не работают входы и выходы боковых модулей WBIO подключенных к котроллеру. | |||
* Сам контроллер тормозит, процессор сильно загружен | |||
* После перезагрузки контроллер стартует несколько минут | |||
* После перезагрузки контроллера в нём не работает второй порт RS-485 | |||
'''Причины и подробное описание''' | |||
Это поведение вызывает комбинация трёх проблем. | |||
Когда ножка прерывания INT, идущая от боковых модулей WBIO к контроллеру, взведена, то в ядре циклично срабатывает обработчик прерывания, который даёт команду боковым модулям сбросить состояние ножки прерывания. Однако в момент старта ядра Linux (при загрузке) боковые модули ввода-вывода инициализируются по порядку. Если ножку прерывания держит второй по счёту модуль, то после инициализации первого модуля ядро Linux не сможет сбросить состояние прервания, т.к. второй модуль ещё не инициализирован. Непрерываное выполнение обработчика прерывания создаёт нагрузку на процессор, препятствует инициализации второго модуля ввода-вывода, препятствует инициализации периферии, обрабатываемой через dt-overlay (второго порта RS-485). | |||
Ножка прерывания может быть взведена и не сброшена, если, например, удалить из конфигурации подключенный к контроллеру модуль расширения. Если на его входы придут импульсы, это вызовет описанную проблему. Так же импульсы на входы вызовут проблему, если они поступят во время перезагрузки контроллера. | |||
Ещё одна проблема - зависание шины i2c из-за наводок. Если контроллер и модули находятся в шумном окружении, например рядом с ними расположены контакторы, то возникающее электромагнитное поле может вызвать помехи на линии связи контроллера с модулями. В очень редких ситуациях помеха может так испортить данные на линии, что и контроллер, и боковые модули перейдут в бесконечное состояние ожидания и не смогут обмениваться данными. Если в этом время на вход бокового модуля поступит сигнал, то он вызовет срабатывание линии прерывания и описанные выше проблемы. | |||
Наконец, проблему усугубляет аппаратная особенность контроллеров WB6 ревизий 6.3-6.7 включительно: питание модулей ввода-вывода не отключается по кнопке питания и по срабатыванию аппаратного сторожевого таймера. Таким образом, зависшую систему нельзя вывести из этого состояния стандартными способами: перезагрузкой или выключением питания с кнопки. | |||
'''Пути обхода''' | |||
Обновление пакета ядра или прошивки. | |||
'''Дифференциальная диагностика''' | |||
Мы рекомендуем просто обновить прошивку целиком или пакет ядра при подозрении на проблему. Если это невозможно, обратитесь в техподдержку за инструкциями по диагностике. | |||
'''Запланированное исправление''' | |||
Проблема исправлена в пакете ядре Linux в марте 2021 (версии 4.9.22-wb1 и выше) для всех ревизий Wiren Board 6. | |||
В новом ядре прерывания не вызываются несколько раз, даже если линия прерывания взведена. Кроме этого, реализована процедура сброса состояния шины связи, в том случае, если помехи перевели её в состояние ожидания. | |||
В контроллере ревизии 6.8.1 и старше питание боковых модулей ввода-вывода отключается кнопкой и сторожевым таймером. | |||
== ERRWB600013: Кратковременная индикация V_OUT_OK = off в момент отключения выходов Vout == | |||
{{anchor|ERRWB600013}} | |||
'''Подверженные устройства''' | |||
Все Wiren Board 6. | |||
'''Описание''' | |||
При выключении выходов Vout может появиться кратковременная индикация V_OUT_OK = off в веб-интерфейсе, также событие сохраняется в логах контроллера. | |||
'''Причины и подробное описание''' | |||
Избыточный функционал используемой в цепи Vout микросхемы smart switch, изначально задуманный для диагностики обрыва нагрузки в автомобильном применении. Кратковременная диагностика состояния ошибки выдается, когда подана команда отключения, но напряжение на нагрузке еще присутствует из-за того, что не успели разрядиться конденсаторы. В реальности ничего плохого не происходит. | |||
'''Пути обхода''' | |||
Отсутствуют. | |||
== ERRWB600014: Нестабильная работа внутренних устройств на шине USB == | |||
{{anchor|ERRWB600014}} | |||
'''Подверженные устройства''' | |||
Wiren Board партии v6.8.1A. | |||
'''Описание''' | |||
На некоторых устройствах возможна нестабильная работа 3G/4G модема, модуля Wi-Fi и внешних usb-устройств на 2 порту. | |||
'''Причины и подробное описание''' | |||
На партии v6.8.1A (без суффикса /U) оказались напаяны микросхемы USB-хаба с выводами, окисленными вследствие неправильного хранения. Возможен непропай некоторых контактов, который может привести к тому, что модуль Wi-Fi, 3G/4G модем, а также usb-устройства, подключенные ко второму разъему USB, периодически могут «отваливаться» (с ошибками чтения в dmesg и т.д.). Проблема может усиливаться при наличии вибрации. | |||
'''Пути обхода''' | |||
Отсутствуют. | |||
'''Запланированное исправление''' | |||
Нет. Является гарантийным случаем. | |||
== ERRWB600015: Не работает приемопередатчик CAN == | |||
{{anchor|ERRWB600015}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6, партии v6.8.2A/3 и v6.8.2B. | |||
'''Описание''' | |||
Не работает приемопередатчик CAN | |||
'''Причины и подробное описание''' | |||
В вышеперечисленных партиях нет подтяжки к GND пина STB трансивера CAN, из-за чего микросхема постоянно находится в режиме standby - энергопотребление минимизировано, передача отключена, а правильный прием не гарантируется. | |||
'''Пути обхода''' | |||
# Замена по гарантии; | |||
# Напаять резистор ~100 Ом типоразмера 0603/0805 между pin8 U19 и pin5 U18 (с нижней стороны платы) | |||
'''Запланированное исправление''' | |||
Исправлено в v6.8.2B/R и далее | |||
== ERRWB600016: Некорректная работа watchdog == | |||
{{anchor|ERRWB600016}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6, партии v6.8.2A, v6.8.2B. | |||
'''Описание''' | |||
При питании контроллера от 12 вольт не работает аппаратный watchdog, а при питании от 24 Вольт период перезапуска слишком короткий, и при срабатывании watchdogа контроллер не успевает загрузиться и постоянно идет перезагрузка. | |||
'''Причины и подробное описание ''' | |||
Бракованный (поддельный) компаратор U10 watchdog'а. Работает не в полном диапазоне напряжений, из-за чего при питании контроллера от 12 Вольт watchdog не срабатывает совсем, а при питании от 24 Вольт период слишком короткий (6-7 сек) и контроллер не успевает загрузиться и идет циклическая перезагрузка. Однако при первом включении времени достаточно для загрузки. | |||
'''Пути обхода''' | |||
При обычной эксплуатации ошибка себя не проявляет, однако сброс до заводских настроек невозможен при питании от 24В. | |||
Для сброса следует запитать от 12В или аппаратно отключить [[Watchdog|Watchdog]]. | |||
Так же случай считается гарантийным. | |||
'''Запланированное исправление''' | |||
Предположительно плохие компараторы попали только в партии v6.8.2A, v6.8.2B. | |||
== ERRWB600017: Незапланированная перезагрузка контроллера == | |||
{{anchor|ERRWB600017}} | |||
'''Подверженные устройства''' | |||
Все версии Wiren Board 6. | |||
'''Описание''' | |||
При перезапуске сервисов WirenBoard или во время работы wb-rules происходит незапланированная перезагрузка контроллера. Перезагрузка может происходить с периодом в неделю или несколько дней. | |||
'''Причины и подробное описание ''' | |||
Неправильная последовательность операций доступа к памяти приводит к ошибке, которая некорректно обрабатывается в ядре Linux. В результате происходит зависание контроллера, лампочка на контроллере гаснет, все сервисы перестают работать. Работоспособность восстанавливается автоматической перезагрузкой по [[Watchdog|Watchdog]] через 30 секунд. | |||
'''Пути обхода''' | |||
Обновить libwbmqtt1-3 и wb-rules. | |||
'''Запланированное исправление''' | |||
В релизе wb-2201 ошибка исправлена в libwbmqtt1-3 версий 3.5.0-wb1 и wb-rules 2.11.1-wb1. | |||
В более поздних релизах ошибка исправлена в libwbmqtt1-3, начиная с версии 3.7.2, и wb-rules, начиная с версии 2.11.3. | |||
Обновите программное обеспечение контроллера по [[Wiren_Board_6_Firmware_Update | инструкции]]. | |||
== ERRWB600018: Зависание по команде poweroff или halt == | |||
{{anchor|ERRWB600018}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6, партии с v6.8A по 6.9.1A. | |||
'''Описание''' | |||
При применении команды poweroff или halt контроллер не перезагружается по WD, как должен был бы, а зависает. | |||
'''Причины и подробное описание ''' | |||
Процессор переходит в низкопотребляющий режим. При сбросе питания вотчдогом конденсаторы на линии +5 В не успевают разрядиться до конца и при включении питания процессор зависает. | |||
'''Пути обхода''' | |||
Не использовать команды poweroff или halt. При обычной эксплуатации ошибка себя не проявляет. | |||
'''Запланированное исправление''' | |||
Исправлено с партии v6.9.1B | |||
== ERRWB600019: Некорректное измерение напряжения более 14 В == | |||
{{anchor|ERRWB600019}} | |||
'''Подверженные устройства''' | |||
Wiren Board 6 из партий: <br> v6.9.1B, v6.9.1B/2, v6.9.1B/3, v6.9.1B/4, v6.9.1B/5 (512MB RAM) <br> v6.9.1B/1G, v6.9.1B/1G2, v6.9.1B/1G3 (1GB RAM). | |||
'''Описание''' | |||
При измерении напряжения на аналоговых входах А1-А4 для напряжений более 14 В контроллер выдаёт сильно заниженное значение. | |||
'''Причины и подробное описание ''' | |||
Для преобразования поданного на входы А1-А4 напряжения в дискретный сигнал в контроллере установлен операционный усилитель (ОУ). ОУ, установленный в устройства партии v6.9.1B, | |||
имеет неприятную особенность: если разность напряжений между его входами превышает 1В, между входами начинает протекать ток, что приводит к искажению сигнала. В результате напряжения выше 14 В занижаются, и чем больше напряжение, тем больше ошибка. | |||
'''Пути обхода''' | |||
Напряжения до 14 В измеряются корректно. При необходимости измерения больших напряжений требуется подключить внешний делитель напряжения так, чтобы максимальное напряжение на входах А1-А4 не превышало 14 В. К результатам измерений необходимо применить коэффициент делителя напряжений. | |||
'''Запланированное исправление''' | |||
Исправлено в партиях v6.9.1U и v6.9.1U/1G. При использовании входов А1-А4 для измерения напряжения более 14 В устройства ревизии 6.9.1, подверженные ошибке, подлежат гарантийной замене. | |||
== ERRWB600020: Преждевременный выход из строя внутреннего накопителя == | |||
{{anchor|ERRWB600020}} | |||
'''Подверженные устройства''' | |||
Некоторые Wiren Board ревизий 6.1, 6.4.x, 6.5, 6.5.1, 6.6.0, произведённые в 2018 и 2019 году. | |||
Подвержены партии, содержащие следующие трёхзначные коды: 286, 293, 322, 334, 346, 347, 348, 357, 372. | |||
Например: "v6.5A 2G 334 NB-IoT". | |||
Также подвержены некоторые устройства других партий, произведённые в 2018 году. | |||
Проблемную модель eMMC можно определить: по номеру партии, по маркировке чипа (Kingston EMMC04G-W627), а также по коду модели (W62704) в выводе dmesg или консоли при загрузке: | |||
<pre> | |||
[ 1.797481] mmcblk0: mmc0:0001 W62704 3.53 GiB | |||
</pre> | |||
'''Описание''' | |||
Внезапный выход из строя накопителя eMMC с невозможностью записи и, иногда, чтения данных. | |||
Подвержены накопители Kingston EMMC04G-W627. | |||
'''Причины и подробное описание ''' | |||
Проблема диагностируется по специфическим сообщениям в [[WB_Debug_Console|Debug-консоли]] (и dmesg) при загрузке или работе: | |||
<pre> | |||
[ 620.643757] mmc0: Timeout waiting for hardware interrupt. | |||
[ 620.649221] sdhci: =========== REGISTER DUMP (mmc0)=========== | |||
</pre> | |||
При этом система может зависать сама или при попытке записи. Часто первый раз проблема проявляется после обновления прошивки контроллера, видимо из-за записи в процессе обновления большого количества данных на накопитель. | |||
Проблема, судя по всему, вызвана ошибкой в микропрограмме определённой модели eMMC. | |||
'''Пути обхода''' | |||
Пользователям проблемных ревизий рекомендуется обновить ПО и перезагрузить контроллер, чтобы установилось ядро 5.10 или свежее, вместо ядра 4.9, которое поставлялось с контроллерами. По мнению производителя eMMC, новая версия ядра уменьшает вероятность выхода из строя микросхем. | |||
'''Запланированное исправление''' | |||
Другие партии контроллеров Wiren Board 6 и 7 не подвержены этой проблеме, т.к. она вызвана ошибкой в микропрограмме конкретной модели и ревизии чипа eMMC. | |||
Так как подверженные WB6 выходят из строя чаще обычного, гарантия на них продлевается. | |||
Вышедшие из строя контроллеры подлежат гарантийной замене на свежие Wiren Board 7. | |||
== ERRWB600021: Разрастается файл /var/lib/mosquitto/mosquitto.db и не запускается сервис mosquitto == | |||
{{Anchor|ERRWB600021}} | |||
'''Подверженные устройства''' | |||
Все контроллеры Wiren Board 6. | |||
{{Wbincludes:WB6...7: Errata, Mosquitto 1.4 Persistence File}} | |||
== ERRWB600022: Ошибка при обновлении Could not resolve deb.debian.org == | |||
{{anchor|ERRWB600022}} | |||
'''Подверженные устройства''' | |||
Все контроллера Wiren Board 6. | |||
{{Wbincludes:WB6...7: Errata, Stretch Archive Repo}} | |||
'''Исправление''' | |||
Контроллеры Wiren Board 6 сняты с производства, исправление не планируется. Всем пользователям надо просто выполнить инструкцию из раздела Пути обхода. | |||
== ERRWB600023: Серийный номер в системе не совпадает с наклейкой == | |||
{{anchor|ERRWB600023}} | |||
'''Подверженные устройства''' | |||
Версии Wiren Board 6 с модемом; до Wiren Board 6.7. | |||
'''Описание''' | |||
При обновлении с factoryreset на stable (wb-2304 и wb-2307), serial-number контроллера меняется и не совпадает с указанным на наклейке. | |||
'''Причины и подробное описание ''' | |||
Причина - некорректная работа утилиты wb-gen-serial в части получения imei модема в связи с переходом на python3. Утилита некорректно обрабатывает правильный imei модема, что и приводит к генерации серийного номера, отличного от указанного на наклейке. | |||
'''Пути обхода (два способа)''' | |||
Обновить ПО контроллера, выполнить перегенерацию серийного номера вручную: | |||
<pre> | |||
apt update; apt upgrade -y | |||
rm /var/lib/wirenboard/short_sn.conf; /usr/lib/wb-utils/prepare/wb-prepare.sh fix_short_sn; reboot | |||
</pre> | |||
Или сделать [[Wiren_Board_6_Firmware_Update | factoryreset]] свежим [https://fw-releases.wirenboard.com/fit_image/stable/6x/latest.fit stable] (данные сотрутся!) | |||
'''Запланированное исправление''' | |||
Исправили; бекпортировали исправление в wb-2304 и wb-2307. | |||
== ERRWB600024: Контроллеры не обновляются FIT-файлами с ошибкой в логе «no proper DTB found» == | |||
{{anchor|ERRWB600024}} | |||
'''Подверженные устройства''' | |||
Все контроллеры Wiren Board 6, на которых установлен релиз wb-2304 или более старые. | |||
'''Описание''' | |||
Попытка обновить контроллер FIT-файлом (stable или testing), выпущенным в диапазоне дат с 13.11.2023 года по 18.03.2024, завершается ошибкой <code>fw_has_proper_dtb: command not found</code> и <code>Firmware is not compatible with this device, no proper DTB found.</code> | |||
'''Причины и подробное описание''' | |||
Проблема связана с тем что в указанном диапазоне дат выпускались FIT-файлы, которые были в состоянии запускаться только на контроллера с релизом wb-2307 и более поздними. Находящийся внутри FIT-файлов сценарий обновления ожидал наличия функции <code>fw_has_proper_dtb</code> в файле <code>wb-run-update</code> на самом контроллере (при обновлении через web-интерфейс) и в хранящемся на контроллере файле factoryreset.fit (при обновлении или сбросе с перезагрузкой). Начиная с 19.03.2024 выпускаемые FIT-файлы не имеют этой проблемы (код функции <code>fw_has_proper_dtb</code> интегрирован в сценарий обновления внутри FIT-файла). | |||
'''Пути обхода''' | |||
Обновление контроллера [https://wirenboard.com/wiki/Wiren_Board_6_Firmware_Update#Обновление_в_консоли_через_apt через apt], либо использование FIT-файлов, выпущенных с 19.03.2024 и далее. | |||
'''Исправление''' | |||
Использовать для обновления fit-файлы stable ([https://fw-releases.wirenboard.com/?prefix=fit_image/stable/6x/ 6.3–6.6.0], [https://fw-releases.wirenboard.com/?prefix=fit_image/stable/67/ 6.7.x–6.9.x]) или testing ([https://fw-releases.wirenboard.com/?prefix=fit_image/testing/6x/ 6.3–6.6.0], [https://fw-releases.wirenboard.com/?prefix=fit_image/testing/67/ 6.7.x–6.9.x]), выпущенные начиная с 19.03.2024, например, последний стабильный FIT ([https://fw-releases.wirenboard.com/fit_image/stable/6x/latest.fit 6.3–6.6.0], [https://fw-releases.wirenboard.com/fit_image/stable/67/latest.fit 6.7.x–6.9.x]) или последний тестовый FIT ([https://fw-releases.wirenboard.com/fit_image/testing/6x/latest.fit 6.3–6.6.0], [https://fw-releases.wirenboard.com/fit_image/testing/67/latest.fit 6.7.x–6.9.x]) | |||
== ERRWB600025: долгий запуск сервиса wb-mqtt-gpio == | |||
{{anchor|ERRWB600025}} | |||
'''Подверженные устройства''' | |||
Версии Wiren Board 6.3 - 6.6 с WBIO модулями; до Wiren Board 6.7. | |||
'''Описание''' | |||
После старта контроллера сервис wb-mqtt-gpio не запускается в течении долгого времени | |||
'''Причины и подробное описание ''' | |||
Причина - загрузка CPU одновременно стартующиими сервисами что вызывает срабатывание timeout в initd. | |||
'''Пути обхода''' | |||
Создать /lib/systemd/system/wb-mqtt-gpio.service.d/increase-timeout.conf | |||
с содержимым | |||
<pre> | |||
[Service] | |||
TimeoutStartSec=160 | |||
RestartSec=60 | |||
</pre> | |||
'''Запланированное исправление''' | |||
пока не запланировано |