Перейти к содержанию

DEXP 40FCS1, MB-M9256-PW-BL, не прописывает RPMB

Оценить эту тему:


Рекомендуемые сообщения

Опубликовано
Марка и полная модель телевизора: DEXP 40FCS1
Main Board (маркировка платы): MB-M9256-PW-BL, Платформа / шассиM9256, загрузочная платформа 9TH
Матрица (Panel) T-Con: C400Y23-M8
Что уже проверено: При прошивки новой EMMC конфиги выставлены записан BOOT родной в User записан PARTITIONS MBOOT и MPOOL, не прописывает RPMB

Точный состав телевизора по фото и предоставленным логам

Процессор SoCMediaTek MT9638

Заводская маркировка SoC Начинается с MT9638...; полный суффикс на фото читается недостаточно чётко

Родная eMMC  Samsung KLM8G1GETF-B041

Идентификатор eMMC Samsung 8GTF4R

Номинальный объём eMMC 88 ГБ

Фактический объём USER7,287,28 ГиБ

Версия eMMCMMC 5.15.1, поддержка HS200/HS400

Матрица в сборе / Open Cell Module C400Y23-M8

Дополнительный номер матрицы FCM8T01HS01

Номер разработки/платы матрицы  JUC5.872.10099864

Серийный номер модуля  8220076305MD0QG306270819

Загрузчик MStar/MediaTek U-Boot 2011.06

Защищённая средаARM Trusted Firmware/OP-TEE, используется RPMB

Краткая строка состава

DEXP 40FCS1

Main: MB-M9256-PW-BL

SoC: MediaTek MT9638

eMMC: Samsung KLM8G1GETF-B041, 8 GB, MMC 5.1

Panel/Module: C400Y23-M8 Cell/Panel code: FCM8T01HS01

Panel platform number: JUC5.872.10099864 Boot platform: 9TH, MStar/MediaTek, OP-TEE + RPMB

Данные именно родной eMMC

Модель: Samsung KLM8G1GETF-B041

Внутреннее имя: 8GTF4R CID: 150100384754463452061663BAE82A6F

Серийный номер: 1663BAE8

Дата производства: февраль 2023

USER: 0x01D2000000 — 7.28 ГиБ

BOOT1: 0x00400000 — 4 МиБ

BOOT2: 0x00400000 — 4 МиБ

RPMB: 0x00080000 — 512 КиБ

RPMB counter: 934

Загрузка: BOOT1 PARTITION_CONFIG: 0x08 BOOT_BUS_WIDTH: 0x0A RST_N_FUNCTION: 0x01

Что нельзя определить по этим фотографиям

На предоставленных снимках не видны или недостаточно читаются:

точная маркировка оперативной памяти DDR;

модель тюнера;

модель Wi‑Fi-модуля;

маркировка LED-планок подсветки;

точная маркировка аудиоусилителя;

полный суффикс процессора после MT9638;

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

Опубликовано

По приведённым данным телевизор определяется так:

DEXP 40FCS1

Основная плата: MB-M9256-PW-BL

SoC: MediaTek/MStar MT9638

eMMC: Samsung KLM8G1GETF-B041, 8 ГБ

Модуль панели: C400Y23-M8 Панельный код: FCM8T01HS01

Родная eMMC — Samsung KLM8G1GETF-B041, внутреннее обозначение 8GTF4R, объём 7,28 ГиБ.

В родной памяти присутствуют:

USER — 7,28 ГиБ BOOT1 — 4 МиБ BOOT2 — 4 МиБ RPMB — 512 КиБ

Родная eMMC не была в состоянии EOL.

Износ по отчёту UFPI — примерно 50–60%, поэтому её необходимо использовать как источник полного дампа.

Что видно по неисправности

После установки новой eMMC загрузка начинается, но останавливается на защищённой загрузке:

optee teeloader entry Load armfw failed! RPMBKey is not written! Anti rollback check failed! ... Optee OS is not running!!!

Главная ошибка здесь:

Load armfw failed!

Сообщения:

RPMBKey is not written! Anti rollback check failed!

в данном случае, скорее всего, являются следствием того, что не запустился armfw/OP-TEE. Пока OP-TEE не стартует, система не может нормально проверить Anti-Rollback и выполнить работу с RPMB.

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

Что было сделано неправильно или недостаточно

Вы указали, что на новую eMMC были записаны:

BOOT;

PARTITIONS;

MBOOT;

MPOOL.

Этого может быть недостаточно.

В телевизорах на этой платформе критические файлы могут находиться:

