Что вы скажете, услышав сейчас "смартфон с тачскрином, большим 4.2" дисплеем и ОС Android за 4.000 рублей"? Ухмылку? А в 2011, когда смартфоны на Android стоили немалых денег? Когда основной мобильной ОС в СНГ была Symbian? Когда встретить кнопочный аппарат можно было куда чаще, нежели полноценный смартфон с тачскрином? Я тоже помню это время, а ещё это время помнит наш сегодняшний гость - прямой представитель тех самых "топовых девайсов за свои деньги" Hero H7000! Этот девайс был выпущен в начале 2011 года, и является одной из первых китайский подделок на Android, причём копировал он Windows Phone смартфон - HTC HD7! В этой статье мы будем портировать прошивку с другого аппарата, и посмотрим - как можно применить такой девайс в наше время

Предыстория

В 2011 году, заводы производившие китайские подделки на известные брендовые телефоны видели, как Android всё больше набирал популярность в сегменте мобильных телефонов. Все китайские телефоны до этого момента строились на базе своей платформы - чипсете mt62xx, и своей прошивки MAUI, построенной на базе nucleus rtos. Данная платформа была разработана примерно в 2006 году, поддерживала и кнопочные девайсы, и тачскрины, и была очень дешёвой по сравнению с конкурентами. Поэтому начали появляться недорогие подделки на брендовые аппараты, которые отнюдь не были обделены функционалом, как минимум - на время своего выхода.

Вспомнить например китайскую подделку на Nokia N95:

За 3-4 тысячи рублей вам предлагали практически полностью металлический корпус, стильный дизайн в стиле флагмана, очень большой(по тем меркам), и зачастую сенсорный дисплей, очень простую камеру с возможностью записи видео, и функции мультимедийного комбайна - проигрывание видео, музыки, поддержка microsd, иногда - поддержка Java приложений(в зависимости от чипа и прошивки). Конечно же такие девайсы были очень популярны в СНГ, особенно на заре их выхода(2007 год), ведь для сравнения - флагманский k750i всё ещё стоил около 10.000 рублей. Как же не устоять перед таким предложением, когда некоторые всё ещё ходили с монохромными кирпичами!?

С выходом первого iPhone, китайцы умудрялись выпускать очень необычные копии. Как вам подделка под iPhone без тачскрина с подключаемой qwerty клавиатурой?

Или вот такая дичь?

А айфон на мобильной винде, который стоил не сильно дешевле оригинала!?

Такой дичи было очень и очень много, и именно китайские аппараты прочно завоевали особое местечко в сердцах российских обывателей. Но шло время, позиции прочно заняли смартфоны, а MediaTek - разработчик той самой платформы решили сделать свой первый смартфонный чипсет, и имя ему было - MT6516!

Это был формально двухядерный SoC(основное ARM ядро, плюс ядро выполняющее функции модема), и несмотря на эдакую неполноценную двухядерность, китайцы всё равно гордо писали "Dualcore" в названиях своих девайсов. Сам MT6516 был изначально чипсетом для коммуникаторов на Windows Mobile - этим и объясняется выбор архитектуры ARMv5, и его тактовая частоты - 400мгц(для Windows Mobile это более чем достаточно). Чипсет был относительно дешевым, и поскольку ориентировался на WinMobile(которая сама по себе не прожорлива) - в нём не было GPU. После того, как Microsoft прекратила поддержку WinMobile, китайцы не растерялись - а портировали Android 2.2 на свой чипсет, и начали делать очень бюджетные смартфоны!

В 2011 году для относительно недорогих смартфонов(7-8 тысяч рублей, ~300$) уже был чипсет Qualcomm MSM7227, работающий на частоте 600-800мгц и использующий графический ускоритель Adreno 200. Устройства на нём были не флагманскими, но работали достаточно шустро за свою цену. Китайцы же предлагали свои смартфоны всего за 3-4 тысячи рублей(~130$), на всё ещё актуальной Android 2.2, но на достаточно старом чипсете и без графического ускорителя. Причём в то время размер экрана всё ещё был немаловажен - "лопата" выглядела круто, а 4.2" - считался большой размерчик, и если бюджетные Fly или Explay на msm7227 обладали дисплеем в 3.2-3.6 дюйм, то китайцы предлагали вплоть до 4.2 дюйм, а возможно и больше, при цене в два раза ниже! Конечно же такое предложение выглядело заманчивым!

