Difference between revisions of "WB 6: Errata"

From Wiren Board
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>


== ERRWB630001: Зависание контроллера в модификации с аппаратной кнопкой и большим числом модулей ввода-вывода == <!--T:1-->
== ERRWB630001: Зависание контроллера в модификации с аппаратной кнопкой и большим числом модулей ввода-вывода == <!--T:1-->

Revision as of 19:04, 27 August 2021

Other languages:



ERRWB630001: Зависание контроллера в модификации с аппаратной кнопкой и большим числом модулей ввода-вывода

Подверженные устройства.

Wiren Board 6 rev. 6.3

Описание

При подключенных трех и более боковых модулях ввода-вывода, контроллер зависает при включении кнопкой на корпусе. Аппаратный вотчдог при этом также не помогает.

Причины и подробное описание

Микросхемы MCP23008 и MCP23017 в боковых модулях по умолчанию включают пин INT в режим пуш-пулл с высоким состоянием.

Инициализация пина в режим "открытый коллектор" происходит позже, при загрузке модуля wb-hwconf-manager.

Поэтому три и более модуля выдают достаточно тока для паразитного питания процессора через линию INT на боковом разъеме, когда процессор выключен. Паразитное питание через линии GPIO может приводить к зависанию и "защёлкиванию" процессора i.MX 6ULL из-за аппаратных особенностей серии i.MX 6.

Пути обхода

Не использовать кнопку питания с >2 модулями ввода-вывода

Запланированное исправление

Исправлено в rev. 6.4

ERRWB630002: Невозможность обновления с USB-накопителя при подключенном клеммнике A4

Подверженные устройства

Wiren Board 6 rev. 6.3, 6.4, 6.4.1

Описание

Если на клеммник A4 контроллера во время загрузки подано напряжение, соответствующее логической единице (т.е. напряжение от 3В и выше), то контроллер не обнаруживает USB-накопитель с обновлением прошивки.

Причины и подробное описание

Загрузчик ошибочно конфигурирует первый USB-порт контроллера в режиме OTG. Режим работы порта USB при этом управляется той же ножкой процессора, к которой подключен вход A4.

Пути обхода

При обновлении прошивки через USB-накопитель следует отключить провод от клеммы A4, либо снять клеммный блок целиком.

Запланированное исправление

Исправлено в загрузчике начиная с версии 1.0.0. Обновление загрузчика производится по запросу в офисе Wiren Board, обновление не считается гарантийным случаем.

ERRWB650003: Невозможность обновления с USB-накопителя в ревизии 6.5

Подверженные устройства

Wiren Board 6 rev. 6.5

Описание

Контроллер не обнаруживает USB-накопитель с обновлением прошивки.

Причины и подробное описание

Загрузчик ошибочно конфигурирует первый USB-порт контроллера в режиме OTG. Режим работы порта USB при этом управляется той же ножкой процессора, к которой подключен вход A4.

Пути обхода

При обновлении прошивки через USB-накопитель следует подать на клеммник A4 напряжение от 5 до 30 В. Для этого, например, можно соединить проводником клеммы A4 и W1 или клеммы A4 и W2.

Запланированное исправление

Исправлено в загрузчике начиная с версии 1.0.0, в устройствах отгруженных после 2019-03-10. Обновление загрузчика производится по запросу в офисе Wiren Board или удалённо.

ERRWB600004: Невозможность обновления с некоторых USB-накопителей

Подверженные устройства

Wiren Board 6 всех аппаратных ревизий

Описание

Контроллер обнаруживает USB-накопитель с обновлением прошивки, но после нажатия на кнопку для подтверждения обновления, обновление не происходит. В отладочную консоль выводятся ошибки:

EHCI timed out on TD - token=0x2e008d80
EHCI timed out on TD - token=0xae008d80
EHCI timed out on TD - token=0xae008d80
Error reading cluster
** Unable to read file wb6_update_FACTORYRESET.fit **
Read failed: -1