в BOOT1;

в BOOT2;

в начале или конце USER;

в специальных физических разделах;

внутри контейнеров MBOOT, MPOOL, ARMFW, TEE, OPTEE, CKB, RELOADER;

по фиксированным адресам, а не только в логических разделах.

Кроме того, файл под названием BOOT не всегда является полным образом eMMC-раздела BOOT1.

Нельзя автоматически считать, что его достаточно записать в BOOT1 или BOOT2.

Правильный порядок ремонта

1. Сначала проверить родную eMMC

Старую eMMC нужно установить обратно и проверить:

определяется ли она UFPI;

читается ли USER;

читаются ли BOOT1 и BOOT2;

можно ли считать EXT_CSD;

запускается ли телевизор со старой eMMC хотя бы до прежней неисправности.

Нужно сохранить с родной микросхемы:

Полный USER BOOT1 BOOT2 EXT_CSD Информацию о разделах

Показанный в сообщении дамп размером 512 байт — это только начало USER.

Это не полный дамп и по нему нельзя восстановить содержимое eMMC.

В начале родного USER почти всё заполнено нулями, поэтому наличие нулей в первых 512 байтах не говорит о том, что память пустая или неисправная.

2. Считать полный USER

Необходимо считать весь раздел:

USER = 0x01D2000000

Это примерно 7,28 ГиБ.

Желательно выполнить чтение два раза и сравнить файлы по контрольной сумме.

Если два чтения отличаются, родная eMMC уже имеет ошибки чтения и сначала нужно заниматься получением стабильного дампа.

Особенно важно сохранить области, где могут находиться:

MBOOT MPOOL ARMFW TEE/OPTEE RELOADER CKB ENV PARTITIONS

Нельзя ограничиваться только теми разделами, которые UFPI показывает в удобном списке.

3. Отдельно считать BOOT1 и BOOT2

С родной eMMC нужно получить отдельные образы:

BOOT1 — 4 МиБ BOOT2 — 4 МиБ

Их необходимо сохранить с исходными размерами и без преобразования.

Затем проверить, какой из разделов действительно используется при загрузке. В отчёте родной eMMC указано:

PARTITION_CONFIG = 0x08 Загрузка с BOOT1 BOOT_BUS_WIDTH = 0x0A RST_N_FUNCTION = 0x01

Следовательно, основным загрузочным разделом является BOOT1.

Но это не отменяет необходимости сохранить и проверить BOOT2, потому что некоторые сервисные программы называют разделы не так, как они фактически используются контроллером.

4. Сравнить EXT_CSD старой и новой eMMC

До записи необходимо сохранить EXT_CSD родной микросхемы, а после установки новой — считать EXT_CSD новой.

Сравнить прежде всего:

PARTITION_CONFIG BOOT_BUS_WIDTH RST_N_FUNCTION BOOT_SIZE_MULT RPMB_SIZE_MULT USER area size PARTITIONING_SUPPORT DEVICE_TYPE OCR/напряжения

Для новой eMMC конфигурация должна соответствовать родной:

PARTITION_CONFIG = 0x08 BOOT_BUS_WIDTH = 0x0A RST_N_FUNCTION = 0x01

Осторожно: часть полей EXT_CSD является однократно программируемой или необратимой.

Нельзя без необходимости выполнять PARTITION_SETTING_COMPLETED и менять размер физических разделов.

Если новая eMMC уже была переразмечена неправильным способом, сначала нужно проверить, не были ли необратимо изменены поля EXT_CSD.

5. Записать полный образ, а не отдельные файлы

Если родная eMMC читается, правильный вариант такой:

Записать полный образ USER родной eMMC в USER новой.

Записать оригинальный BOOT1 в BOOT1.

Записать оригинальный BOOT2 в BOOT2.

Выставить параметры EXT_CSD по родной микросхеме.

Выполнить чтение назад и сравнить записанные области.

После записи необходимо проверить, что:

ARMFW действительно присутствует;

его адрес и размер совпадают с родной eMMC;

не перепутаны логические и физические разделы;

BOOT1 не записан вместо BOOT2 или наоборот;

образ не был обрезан;

UFPI не пропустил скрытые разделы.

Что проверить именно по armfw

Ошибка:

Load armfw failed!

может быть вызвана несколькими причинами:

Вариант 1 — armfw не записан

Самый вероятный вариант при записи только PARTITIONS, MBOOT и MPOOL.

Вариант 2 — armfw записан не туда