На небольшие тормоза интерфейса никто внимания не обращал. Это сейчас людям кажется отсутствие 120гц в стареньком iPhone - "тормозами", а ведь на тот момент практически все телефоны подтормаживали: например те же Symbian смартфоны любили "призадуматься". Но особенно это касалось тачфонов - многие уже пересели на сенсорные телефоны, не являющиеся смартфонами, и вот у них действительно интерфейс был не быстрым. То, что интерфейс китайского айфона вам кажется отвратительно лагающим - на самсунгах аля s5230 ситуация была не то чтобы кардинально лучше :) Поэтому всем некоторая тормознутость была в привычку.

Возвращаясь к теме Hero H7000, я его купил у своего знакомого, с которым мы находимся в одном сообществе по ретро-мобилкам. Несколько месяцев назад я написал пост на стену с розыском китайских подделок, и он откликнулся, показав мне данный девайс с недостатками в виде слабой АКБ и очень больших тормозов в системе. По его словам, он пытался вычистить хлам из системы и поставить рут, но смартфон быстрее работать не стал. Я ему предложил цену в 400 рублей, он предложение проигнорировал, но затем спустя пару месяцев предложил продать данный аппарат за 500. Я конечно же согласился - а спасибо говорим читателям, которые помогли финансово с покупкой новых ништяков - на данный момент такие китайцы весьма редкие, и найти их на барахолках может быть весьма проблематично(хотя-бы потому, что у них зачастую нет брендов. Весь бренд - это надпись "Android").

Смартфон доехал ко мне почтой России, и сразу же без проблем включился. Что я сразу подметил - отличный дисплей для такого дешевого девайса. Да и сам он не то чтобы компактный, собран неплохо, люфтов или скрипов нет, материалы хорошие. Конечно же девайс копирует HTC HD7, и визуально всё хорошо, а каков он в программном плане?

Апгрейд

Тормознутость смартфона подтвердилась. Работал он очень медленно, но не в плане обработки операций - а в плане отрисовки интерфейса. Само собой первым делом его нужно попробовать перепрошить, однако вот незадача - на смартфон нет официальных прошивок. Совсем. Все ссылки что я нашел - давно "протухли", потому я решил действовать исключительно своими силами - установить прошивку с другого аппарата. Задачу облегчило то, что девайс с завода был с root правами - это частая фишка ранних китайцев. В первую очередь нужно понимать, что установить прошивку можно не с любого девайса, а только с таким-же(или схожим) чипсетом и с той же версией ядра. В случае MT6516 - она одна и та же(Android 2.2, ядро 2.6). Я зашёл на свой любимый helpix т.к там есть сортировка по чипсетам, и нашёл вот такой texet tm-3000 тех лет:

RAM и ROM напутали. Обычно в такие девайсы ставили 512мб NAND и 256 ОЗУ. В моём точно так же стоит 512мб NAND.
RAM и ROM напутали. Обычно в такие девайсы ставили 512мб NAND и 256 ОЗУ. В моём точно так же стоит 512мб NAND.

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

Эта прошивка для прошивки из под recovery как update.zip. Если ваш смартфон не грузится даже в recovery, то необходимо искать на плате пятаки rx/tx, либо делать прошивочный кабель(замыкая otg пин microusb на землю). Десктоп хоть и видит MediaTek Preloader - любой софт валится на ошибке отправки bootrom, и шьётся только через UART.

Прошивать бездумно update.zip тоже не стоит - кроме самого раздела /system/, там зачастую находится раздел boot с ядром системы. Если вы прошьёте чужой boot с ядром не от вашей платы - получите белый экран/артефакты/отвал звука/неработающий тач. Тоже самое касается прошивок для flashtool - бездумно прошив "левый" preloader или u-boot(на mt6516 именно u-boot, на следующих чипсетах пошёл lk) - получаем тяжело-поднимаемый кирпич.

Поэтому сначала имеет смысл сделать бэкапы. Для этого открываем cmd и заходим в adb shell и смотрим точки монтирования:

