Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Всем привет! Когда-то, в юности, родители на ДР подарили мне игровую консоль-планшет на андроиде. Юзал я её несколько месяцев, и по итогу разбил на ней дисплей с психу. Так и отправилась консоль практически на 10 лет в подвал, а сейчас я её нашёл и отремонтировал. Консоль абсолютный noname - на неё нет ни прошивок, ни запчастей, и если кому интересен процесс восстановления подобных старых китайских девайсов - добро пожаловать под кат!
Предыстория
Наш подопытный сегодня - SoundTronix Storm. Аппарат был куплен в 2014 году в сети магазинов TREC - был такой популярен в Краснодарском крае. В последние года, по мере расширения начал продавать кроме игр, еще и консоли. Среди них был и мой Storm. Изначально я хотел взять себе что-то типа JXD S601 за 1990руб
и смартфон Fly за 1990. Бюджет был 4к рублей. Маман увидев мои потуги, и увидев большую белую консоль сказала - смотри какой экран большой, давай купим её, зачем тебе эта мелкая консоль(на фото выше) нужна и Fly слабый? Выбор был сделан - консоль куплена, и поставлялась в такой коробочке:
Коробка нагло врёт: HDMI тут не пахнет, хотя в корпусе есть насечка под него.
В первые дни консоль показала себя не так уж и хорошо - плёнку с дисплея никто не снимал(а она была в пузырях) и тачскрин выдавал фантомные нажатия. Отнесли в ТРЕК по гарантии - при продавце прикола ради сняли плёнку - все заработало нормально. Затем на консоль я скачал музыку, какие то игры, и был доволен. Но консоль сильно тормозила. Её хар-ки: 512мб DDR3 ОЗУ(норма на то время), Android 4.0.4 ICS(тоже достаточно свежая система, еще 2.3 была в обиходе), и SoC Amlogic am8726-m3 aka AML Meson. Процессор был одноядерный, но весьма бодренький, эмуляторы тянул без проблем. Из коробки был рут(!), HappyChick с коллекцией ромов и эмуляторов, Play Market, браузер, и еще какой софт по мелочевке. В один из дней, я был несколько разъярен(ну и просто школяром, не ценившим вещи) и разбил консоль легким ударом(у них очень тонкие дисплейные панели, без защиты), экран потек, а на тачскрине появилась трещина. Так я её и разобрал в 13 лет(было интересно что внутри), и сложил с болтиками и всем в коробку. После этого я пользовался на тот момент еще живым Explay Informer 708 3g(за него будет позже - с накаткой полноценного linux), затем планшетов у меня не было. Последовала покупка ZTE V815W - где я первый раз получил рут, поставил кастом, собирал свою прошивку. Было это 7 лет назад, но эта статья не об этом :)
Поиск дисплея
Консоль нонейм - на неё нет официальных запчастей. Совсем. Более того, неизвестен китайский собрат(это не JXD и не YDP). Однако пользуясь опытом, знаю что китайцы в попытках экономии не будут юзать 100500 дисплеев, и наверняка есть где-то аналог. По маркировке на дисплее ничего не нашлось, нашлось по шлейфу. Цена дисплея 2к. Подумал я - нет, дорого. У дисплеев китайских планшетов обычно 40 пиновые или 60 пиновые дисплеи, а дисплеи эти, в отличии от современных, не LVDS, а RGB(TTL), интерфейс - что-то типа VGA, только параллельный и цифровой, т.е 24 бита, по 8 на цвет, и vsync/hsync. Такие дисплеи не требуют инициализации, им нужно просто слать непрерывную картинку, а они ее сразу выводят. Поэтому им не нужны дополнительные драйвера, разве что корректировать тайминги hsync/vsync, но не в этом случае.
Имея данную информацию, пошел искать дисплей от другого планшета - Ritmix RMD-750. Часть схемы как док-во моим словам прикладываю выше. Нашёл на remont174.ru(не реклама если что, НЛО извини) за 250руб, как уценка за неликвидный товар. Заказал в довесок дисплей на Fly Wizard для еще одной статьи, трафареты и стекло на айфон 4. Увы, дисплей флая бракован, так что с ним статья откладывается.
Получил, пришел домой, установил - цвета плавают. Приглянувшись внимательно, я увидел грязь на коннекторе, но сначала свалил всё на тайминги hsync/vsync и думал патчить загрузчик(там идет инициализация дисплея).
Грязь на коннекторе выступала как резистор, замыкая две ножки красного канала. Я его подчистил - чуть ушло, но не совсем. Искал решение с дисплеем весь день, думал уже патчить лезть загрузчик(благо есть исходники u-boot от вендора), но решил почистить коннектор спиртом и отверткой аккуратно ковырнуть грязь. Стоит отметить что грязь влияет из-за высокого разрешения дисплея(800х480), малейшие помехи вызывают артефакты, как на старых КПК). Почистил - дисплей заработал.
АКБ родной пухлый, с ним крышка не закрывается, и хочется поставить хороший аккумулятор. Решение найдено - просверлено два отверстия в задней крышке и выведена проводами банка на 3А с возможностью апгрейдов хоть до 10А :) При апгрейде схемы зарядки можно сделать очень долгоиграющую консоль.
Также на присланном дисплее подсветка не дотягивалась до пинов на плате - поэтому я нарастил провод и заизолировал.
Программная часть
На эту консоль нет прошивок. Совсем. Даже официальных. Консоль уходила в ребут при запуске, вылечилось вайпом. Кроме того, у нас нет тача, надо настроить физические кнопки под андроид, чтобы можно было пользоваться системой без мышки через OTG. Достаем файл раскладки, немного меняем и закидываем. В ребут - у нас есть всё нужные кнопки.
Под данный процессор есть куча кастомных прошивок, и их вроде бы можно даже ставить без модификаций. Нужно проверить как нибудь. Однако дамп системы есть, так что теперь модифицировать можно что-то свободно.
dmesg показал ошибки при попытке записи в некоторые блоки - а значит нанд потихоньку уже тогда начинала умирать. Но пока что жива :)
Затем, я захотел поставить что-то кастомное, шустрее стандартной прошивки. Сделал дампы всех разделов системы через dd, и только потом понял что сделал что-то не так ;) Взял кастом от другой прошивки, взял свой "образ" ядра, подменил - и начал прошивать. При ребуте - висяк на заставке u-boot. Я предположил, что возможно юбут стоит обновить - поскольку консоли все на одной платформе построены, и от одной референсной платы скорее всего. Обновил и получил кирпич. Подпаялся к UART:
И увидел, что свежий u-boot не видит встроенную память. А всё потому, что и в ядре, и в u-boot хранится список поддерживаемой nand памяти с ID. Что же теперь делать? Сдувать откуда-то CBABA и паять на свою? Это слишком просто и крайний вариант - поддерживается ведь 4гб, а у меня целых 8. Я нашел исходники u-boot и первичного загрузчика вендора чипсета, и решил начать с референсной платы - пропатчил её конфиг на поддержку "новой" памяти, отключил ethernet и всё что не нужно, включил поддержку дисплея. Скомпилировал, записал на флешку - запустилась! Загрузчик уже хотел прописаться в внутреннюю память, и я с ним согласился. И зря - ведь ребята из amlogic решили сделать обновление первичного загрузчика вместе с u-boot, а тайминги ОЗУ я ведь не трогал... По итогу консоль теперь валилась на инициализации памяти, я нашел даташит на свою ОЗУ - h5tq2g83efr, однако как я не настраивал местный EMI - тест он не проходил. Поэтому я поступил хитрее - если в юбуте с другой прошивки, первичный загрузчик работал и проходил тест памяти, так почему бы не вырезать его оттуда и не вставить в свой юбут? Так и сделал - консоль ожила до момента юбута, но теперь она не видела SPI флешку и не могла сохранить окружение.
А почему дампы были не рабочие? Потому что сдампились СЫРЫЕ sparse NAND страницы, т.е с служебной информацией контроллера памяти. Восстановлению не подлежит.
На данный момент мне удалось скомпилировать почти полностью работоспособные загрузчики, и я потихоньку думаю, как лучше решать проблему с ядром(от чужого девайса имеет инвертированные цвета и не видит нанд. Вероятнее всего - я переделаю загрузку с внутрянки на MicroSD).
Пользовательские данные, или что хранит в себе планшет 10 летней давности
Зашел в музыку - а там музыка, которую я слушал еще тогда! Immortal, Burzum, Bring Me The Horizon. Сейчас я такое не слушаю(кроме BMTH), но увидеть было забавно. Кроме того, я зашел в галерею и нашел там фотки детства. Было приятно увидеть себя, когда я был еще худым совсем)
После вайпа игр не осталось, но это не важно. Консоль можно было использовать, до момента как я захотел поставить кастомную прошивку.
Опыт из воспоминаний 10 летней давности
Дабы первая часть имела законченный вид, попытаюсь описать свои ощущения от использования консоли будучи школоло. На консоли я в основном играл андроид игры, эмуляторы мне были не очень интересны, но парочку из них я все же погонял. Приятно что образы игр можно было не искать, а зайти в встроенный софт - Happy Chick, это был "магазин" ромов для самых разных платформ - вплоть до psp. Стандартные эмули NES, Sega идут с полной скоростью, в то время как эмулятор PSX требует некоторой допилки - однако во все шедевры можно поиграть типа Driver, или Gran Turismo можно поиграть вообще без каких либо проблем. Игры же андроидные идут - особенно с заточкой под геймпад. Вполне можно погонять Asphalt 6 или 7, Assasins Creed, GTA 3 & VC(SA не пробовал), однако в GTA придется либо переназначать ходьбу на стрелки, либо целится на тачскрине. Можно поиграть в местный аналог H.A.L.O - NOVA, или Dead Trigger. В целом, консоли не хватает тюльпан-выходов(именно тюльпанов, чипсет поддерживает tvout, у второй консоли на том же чипсете есть такой выход, более того - через мини джек!), чтобы приехать на дачу, воткнуть тюльпаны в старый "Panasonic" и играть себе в какую-нибудь классику, или что-то посовременнее. В этом плане консоль раскрывается по новой, да и вообще становится "топ за свои деньги". Кстати, средняя цена на авито - 300-500руб, иногда 1к руб. Так что рубрика бич воскрешений продолжается, а я продолжу рассказывать вам способы найти применение казалось бы устаревшим гаджетам
Выводы
Зачем может понадобится восстанавливать такую консоль? Для меня это был вопрос принципа - ведь это консоль из моего детства, и на ней обнаружились мои старые данные :) Для вас же смысл может быть даже не сделать рабочий девайс, из молодости или детства, а хотя бы даже попытаться достать какие-то старые фотографии и данные, которые казалось бы, были безвозвратно утеряны