Анализ лога 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
📞 067-70-57-304, 095-78-26-320
🌐 Ремонт телевизоров в Николаеве: Ремонт телевизоров в Николаеве