Я попытался сдампить сырой образ раздела на карту microsd, и в большинстве аппаратов с eMMC такая операция проходит успешно. Но в случае сабжа, по какой-то причине операция сваливалась в IO error и я получал некорректный образ. Вероятно кто-то скажет, что проблема была в том, что в фоне /system/ мог перезаписываться но нет - /system/ в android монтируется как readonly по умолчанию.

Поэтому я сторонней утилитой решил сделать уже монтированного раздела system в yaffs(можно так же ext2, главное - сохранить права! Просто так cp -rf на microsd, которая отформатирована в fat не выйдет):

Образ системы сделан, но здорово было бы архивировать вообще всё что возможно - preloader, boot.img с ядром, рекавери, nvram и прочее. Для этого я поочередно скопировал с dd их на карту памяти командой:

dd if=/dev/block/mtdblock of=/sdcard/mtdb

Затем чтобы понять где и что у нас - я открывал их блокнотом и смотрел заголовок:

Слева - uboot, справа - образ boot.img(всегда начинается с magic слова ANDROID, скорее всего recovery). С u-boot'ом в теории можно пообщаться через uart, и попробовать загрузить систему, например, с microsd.

Теперь на случай, если система свалится в бутлуп и у меня была возможность хоть что-то сделать, я проверяю есть ли у нас ADB до этапа загрузки системы. В моем случае(на китайцах так часто бывает) - за это отвечают флаги ro.secure и ro.debuggable в default.prop boot.img. Если у вас secure = 1, а debuggable = 0, распакуйте образ boot.img(с помощью andimgtool, и recovery.img тоже не забудьте) измените default.prop, запакуйте обратно и запишите например через dd. Только сначала определите где у вас /boot/!

Мы берём прошивку от texet. Что у нас внутри? В папке system - сам образ прошивки, причём с ещё не выставленными правами. В META-INF находится подпись архива и скрипт обновления. Для того, чтобы скрипт обновления не сыпал ошибками, нам нужно удалить из него обновление boot.img и проверку версии платы.

Подчищаем скрипт, у меня была ещё более старая версия update-script, в неё я тоже внёс изменения, и с чистой совестью удалил boot.img из архива. Однако внося изменения в архив, мы разрушили его подпись. Его нужно переподписать - а что самое приятное, китайские вендоры зачастую подписывали свои сборки тестовыми ключами - т.е самыми стандартными, которыми подписываются отладочные сборки. Кто-то скажет что это костыль и дыра в безопасности, так оно и есть - но нам это играем на руку. Впрочем recovery 3e обходится ещё какой-то замудренной проверкой подписи.

Для этого подписываем наш update.zip с помощью signapk.jar из состава android sdk: java -jar signapk.jar public_key private_key update.zip updates.zip.

Переименовываем updates.zip в update.zip(это важно! Старые версии recovery принимали только update.zip) и кидаем на флешку. Перезагружаем телефон в рекавери, можно двумя путями: либо с помощью команды adb reboot recovery, либо зажав громкость вверх и включение на выключенном аппарате. Устройство загрузится в режим recovery:

Жмём apply update.zip:

Если вы всё сделали правильно - пойдёт процесс прошивки(иначе выдаст ошибку подписи). Если процесс пройдёт успешно - делаем wipe cache, wipe data и перезагружаемся. Первая загрузка может быть долгой - помните я говорил вам про включение adb до загрузки? Это нужно для того, чтобы в случае ошибок вы могли посмотреть logcat:

Проходит минуты 2-3 и смартфон загрузился! Но однако, всё слишком мелко - мы портировали прошивку с устройства с дисплеем 240x320.

Для того, чтобы поправить это нам нужно вытащить build.prop из раздела /system/ командой:

adb pull /system/build.prop

затем отредактировать lcd_density на нужный dpi(я поставил 240) и передать его обратно.

Для этого нужно примонтировать раздел /system/ в readwrite командой:

mount -o remount, rw /system/

И закинуть файл:

adb push build.prop /system/

Перезагружаем устройство и всё стало куда лучше!

На этом процесс портирования закончен - из коробки работает всё что нужно, так как по сути устройства построены на одной платформе и прошивки для них отличаются минорно. Инструкция актуально не только для 6516, но и самым разным китайским устройствам - планшетам на allwinner, смартфонам на spreadtrum - об этом у меня была отдельная статья. Версия Android у нас осталась та же - Android 2.2

