Анализ лога UART: Почему телевизор ушел в вечный Bootloop​

Аннотация: Разбираем лог консоли, снятый через UART-интерфейс (скорость 115200). Пошагово анализируем, на каком этапе «спотыкается» процессор и почему аппарат начинает загрузку сначала.

Пошаговый разбор этапов загрузки по логу​

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

1. Старт Первичного загрузчика (Реloader/Тeeloader):
Система успешно инициализируется при подаче питания (`AC_ON`). Оперативная память (`MIU0_DQS-OK`, `BIST0-OK`) проходит первичный тест успешно. Отрабатывает криптографическая подпись (`Auth reeloader... Decrypt reeloader... UBOOT AUTH_OK`). Это говорит о том, что процессор жив, а первичные разделы памяти читаются корректно.

2. Инициализация eMMC-памяти:

eMMC: HS400 5.1 200MHz
eMMC 7.28 GB

Микросхема eMMC успешно определяется, рапортует свой объем (стандартная микросхема на 8 GB) и заводится на высокой частоте в режиме `HS400`. Физически микросхема отвечает на запросы ядра.

3. Запуск вторичного загрузчика (U-Boot):
U-Boot успешно распаковывается в оперативную память (`Now running in RAM - U-Boot at: 2B500000`) и инициализирует периферию (включается ИК-приемник `msIR_Initialize`).

4. Точка падения (Критическая ошибка):
Сбой происходит сразу после передачи управления основному ядру системы:

Starting kernel ...
[ERROR] _get_new_map_format_from_env:548: get MI_KERNEL_POOL3_ADR fail
[ERROR] _get_new_map_format_from_env:548: get MI_KERNEL_POOL4_ADR fail
...
INFO: mstar_primary_kernel_enter 133 2acda77c 23000000 24000000 0

```
После этих строк лог обрывается, и мы снова видим строку `UART_115200` и `AC_ON`. Это означает, что плата ушла на перезагрузку по аппаратному таймеру (Watchdog) или из-за критического исключения (Kernel Panic).

Причины неисправности и диагноз​

Ошибки `get MI_KERNEL_POOL_ADR fail` указывают на то, что загрузчик не смог считать переменные окружения (env) или карту распределения памяти для ядра из соответствующих разделов eMMC.

• Причина №1 — Программный сбой (Битый раздел): Данные в разделах `system`, `boot` или `user data` повреждены. Процессор пытается передать управление ядру Linux/Android, но натыкается на «кашу» из байт, не может смонтировать пулы памяти и перезагружает плату.
• Причина №2 — Износ eMMC (Bad-блоки в области ядра): Несмотря на то, что микросхема выдает свой ID и индицируется загрузчиком, ячейки памяти в области хранения самого ядра деградировали. При попытке считать этот участок происходит аппаратная ошибка чтения, и процессор сбрасывает систему.

Как это ремонтируется?​

Восстановление такой платы — стандартная задача для профессионального оборудования.

* **Попытка восстановления через USB:** Если загрузчик U-Boot «живой» (а по логу он живой), можно попытаться скормить аппарату сервисную прошивку методом удержания кнопки включения или через команду обновления в консоли, подсунув флешку с нужными файлами конфигурации.
* **Прямая работа с eMMC:** Если USB-прошивка не подхватывается, плата демонтируется, подключается к программатору (через ISP-интерфейс или со снятием чипа BGA). На программаторе проверяется здоровье eMMC (SMART/Health report). Если память «живая» — заливается чистый дамп (User, Boot1, Boot2) и восстанавливаются ключи. Если память изношена — чип меняется на новый.


РАЗМЫШЛЕНИЯ МАСТЕРА АСЦ: На Океановской 1 такие логи с процессоров MediaTek/MStar мы видим регулярно. Поведение платы классическое: "включаюсь, пытаюсь поднять систему, спотыкаюсь о битые данные и ухожу в цикл". Судя по логу, U-Boot полностью отрабатывает, а значит, у нас отличные шансы поднять плату без выпаивания чипа, если сама eMMC не «устала» физически. Первым делом мы попробуем залить сервисный софт под конкретную панель через USB, используя правильные файлы конфигурации окружения (env). Если же память заблокирована на запись (Read Only), тогда только замена чипа на программаторе. ИИ добавляет: лог UART — это как кардиограмма для инженера. Он четко показывает, что «сердце» (процессор) бьется, но «память» отказывается отдавать ключевые инструкции для полноценной жизни аппарата.

📍 **Сервисный центр Телесервис**
г. Николаев, ул. Океановская 1
📞 067-70-57-304, 095-78-26-320
🌐 Ремонт телевизоров в Николаеве: Ремонт телевизоров в Николаеве