Комментарии 31
ОЗУ/ПЗУ: 2/16, 4/32, 4/64
По маркировке чипа не нашел что там установлено. Честный объем показывает или выдают 8 Гб флеш за 64?
На плате видны контакты (возле ИК-приемника) — наверное консоль, через которую можно будет попытаться восстановить в случае окирпичивания.
А как проверить, честные или не честные? Андроид в разделах показывает общий размер в килобайтах "61071360 mmcblk2" что 62.5 десятичных гигабайта и 58.2 двоичных.
Маркировка EMMC чипа:
SEC 719
B041
KLMCG2KEIM
ОЗУ с разными номерами после SEC:
SEC (410|428|519|537) BYK0
K4B4G0446D
Чипы памяти из разных партий что-ли? Всё Самсунговское.
Таки DDR3, а в Device Tree название model = "Rockchip RK3528 EVB1 DDR4 V10 Board", но возможно DDR4 значит 4Гб памяти, а не тип.
На плате видны контакты (возле ИК-приемника)
Да, я тоже подумал что это UART. Только такие мелкие, мне припаять будет сложно, редко пайкой занимаюсь.
Вот не гуглится такая маркировка. Выдает поиск такой — на 4/64 KLMCG2KETM-B041.
На 4pda попадалась маркировка этих чипов — может найду.
Любят в дешевых ТВ боксах (например Q96 mini) ставить 8 Гб, которые видятся системой как 64. Никакой софт не устанавливается, помогает оживить такое чудо только установка microSD карты и расширение памяти на нее.
Чтобы не паять можно сделать разъем из подпружиненных иголок. На aliexpress "тестовый зонд электронная пружина".
А я приметил разъёмы с шагом на 1.25-1.5мм, наверное такой можно даже не припаивать, а просто воткнуть - и будет кое-как держаться.
Можно и просто иголки от шприцов воткнуть, надо-то всего 3 штуки :) Я подпаивался к подобному разъёму в IP камере (такой же шаг, только контактов 4) — был UART, логи шли, что-то в uboot можно было ковырять, если память не изменяет
именно что кой-как, для прошивки может быть черевато. Но вообще мне на ум пришли в голову так называемые клипсы, там Г-образные контакты подпружиненые, применяются для подключения логических анализаторов. Но ими удобно пользоваться когда отверстия с краю. а с точки зрения контакта - тоже не идеально.
KLMCG2KEIM
Теоретически (по крайней мере в маркировке NAND-Flash производства Samsung):
8 — 8 ГБит;
A — 16 ГБит;
B — 32 ГБит;
C — 64 ГБит.
не получится - не напишу
с вашим опытом независимо от результата статья про удачные или неудачные методики вышла бы хорошая, опираясь на которую можно было бы копаться в других устройствах
Я уже придумал как вставить в прошивку отсутствующую функцию boot_from_udisk(), но пока боюсь пробовать, много изменений, как бы не окирпичить бокс такими хаками U-Boot.
Можно собрать из исходников свой U-Boot, но тут шанс окирпичить еще выше, у меня нет бесконечного количество попыток, как было бы, если был разъём для карты памяти.
Припаивать UART к таким микроскопическим контактам - тоже сложная задача, для меня.
Что имел в виду под "подозрительно дешевый": на данный момент можно найти за 2 тысячи на Али, что неплохо для нового чипа с 4ГБ ОЗУ. Перекупщики за три продают. Когда заказывал, то забыл проверить - есть ли разъём для карт памяти, я считал это опция по умолчанию, которая должна быть на любых устройствах. Что лишь один USB - не настолько страшно.
Отличный пост. Зашел в репу rkflashtool чтобы проверить как дела с описанным ID сейчас, а там уже, что не может не радовать:
Add RK3528 chip
#17 opened 18 minutes ago by lemenkov
Очень удивился зачем такие сложности, если можно через консоль u-boot загрузить дамп в память и записать на MMC/USB. А потом вспомнил, что большинство людей как огня боятся подпаять три кабеля. Хотя особо ровных рук тут и не нужно, но нужно посмотреть как подобрать паяльник (который нужен дома не меньше отвертки), нормальное жало, припой, флюс и температуру.
Если же стоковый юбут не дает слить нормально весь дамп, то можно взять бут от Armbian/Elec/e.t.c. под эту платформу и запустить его даже не меняя оригинал в прошивке, как я описывал в своем посте:
https://habr.com/ru/articles/765280/
И по поводу кирпича. Изучая скрипты u-boot, видел что ему все равно откуда грузиться что с usb, что с mmc. Да и раскирпичить не сложно, но нужно найти годную прошивку и, главное, точку на плате, замкнув которую на землю можно перевести в boot режим.
можно взять бут от Armbian/Elec/e.t.c
Под этот чип пока что нет готового бута.
Изучая скрипты u-boot, видел что ему все равно откуда грузиться что с usb, что с mmc.
Не уверен в последовательности, сначала должна грузиться карта - но разъёма на этом устройстве нет. Потом EMMC, с usb грузится через u-boot на EMMC (и отключен в билде на этом устройстве), если я его испорчу - то будет кирпич. download режим реализуется через этот u-boot.
точку на плате, замкнув которую на землю можно перевести в boot режим
Ну это особый скилл нужно чтобы её найти, пишут что легко найти если EMMC чип с ножками, но тут BGA.
Чисто технически - девайс не окирпичен, если железо не повреждено, например чип не перегорел. Но есть вещи, решить которые будет уже слишком тяжело для многих людей. Например, мне легче сделать сложный хак прошивки - чем припаять три тонюсеньких проводка. Тем более, что это не решение - при каждом запуске загружать USB через команды на UART. Хотя помогло бы с отладкой.
Добавил инструкцию по сборке своего U-Boot, пока что мне ничем не помогло. Частично работает (download режим, в котором можно убрать ограничение), вот только Андроид не грузит.
так и ладно бы, главное, чтобы линукс загрузил
Ни старый, ни собранный U-Boot - линукс с USB не грузят. В Armbian появилась опция на одно устройство на RK3528, я собрал образ. Где проблема - без логов не понять, ядро линукса явно не стартует. Заказал всяких приспособлений для UART, жду доставку, пока ничего сделать нельзя.
В сборке U-Boot есть опция CONFIG_USB_TTY - консоль через USB, но она лишь в шести конфигах из ~600, не совсем понял что надо для правильной сборки - там еще несколько опций надо включить вместе с ней (CONFIG_USB_DEVICE и еще...), а эти опции похоже сделаны под конкретные устройства, не разобрался.
думаю там еще и .DTS допилить надо будет для этого
А может и нет, я заметил в Armbian много готовых .dtb для RK3528, в том числе с таким же именем, что на устройстве у меня. Но содержимое там несколько другое, надо сравнивать и разбираться.
когда только успели понаделать, проц вроде новый, документашки нету а .dtb уже понаделали... я не знаю, может карту памяти на проводках припаяли...
rk3528-demo1-lp4-v10.dtb
rk3528-demo4-ddr4-v10.dtb
rk3528-demo4-ddr4-v10-linux.dtb
rk3528-demo6-ddr3-v10.dtb
rk3528-evb1-ddr4-v10.dtb
rk3528-evb1-ddr4-v10-linux.dtb
rk3528-evb1-ddr4-v10-spi-nand-linux.dtb
rk3528-evb2-ddr3-v10.dtb
rk3528-evb3-lp4x-v10.dtb
rk3528-evb4-ddr4-v10.dtb
rk3528-hinlink-h28k.dtb
rk3528-iotest-lp3-v10.dtb
"Hinlink H28K" - это устройство для которого сделали в Armbian конфиг для сборки. Причём не TV-box, а одноплатный компьютер (подвида мини-роутеров) вроде NanoPi (которые выглядит очень похоже, половина моделей на Rockchip). У Orange Pi есть модель R1 Plus того же формата.
Судя по названиям - остальные .dtb для плат для разработчиков (evb должно означать Evaluation Board), и демонстрационных/тестовых.
я тут посмотрел на git по ссылке в статье - rockchip дает кучку бинарных блобов, причем для 3528 их несколько разных, пока не понял где оно в uboot подключается, но блобы разные для разных DDR
так же в uboot есть конфиг не просто для rk3528 а для board и вот там уже иннудяться некие коды для какой то фишки с USB
Запустил Armbian Ubuntu-focal-xfce с .dtb из Андроида (с двумя другими из готовых .dtb не грузилось, остальные не проверял), но есть какие-то непонятки с другими вариантами Armbian, например Ubuntu-jammy-mate не грузится, то ли из-за jammy, то ли из-за mate, или чего-то еще (может бэкап копия GPT где-то мешается).
Это mate не работает, а еще у меня флэшка не работает новая как загрузочная, а еще в xfce из Ubuntu со старта не хватает пакетов для штатной функциональности. А еще у меня нашелся поддельный USB 2.0 хаб, что работает со скоростью USB 1.0 или 1.1. Кошмар. Уже набросал черновой вариант следующей статьи.
Дамп разделов TV-бокса на чипе RK3528