А теперь предлагаю посмотреть, как можно использовать устройство на настолько старой версии Android в 2022. Интересно?

Об устройстве

Встречает нас стандартное меню тех версий Android - весьма удобное, шустрое, таковым оно было до версии 2.3.

Однако в меню аппарат всё равно тормозит. И проблема не в производительности ЦПУ, а в том, что у девайса нет видеоускорителя. Все анимации отрабатываются на ЦПУ, а каждый кадр анимации(такой как прокрутка) - перерисовка всего дисплея. Именно это нагружает цпу. Менюшка мне нравится больше чем в современных версиях Android, здесь она ещё вертикальная:

Шторка уведомлений тоже очень сильно отличается от той, что мы привыкли видеть в наше время, здесь нет быстрых опций, нет возможности смахнуть отдельные уведомления, и нет группировки. Хоть сколько то похожую на текущую шторку уведомлений сделала Samsung в 2.3 с выходом Ace 2/SGS II

Даже если использовать аппарат как звонилку, тут тоже всё достаточно непривычно - привыкли к номеронабирателю новых версий Android? А здесь у нас реальный минимализм, чисто звонки/контакты. Похоже на оный в первых версиях iOS:

Конечно же есть импорт/экспорт конактов, а раньше была возможность синхронизации в Google аккаунт.

Конечно же я без проблем смог залогинится в гуглопочту, аппарат всё ещё достаточно удобен как почтовый клиент. Нет никаких проблем с входом с помощью пароля приложений, только надо поставить "принимать все SSL сертификаты":

Некоторые пункты меню были выполнены ярылками. Например диспетчер задач открывал меню приложений в настройках:

А "вконтакте" открывал браузерную версию, которая ныне хоть и грузится но очень медленно.

Что касается интернета - девайс не поддерживает 3G, только 2G, хотя с wi-fi проблем никаких нет. Если 2.3 не открывает половину сайтов, то у 2.2 вообще с этим очень туго всё, но кто отменял Opera Mini?

Музыкальный плеер самый стандартный - и по совместительству, мой любимый. Я до сих пор не перевариваю Google музыку, и использую этот плеер за его лёгкость, удобность и дизайн. Динамик у девайса так себе, но ничего удивительного нет - это ведь бюджетник. Как плеер девайс подойдет, особенно когда вы узнаете о фишке ниже.

Иногда устройство хочется поставить в горизонательном положеии - для просмотра фильма, или для того, чтобы поиграть в игру. Для этого есть чехольчики, особо ухищренные ставят книжку или типа того. Но китайцы тут пошли дальше - если у нас есть большой дисплей высокого по тем временам разрешения, удобный для просмотра кино, то почему бы не сделать встроенный функционал подставки:

Открываем задвижку сзади и хоба:

Девайс можно использовать для просмотра фильмов, как плеер с визуализацией или красивые часы-будильник-фоторамка!

Видео однако я посмотреть не смог - хотя девайс их поддерживает. Пока я рыскал, исследуя устройство - наткнулся на устройства DSP, 3GP_DEC, MP4_DEC, MP4_ENC, они говорят сами за себя. Нужно скопировать оригинальные либы из родной прошивки(именно поэтому делайте бэкапы!) библиотеки-декодеры(видимо что-то связанное с DRM, поскольку звук есть) из /system/lib/hw.

Заключение

Девайс на своё время был экспериментом - можно ли сделать дешевый смартфон на честном современном Android, с большим дисплеем и тачскрином с поддержкой нескольких касаний, да ещё и с фирменной "фишкой" - и да, он удался. Устройство было достаточно популярно у нас, хоть и сейчас найти его проблематично. Сказывались проблемы с его поддержкой производителем, но от этого он не становился хуже.

Бесполезен ли он сейчас? Отнюдь нет. Например, на него можно установить веб-сервер с PHP и гонять домашнюю страничку. Сделать файлопомойку для бэкапов(в довесок к основной) с SAMBA сервером. Сделать DLNA сервер. А можно поставить как часики или фоторамку - фирменная фишка позволяет. Но стоит ли данный девайс выбрасывать? Я считаю что нет, это устройство за свои 3-4 тысячи рублей в 2011(когда за эти деньги можно было купить разве что сенсорный lg cookie на java) девайс был очень крутым - это полноценный смартфон как никак. Пусть он и достаточно быстро потерял актуальность, но как для бюджетника - свою роль он выполнил! А вы как считаете?