Файл может находиться не в обычном логическом разделе, а по физическому адресу в USER либо в одном из загрузочных разделов.

Вариант 3 — записан неполный или неподходящий образ

Например, образ может быть от другой версии платы, другой панели или другой ревизии прошивки.

Вариант 4 — неверная конфигурация eMMC

Если контроллер стартует не с того загрузочного раздела или с неправильной шириной шины, он может видеть eMMC, но не находить корректный загрузочный контейнер.

Вариант 5 — ошибка чтения новой eMMC или пайки

Нужно проверить осциллографом или хотя бы тестированием на пониженной скорости:

CLK;

CMD;

DAT0;

DAT1–DAT7;

питание VCC;

питание VCCQ;

RST_n.

Для диагностики сначала лучше использовать:

1-bit режим низкая частота без HS400

После стабильного запуска можно переходить к штатному режиму.

Что делать с RPMB

RPMB не является обычным файловым разделом.

С родной eMMC указано:

RPMB counter = 934 RPMB size = 512 КиБ

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

Нельзя:

записать старый RPMB обычным дампом;

вручную установить счётчик 934;

скопировать RPMB через обычное чтение USER;

записать случайный RPMB-ключ;

многократно экспериментировать с записью ключа.

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

На некоторых прошивках ключ RPMB при первом запуске пустой eMMC записывается автоматически через OP-TEE.

На других телевизорах требуется заводская персонализация или сервисный пакет.

Поэтому сначала нужно добиться, чтобы в логе исчезли:

Load armfw failed! Optee OS is not running!!!

И чтобы появилась нормальная инициализация OP-TEE.

Только после этого можно оценивать, записался ли RPMB автоматически.

Что проверить после записи полного дампа

После замены eMMC и записи полного образа проверить UART.

Нормальный промежуточный результат

Должно исчезнуть:

Load armfw failed!

и не должно быть:

Optee OS is not running!!!

Если останется только:

RPMBKey is not written!

то нужно выяснять процедуру персонализации RPMB для этой конкретной прошивки.

Если снова появится:

Load armfw failed!

значит проблема ещё находится до RPMB:

отсутствует нужный раздел;

неверный адрес armfw;

неверный BOOT1;

неправильный PARTITION_CONFIG;

повреждён образ;

новая eMMC неправильно сконфигурирована;

используется прошивка не от этой платы.

По CID

В предоставленном UART-логе CID отображён в разбитом по словам виде:

0x002AE8BA 0x63160652 0x34465447 0x38000115

По этим четырём строкам нельзя надёжно подтвердить полное совпадение CID с родной eMMC без знания формата вывода конкретной программы UFPI и порядка байтов.

Родной CID из отчёта:

150100384754463452061663BAE82A6F

Нужно получить отдельный отчёт UFPI по новой eMMC и сравнить:

полный CID;

модель;

серийный номер;

дату производства;

EXT_CSD.

Важно понимать, что обычная eMMC не позволяет штатной командой изменить заводской CID.

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

Практический вывод

В вашем случае я бы выполнял ремонт в следующем порядке:

Вернуть родную eMMC.

Считать полностью USER, BOOT1, BOOT2, EXT_CSD.

Повторить чтение и проверить совпадение контрольных сумм.

На новой eMMC проверить состояние EXT_CSD.

Записать полный USER родной eMMC.

Записать оригинальные BOOT1 и BOOT2.

Восстановить загрузочную конфигурацию:

PARTITION_CONFIG = 0x08 BOOT_BUS_WIDTH = 0x0A RST_N_FUNCTION = 0x01

Проверить запись чтением назад.

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

Посмотреть новый UART-лог.

Только после запуска armfw/OP-TEE заниматься RPMB.

Если родная eMMC читается нестабильно или полный дамп отсутствует, восстановление одной записью MBOOT, MPOOL и PARTITIONS не гарантирует результат. В этом случае потребуется подходящая сервисная прошивка именно для связки:

DEXP 40FCS1 MB-M9256-PW-BL MT9638 C400Y23-M8 / FCM8T01HS01

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

Онлайн поддержка в  🔗 Гостевой чат - 24 часа!

 

  • LiVan изменил название на DEXP 40FCS1, MB-M9256-PW-BL, не прописывает RPMB
Опубликовано
59 минут назад, leksel20 сказал:

При прошивки новой EMMC конфиги выставлены

какая eMMC установлена?

считывай и показывай что выставлено(конфиг) в новой eMMC

где верификация считанного? - в логе не вижу

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Это очень просто!

Регистрация

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...