Спасибо огромное за софтину. Прошивка флэшек это была больная тема ради которой приходилось лезть в винду чтобы запустить NeoProgrammer. В линухе же эта тема была просто бедой: flashrom хоть и определяет сам, но требует ему вписать название флэшки, понимает очень ограниченный список флэшек. Вы решили эту проблему. За два десятилетия это оставался один из последних вопросов, ради которого приходилось возвращаться к винде. Надеюсь больше ее больше не увидеть.
Я открыл тикет с пожеланием иметь "Недавние файлы" и чтобы запоминалась последняя рабочая директория в выборе прошивки. В процессе пользования еще пришла мысль, что не хватает лога действий как в NeoProgrammer где можно видеть CRC обработанных прошивок.
ЗЫЖ На Gentoo скомпилилась с полпинка без каких либо проблем.
Хорошо вообще что есть busybox и можно просто перечислить что нужно из аплетов, buildroot или yocto, которые все сбилдят вместе с зависимостями, а не как в конце 90х каждый пакет через make configure. Очень хорошо, что мир не стоит на месте.
Очень удивился зачем такие сложности, если можно через консоль u-boot загрузить дамп в память и записать на MMC/USB. А потом вспомнил, что большинство людей как огня боятся подпаять три кабеля. Хотя особо ровных рук тут и не нужно, но нужно посмотреть как подобрать паяльник (который нужен дома не меньше отвертки), нормальное жало, припой, флюс и температуру.
Если же стоковый юбут не дает слить нормально весь дамп, то можно взять бут от Armbian/Elec/e.t.c. под эту платформу и запустить его даже не меняя оригинал в прошивке, как я описывал в своем посте: https://habr.com/ru/articles/765280/
И по поводу кирпича. Изучая скрипты u-boot, видел что ему все равно откуда грузиться что с usb, что с mmc. Да и раскирпичить не сложно, но нужно найти годную прошивку и, главное, точку на плате, замкнув которую на землю можно перевести в boot режим.
Часто имея дело с такими девайсами, уже на автомате подкидываю к ним хвост UART и сразу подключаю консоль. Никакой проблемы в том чтобы поставить три кляксы припоя. Просто непривычно для тех, кто всегда был на x86. Меня тоже долгое время это все пугало и я никак не решался, а оказалось как два пальца об асфальт. Помогает очень часто в случаях когда надо сбить пароль на камере или видеорегистраторе, точно диагностировать поломку из высыпавшихся в логи загрузки ошибок.
Не разбивается. Андроид грузится со встроенной EMCC, а тут речь идет о MicroSD карточках. С USB флэшки все тоже работает отлично. Форматировать разными утилитами тоже не годится, потому что на горсть разных карточек я записывал один и тот же образ с абсолютно одинаковой файловой системой. Одни читаются, другие не читаются. Так что для решения проблемы с малинкой просто нужно брать горсть побольше. У меня с RPi2 первая попавшаяся завелась в свое время, но это из старых карт. С подобными и ТВ-приставка работает. А вот все новые трахают мозги. Я, не зная о подобной проблеме, эту малинку в свое время в утиль списал потому что тоже выглядела как кирпич, даже LED не моргнул.
Согласен, что для бытовых устройства это совсем не удобное поведение, но встраиваемые системы это совсем не бытовуха. В них ресурсы очень уж ограничены чтобы зашить поддержку графики в загрузчик. Загрузчик стараются сделать минимально упрощенным. В большинстве из них даже выхода HDMI нет. ТВ приставка это лишь частный случай ARM девайса. А взять камеру видеонаблюдения и уже некуда выводить кроме UART. Просто надо смириться с этим.
Вспомнив, что из горсти карт именно рабочая карточка имеет наклейку, я обрадовался и начал клеить на другие. Но это ничего не дало. Удалось лишь на одной прочесть из юбута содержимое в битом виде только частично:
Возможно немного сумбурно, потому что эти эксперименты я начал год назад, много раз забрасывал. Восстанавливал всё по заметкам, которые всегда делаю в таких случаях. Сложно было восстановить причины почему я не пошел простым путем, не все записано.
С картами проблемы были, потому что они тупо не читаются.
Совершенно верно. Андроид был испорчен, но это было уже потом в результате экспериментов. Наложилось слишком много факторов, которые в сумме давали результат будто передо мной кирпич. Самый главный - это отсутствие микросхемы PHY. Для того чтобы задействовать встроенный в SoC сетевой интерфейс MII пришлось подбирать DTB. И да, мне на самом деле такие эксперименты дали мотивацию углубиться в суть процессов.
Почему не грузилось вкратце резюме из написанного в статье:
В следствие отличия сетевого модуля от моделей с таким же названием была неработоспособность сети. Решилось подбором DTB.
Отсутствие HDMI сигнала из-за серверной сборки. В десктопных сборках с поддержкой потом HDMI начал работать, но до этого нужно было дойти.
Несовместимость с горой флэшек или глючность кардридера.
Результат такой загрузки выглядел внешне как кирпич. Чтобы разобраться пришлось подключить UART консоль.
Плюс у меня слетела EMMC партиция после экспериментов. Это, как оказалось, корянит скрипты автозагрузки, которые в первую очередь проверяют файлы на EMCC. Я переписал скрипты так, чтобы пропускали обращение к EMMC.
А для тех кто запорол систему на EMMC и хочет вернуть Адроид, внизу есть ссылочка на видео как раскирпичить такой девайс через замыкание контакта на плате. Этот метод работает отлично, проверил.
Test clip. Но они есть различного качества. Вот у этого селера довольно надежные. Предыдущие у меня за несколько использований стачивались, невозможно было использовать.
Все верно. Но этот шаг подразумевает очень много деталей. А умеет ли пользователь пользоваться программатором или подпаяться/подключиться через UART? Имеет ли необходимые адаптеры? Известен ли root пароль? Не защищен ли u-boot паролем? Поддерживает ли u-boot команды для передачи по tftp?
Со старыми камерами попроще конечно, но чем современней камера, тем больше изощренных защит используют вендоры. Эта тема - ящик пандоры, который я решил не вскрывать в этом посте. И без этого многим пост покажется антирекламой. Простой инструкцией по бэкапу тут не обойтись. Тут нужен творческий подход.
Кстати, если опустить все "если" и предположить что все сложилось удачно, пользователь подключился через UART и зашел в u-boot, то для таких есть в инструкции под каждую платформу команды как забэкапить оригинальную прошивку:
Ко всему еще можно добавить проблемы с версиями компилеров, когда пытаешься собрать зависимости и выясняется что gcc 11 уже собрать не может, будь добр откатиться чтобы собрать. И начинаются танцы в контейнерах. А зависимостей то уже может быть столько, что на пальцах не пересчитать.
Насчет оптики не в бровь, а в глаз. Нашел современную фотку в хорошем разрешении. Черный нижний элемент с белой подписью U4. Все равно точно не могу понять что на нем. Как я понял из тредов на 4pda этот элемент - больное место на Pocketbook 611 - если не знает что делать, сразу взрывается.
Я понимаю что много воды утекло с тех времен, но может быть еще остались фото этой платы? У меня выгорел элемент возле коннектора батареи (ближе к коннектору зарядки), не могу даже прочесть теперь что это за элемент.
Спасибо огромное за софтину. Прошивка флэшек это была больная тема ради которой приходилось лезть в винду чтобы запустить NeoProgrammer. В линухе же эта тема была просто бедой: flashrom хоть и определяет сам, но требует ему вписать название флэшки, понимает очень ограниченный список флэшек. Вы решили эту проблему. За два десятилетия это оставался один из последних вопросов, ради которого приходилось возвращаться к винде. Надеюсь больше ее больше не увидеть.
Я открыл тикет с пожеланием иметь "Недавние файлы" и чтобы запоминалась последняя рабочая директория в выборе прошивки. В процессе пользования еще пришла мысль, что не хватает лога действий как в NeoProgrammer где можно видеть CRC обработанных прошивок.
ЗЫЖ На Gentoo скомпилилась с полпинка без каких либо проблем.
Хорошо вообще что есть busybox и можно просто перечислить что нужно из аплетов, buildroot или yocto, которые все сбилдят вместе с зависимостями, а не как в конце 90х каждый пакет через make configure. Очень хорошо, что мир не стоит на месте.
https://github.com/ophub/amlogic-s9xxx-armbian/releases
Отличный пост. Зашел в репу 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 режим.
Если нет вариантов с DTS, то такой тоже вполне рабочий. Но на большинство приставок они уже есть. Скорее всего таким же образом и вытащены.
Часто имея дело с такими девайсами, уже на автомате подкидываю к ним хвост UART и сразу подключаю консоль. Никакой проблемы в том чтобы поставить три кляксы припоя. Просто непривычно для тех, кто всегда был на x86. Меня тоже долгое время это все пугало и я никак не решался, а оказалось как два пальца об асфальт. Помогает очень часто в случаях когда надо сбить пароль на камере или видеорегистраторе, точно диагностировать поломку из высыпавшихся в логи загрузки ошибок.
Не разбивается. Андроид грузится со встроенной EMCC, а тут речь идет о MicroSD карточках. С USB флэшки все тоже работает отлично. Форматировать разными утилитами тоже не годится, потому что на горсть разных карточек я записывал один и тот же образ с абсолютно одинаковой файловой системой. Одни читаются, другие не читаются. Так что для решения проблемы с малинкой просто нужно брать горсть побольше. У меня с RPi2 первая попавшаяся завелась в свое время, но это из старых карт. С подобными и ТВ-приставка работает. А вот все новые трахают мозги. Я, не зная о подобной проблеме, эту малинку в свое время в утиль списал потому что тоже выглядела как кирпич, даже LED не моргнул.
Согласен, что для бытовых устройства это совсем не удобное поведение, но встраиваемые системы это совсем не бытовуха. В них ресурсы очень уж ограничены чтобы зашить поддержку графики в загрузчик. Загрузчик стараются сделать минимально упрощенным. В большинстве из них даже выхода HDMI нет. ТВ приставка это лишь частный случай ARM девайса. А взять камеру видеонаблюдения и уже некуда выводить кроме UART. Просто надо смириться с этим.
Вспомнив, что из горсти карт именно рабочая карточка имеет наклейку, я обрадовался и начал клеить на другие. Но это ничего не дало. Удалось лишь на одной прочесть из юбута содержимое в битом виде только частично:
Склоняюсь к тому, что это глюки кардридера приставки.
Возможно немного сумбурно, потому что эти эксперименты я начал год назад, много раз забрасывал. Восстанавливал всё по заметкам, которые всегда делаю в таких случаях. Сложно было восстановить причины почему я не пошел простым путем, не все записано.
С картами проблемы были, потому что они тупо не читаются.
Причину несовместимости я так и не выяснил. Из горсти карт лишь две подошли. Возможо глючный кард-ридер в боксе или грязь внутри на контактах.
Совершенно верно.
Андроид был испорчен, но это было уже потом в результате экспериментов. Наложилось слишком много факторов, которые в сумме давали результат будто передо мной кирпич. Самый главный - это отсутствие микросхемы PHY. Для того чтобы задействовать встроенный в SoC сетевой интерфейс MII пришлось подбирать DTB. И да, мне на самом деле такие эксперименты дали мотивацию углубиться в суть процессов.
Почему не грузилось вкратце резюме из написанного в статье:
В следствие отличия сетевого модуля от моделей с таким же названием была неработоспособность сети. Решилось подбором DTB.
Отсутствие HDMI сигнала из-за серверной сборки. В десктопных сборках с поддержкой потом HDMI начал работать, но до этого нужно было дойти.
Несовместимость с горой флэшек или глючность кардридера.
Результат такой загрузки выглядел внешне как кирпич. Чтобы разобраться пришлось подключить UART консоль.
Плюс у меня слетела EMMC партиция после экспериментов. Это, как оказалось, корянит скрипты автозагрузки, которые в первую очередь проверяют файлы на EMCC. Я переписал скрипты так, чтобы пропускали обращение к EMMC.
А для тех кто запорол систему на EMMC и хочет вернуть Адроид, внизу есть ссылочка на видео как раскирпичить такой девайс через замыкание контакта на плате. Этот метод работает отлично, проверил.
https://ru.wiktionary.org/wiki/рутер
С пропиленными выемками все ясно. А что дает плата с дырочками вообще не улавливаю.
Test clip. Но они есть различного качества. Вот у этого селера довольно надежные. Предыдущие у меня за несколько использований стачивались, невозможно было использовать.
https://www.aliexpress.com/item/32725360255.html
Все верно. Но этот шаг подразумевает очень много деталей. А умеет ли пользователь пользоваться программатором или подпаяться/подключиться через UART? Имеет ли необходимые адаптеры? Известен ли root пароль? Не защищен ли u-boot паролем? Поддерживает ли u-boot команды для передачи по tftp?
Со старыми камерами попроще конечно, но чем современней камера, тем больше изощренных защит используют вендоры. Эта тема - ящик пандоры, который я решил не вскрывать в этом посте. И без этого многим пост покажется антирекламой. Простой инструкцией по бэкапу тут не обойтись. Тут нужен творческий подход.
Кстати, если опустить все "если" и предположить что все сложилось удачно, пользователь подключился через UART и зашел в u-boot, то для таких есть в инструкции под каждую платформу команды как забэкапить оригинальную прошивку:
https://openipc.org/supported-hardware/full-list
А что за домашнее облако? NAS? NVR?
Зачем следить если ждал!? Надо "я буду устанавливать все игры!"
Если вдруг дойдешь еще когда-то домой, посмотри возле коннектора питания на плате что за элемент U3. Предыдущий не надо смотреть.
Ко всему еще можно добавить проблемы с версиями компилеров, когда пытаешься собрать зависимости и выясняется что gcc 11 уже собрать не может, будь добр откатиться чтобы собрать. И начинаются танцы в контейнерах. А зависимостей то уже может быть столько, что на пальцах не пересчитать.
Насчет оптики не в бровь, а в глаз. Нашел современную фотку в хорошем разрешении. Черный нижний элемент с белой подписью U4. Все равно точно не могу понять что на нем. Как я понял из тредов на 4pda этот элемент - больное место на Pocketbook 611 - если не знает что делать, сразу взрывается.
Я понимаю что много воды утекло с тех времен, но может быть еще остались фото этой платы? У меня выгорел элемент возле коннектора батареи (ближе к коннектору зарядки), не могу даже прочесть теперь что это за элемент.