Причины и подробное описание

Загрузчик не обрабатывает специальным образом нестабильно работающие контроллеры некоторых флеш-накопителей.

Пути обхода

Использовать USB-накопитель другой модели.

Запланированное исправление

Исправлено в загрузчике начиная с версии 1.0.1, в устройствах отгруженных начиная с 2019-04. Обновление загрузчика производится по запросу в офисе Wiren Board или удалённо.

ERRWB640005: Не работает порт CAN

Подверженные устройства

Wiren Board 6 rev. 6.4, 6.4.1

Описание

Не работает порт CAN на передачу данных.

Причины и подробное описание

Ошибка в схемотехнике. Неправильно подключен транзистор для согласования уровней 5 В и 3.3 В.

Пути обхода

Использовать модуль расширения CAN-ISO.

Запланированное исправление

Исправлено в версиях начиная с 6.5

ERRWB600006: Перезагрузка модулей Wi-Fi и GSM при слабом сигнале GSM сети

Подверженные устройства

Wiren Board 6 все до rev. 6.6 включительно.

Описание

Перезагрузка модулей Wi-Fi и GSM при работе в 2G-сетях при большом количестве подключенных модулей расширения.

Причины и подробное описание

При слабом сигнале сети в 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.

ERRWB600007: Включение кнопкой с задержкой 10 секунд

Подверженные устройства

Wiren Board 6 в комплектации с кнопкой и все rev. 6.7.

Описание

Если выключить кнопкой/переключателем на передней панели и подождать пару минут, то при повторном включении кнопкой контроллер начнет грузиться через примерно 10 сек.

Причины и подробное описание

Выключение кнопкой приводит аппаратный вотчдог в состояние перед началом цикла вкл/выкл. При включении кнопкой цикл вотчдога начинается с выключения на 10 секунд.

Пути обхода

Ничего не делать, просто ждать.

Запланированное исправление

Исправлено в rev. 6.8.

ERRWB600008: Открытые транзисторы входов A1-A4 при запуске контроллера

Подверженные устройства

Все Wiren Board 6 до партии rev. 6.7.

Описание

При включении контроллера некоторое время (несколько секунд) могут быть открыты или находиться в "полуоткрытом" состоянии каналы A1-A4. При загрузке контроллера каналы закрываются.

Предположительно может вызывать сгорание контроллера, если на канал подключен мощный источник питания, например, аккумулятор.

Причины и подробное описание

Не подтянуты к земле затворы транзисторов. При включении контроллера GPIO процессора некоторое время находятся в состоянии High Z и транзисторы могут открыться от наводок/токов утечки и т. п.

Пути обхода

Не подключать на входы А1-А4 нагрузку, если кратковременное открытие канала может привести к токам КЗ или недопустимому поведению.

Запланированное исправление

Исправлена в партии начиная с v6.7.2B

ERRWB600009: Трансиверы RS-485 держат шину в передающем состоянии

Подверженные устройства

Все Wiren Board 6 всех ревизий.

Описание

В состоянии 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 и выше). Для этого необходимо переключиться на Testing релиз.

Запланированное исправление

Исправлена в ядре Linux (пакет linux-image-wb6 версии 5.10.0-wb2 и выше).

ERRWB600010: Watchdog срабатывает не всегда

Подверженные устройства

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 может не работать во влажной среде

Подверженные устройства

Wiren Board партии v6.8.1A.

Описание

Предположительно, Watchdog может не работать при загрязнении платы во влажной среде.

Причины и подробное описание

Схема аппаратного таймера watchdog излишне чувствительна к токам утечки, т.е. к загрязнению платы.

Пути обхода

Отсутствуют.

Запланированное исправление

Чувствительность схемы к загрязнениям значительно уменьшена в партиях с v6.8.1B.


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 и старше питание боковых модулей ввода-вывода отключается кнопкой и сторожевым таймером.