Комментарии (17)


  1. bodyawm Автор
    15.11.2022 20:42

    На самом деле девайс даже мощнее можно купить ещё дешевле - примерно за 100-200 рублей, особенно если у него разбитый тачскрин. "Высокая" цена этого девайса обусловлена лишь его редкостью - увы, подобные мобилки зачастую просто валяются на мусорках :( Если у вас есть цель сделать из смартфона автономный маломощный сервер а 5$, т.е сэкономив на походе в старбакс, почему бы не реализовать задумку? Даже разбитый тачскрин не проблема - ведь девайсы поддерживают otg и к ним можно подключить клавомышь, а в некоторых случаях(старые сонерики) даже отдельный HDMI! Так может не стоит выкидывать ништяки в шкафах?


    1. bodyawm Автор
      15.11.2022 20:42

      НЛО, постарался все затронутые хабы добавить, но если где-то что-то не то сделал, поправьте пожалуйста :) спасиб


      1. bodyawm Автор
        15.11.2022 20:56
        +1

        А вот гифка как работает девайс)

        https://im4.ezgif.com/tmp/ezgif-4-569a1a0798.gif


  1. bodyawm Автор
    16.11.2022 07:36

    В комментах получился какой-то монолог, всё же не порекомендую использовать софтину mkfs.yaffs2: я сейчас перепроверил образ - он просто забит нулями на 200 метров, образ повреждён.

    Лучше средствами busybox сделайте образ ext2(dd if=/dev/zero of=/sdcard/dump.img count=размер образа в кб, а затем busybox mkfs.ext2 /sdcard/dump.img), примонтируйте его прям под adb shell(busybox mount /sdcard/dump.img /sdcard/mountpoint) и скопируйте рекурсивно с сохранением прав всё из /system/ туда. В моем случае в ядре вообще не оказалось поддержки loop устройств(т.е образ примонтировать нельзя), и дабы не пересобирать модуль вручную, можно взять не нужную флешку и отформатировать её в ext2(можно из под самого adb shell тем же mkfs.ext2), и уже туда всё скопировать.


  1. atrost
    16.11.2022 08:43
    +1

    @bodyawm- такой продадите? :) Очень понравился, понимаю что нынче это коллекционная модель скорее всего :)))


    1. bodyawm Автор
      16.11.2022 09:25
      +1

      привет, фото не моё :) но если бы был такой в единичном экземпляре у меня - не продал бы, слишком классный ништяк))

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


  1. Vitaly83vvp
    16.11.2022 09:05
    +3

    А я ещё помню смартфоны с четырьмя симками и радио/тв. Там ещё для этого антенна была телескопическая.


  1. Zara6502
    16.11.2022 09:09

    1) Вопрос - за 4000р можно купить например Asus Zenfone Max Pro M1 3/32 на 9 андроиде, у вас покупка преследовала конкретную цель или вы просто не ориентируетесь на рынке (и/или фильтрах Авито)?

    2) Тот аппарат который вы мучили можно купить за 100р если найдёте живой.

    3) Тормознутость не столько из-за обсчета на ЦПУ сколько из-за самого ЦПУ, MTK это безумно медленные процессоры, но и безумно дешевые. Сейчас новые G80-G99 хоть что-то начали из себя представлять и подобрались к Qualcomm.

    4) MTK просто отлично сделан для экспериментов, усб в ядре и вы имеете прямой доступ (например взлом NES Mini с помощью hackchi2)


    1. bodyawm Автор
      16.11.2022 09:33
      +1

      1) Преследовала цель купить китайца. Хочу потом попробовать винмобайл накатить, это чипсет изначально под вм, но надо думать с дровами на тач и дисплей(

      2) Нельзя) на 6516 девайсов очень давно нигде нет :( Этот подвернулся по знакомству только. Но на каком нибудь другом мтк, например флай на 6577 - легко :) и даже с гораздо лучшими хар-ками.

      3) В MTK есть так называемый external lcd interface, который собственно, управляет выводом изображенияна дисплей с параллельной шиной/MIPI. По всей видимости он не умеет не блиттинг, ни какие либо еще растровые операции, от того и такие тормоза - всё считает проц. Не стоит забывать что в менюшке например аффинные трансформации применяются(эффект ухода значков "назад", а в проце насколько я знаю нет FPU, и проц вообще всё вручную считает. т.е с операциями проблем нет - почту шустро грузит, в приложения заходит тоже(как для 400мгц проца), но интерфейс из-за его комплексности - тормоз. В винмобайл графика так не перегружена и винда сама перерисовывает только то, что изменилось.

      4) Так и есть) otg тут тоже возможно распаян. Вообще платформа этого аппарата называется Bird, в то время как все более новые MTK - Alps, и что интересно - на плате вообще никакие пятаки не подписаны в отличии от обычных китайцев где тебе и vbat продублируют и uart выведут. Благодаря UART можно сделать что-то типа малинки если на uart нацепить gpio expander. Будет не быстро - но по духу близко к rpi, учитывая что в режиме recovery можно получить доступ к сырой консоли и сырому запуску любых linux cmdline приложений, без загруженного тяжелого ведроида.


      1. Zara6502
        16.11.2022 11:30

        1-2) понял, отстал

        3) на моей практике это не подтверждается, я параллельно использовал железо в связках MTK+Mali 400 и Snapdragon+Mali 400 (с последним не уверен что именно мали, но вроде он) и МТК всегда был тормозной бякой и совсем не в отрисовке интерфейса. Но я не в курсе какой флеш и оперативка были и там и там, так что может статься что для МТК просто всегда использовали всякий дешман.

        4) А мне вот жутко хотелось бы чтобы кто-то запилил андроид 9-12 на аппараты Lumia хотя бы 800-900 серий

        Подписался на вас, статью по развитию темы еще планируете же написать? ;)


        1. bodyawm Автор
          16.11.2022 11:37

          Тут сказывается то, что квалки лучше оптимизируют ОС под свои чипсеты. т.е тут не самы чипы слабые - они сами по себе за свою цену очень даже ничего. Но если китайцы насрут своими приложениями и сервисами для слежки - то это негативно скзаывается на общей про-сти

          В профиль загляните, эта статья далеко не первая с таким уклоном. Был моддинг девайсов на спредтруме и мтк(айфон китайский))


          1. Zara6502
            17.11.2022 07:19

            при установке неоригинальных прошивок с вырезанным софтом картина не меняется, поэтому я никак не связываю тормознутость МТК и китайские кривые программы для слежки. Но не вижу смысла спорить, у меня такой опыт, у вас другой, тем более вы на 10 голов лучше меня в этом разбираетесь.

            у меня есть HTC Desire S, было бы интересно заиметь для него прошивку на андроид 7 хотя бы, если хотите поиграться с ним и сделать статью, то я мог бы выслать аппарат. В стоке там 2.3, но позже была выложена 4.0.4 на которой он и работает, но современным софтом уже не воспользоваться.


            1. bodyawm Автор
              17.11.2022 07:47

              Так под 2.3 андроидом ядро обычно 2.6, для 7 ведра как минимум 3.4 нужно, там очень много гемора по портированию будет :) Это не невозможно, но я обалдею копаться в вендорских сырцах.


              1. Zara6502
                17.11.2022 11:47

                есть официальная 4.0.4, а там какое ядро? а Lumia 640XL перевести на Андроид?


  1. tonyrouge
    16.11.2022 14:46

    А айфон на мобильной винде, который стоил не сильно дешевле оригинала!?

    Не Meizu ли? Был у них как раз клон айфона на винде, андроид когда ещё не изобрели.


    1. bodyawm Автор
      17.11.2022 07:47

      привет, неа. Daxian T999 загуглите)


      1. tonyrouge
        17.11.2022 12:03
        +1

        Да. Это не он. За давностью забыл :)) У Meizu действительно был свой 3GS на винде — https://mobile-review.com/review/meizu-m8.shtml, я такой даже видел у студентов :))
        Кстати, моделей M8 у них, оказывается, две — этот клон, и обычный андроид-смартфон.