← Все статьи

Чтение лога загрузки телевизора по UART

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

Раздел: Руководство по UART.

Перед съёмом лога

  • Подключите GND, TX адаптера к RX платы и RX адаптера к TX платы, как в статье подключение к UART телевизора. VCC адаптера не подключайте.
  • Используйте логику 3,3 В. На некоторых платах 1,8 В НЕ ПРОВЕРЕНО проверьте уровень сигнала мультиметром или по даташиту SoC, прежде чем подключаться.
  • Начните с 115200 8N1; это самый частый вариант. Встречаются также 57600, 38400 и 921600.
  • Включите запись лога в файл до подачи питания на ТВ.

Что вы видите и что это значит

Что показывает терминал Значение
Читаемый текст Скорость и подключение верные
Случайные символы Неверная скорость (бод)
Ничего TX/RX перепутаны, нет общей земли, неверный уровень или не та площадка

Этапы типичного лога

  1. Первичный загрузчик / сообщения ROM. Короткие строки об инициализации памяти. Если лог обрывается здесь, подозревайте ОЗУ или питание.
  2. Баннер загрузчика. U-Boot, LK или MBoot на платах MStar, с версией, датой и названием платы.
  3. Определение накопителя. Строки об eMMC или SPI-флеш: размер, ширина шины, ошибки. Повторяющиеся ошибки чтения или «no device» указывают на накопитель или его контакты.
  4. Приглашение автозагрузки. Текст вроде «Hit any key to stop autoboot» или «Press Enter» с коротким окном в одну–три секунды.
  5. Старт ядра. Командная строка ядра и список разделов, затем init и службы Android или Linux.
  6. Паника или цикл перезагрузок. Kernel panic, сброс по watchdog или повторяющиеся одни и те же строки — это тот симптом, ради которого вы пришли.

Что отметить

  • Последняя строка перед тем, как лог оборвался или начался заново.
  • Любое слово вроде error, fail, timeout, CRC или bad.
  • Размер накопителя и названия разделов, чтобы сравнить с дампом (см. сравнение дампов).
  • Текст приглашения загрузчика, который подсказывает, как войти в его консоль.

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

Типичные ошибки

  • Делать выводы по логу, снятому на неверной скорости.
  • Начинать съём лога после включения питания, так что первый этап потерян.
  • Читать только с экрана и не сохранять лог.
  • Нажимать клавиши наугад. Используйте метод, подходящий для семейства загрузчика.

Как это делается в FW Tool

  • Во вкладке UART есть выбор порта и скорости и профили загрузчиков, включая пресеты Realtek, MediaTek и MStar с короткими шпаргалками.
  • Каждый сеанс записывается в файл лога с временными метками; лог можно сохранить из программы.
  • «Прервать загрузку» многократно отправляет клавиши (пробел, Enter, Ctrl+C, Esc или «stop») в первые секунды; вы нажимаете её и сразу включаете питание. Автоматический режим перебирает все клавиши по очереди.
  • «Разведка» выполняет команды только на чтение (version, bdinfo, printenv, help, mmc list, mmc part, usb start, а также запросы Linux или Android) и сохраняет отчёт, по которому можно построить профиль под плату.
  • «Проверка износа eMMC» читает регистры ресурса eMMC и показывает оценку износа и резервных блоков. См. возможности.

Вопросы и ответы

Только первая строка лога — «мусор». Почему?

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

Загрузку не удаётся прервать.

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

Скажет ли лог, какую прошивку заливать?

Он даёт название платы и версии. Сравните их со строками в пакете (устройство пакета).

Сравнение логов

Лог с рабочего ТВ той же модели — лучший эталон. Положите два лога рядом: место расхождения — первое, что нужно исследовать. Обращайте внимание на порядок сообщений, а не на точные числа, потому что метки времени и адреса памяти от загрузки к загрузке отличаются.

Сохраняйте каждый лог, указывая в имени файла дату и симптом. После нескольких ремонтов вы начнёте узнавать типичные окончания неудачной загрузки: накопитель не найден, ядро не стартует или цикл сбросов. Эта привычка даёт и материал для записи о ремонте, который поможет, когда клиент вернётся с той же жалобой.

Наконец, не огорчайтесь молчащему порту. На многих платах выведено несколько площадок UART, и только одна из них — консоль основного SoC; остальные относятся к микроконтроллеру дежурного режима или модулю Wi-Fi. Попробуйте каждую подходящую площадку на распространённых скоростях, прежде чем делать вывод, что плата не даёт консоли, и запишите результат в заметки на будущее.

Скачать демо


Попробовать FW Tool (демо)