В продолжение предыдущей статьи про "Lumia". Бэкапы есть, фулл дамп есть, так почему бы не продолжить моддить аппарат? С хардварной стороны есть некоторые интересные проекты - например прикрутить AUX FM-трансмиттер(будет фишка как у некоторых старых флагманов Nokia), поставить АКБ от планшета на несколько ампер, припаять плату от повербанка, чтобы можно было заряжать от телефона ещё что-то. Но хардварный моддинг так или иначе требует вмешательство в конструкцию девайса, а поскольку этот девайс целый - нарушать его целостность я не хочу. Но я в подробностях попытаюсь показать портирование прошивки с другого схожего девайса на данный аппарат! Зачем это нужно? Например если у вас лежит аппарат на таком чипсете кирпичем - с слетевшей прошивке, висящий на заставке, а прошивки никто и никогда не выкладывал под него. Таким образом - его можно поднять. Кроме того, закосы и под айось, и под WP очень тормозные сами по себе. Поставив "полусток" можно заметно ускорить девайс и продлить ему жизнь. Интересно? Добро пожаловать!

Подготовка

В первую очередь нам нужен recovery - из под recovery мы сможем подключится к adb, и без полной пересборки образа системы что-то поменять. Поскольку портирование прошивок - это копание в конфигах и подмена драйверов, то полностью перешивать образ мало того что долго, так еще и вредно для NAND флешки. Берём рекавери CWM от какого нибудь аппарата на схожем чипсете, я взял от Fly IQ238(только отличии в том, что у флая ext2, а у меня yaffs2) и он завелся без изменений. В случае смартфонов на других платформах(например mtk nand и mtk emmc - у них чуть разные fstab'ы) - берем родной рекавери, распаковываем с помощью AndImgTool и подменяем fstab'ы донора и родной. Собираем тем же AndImgTool обратно, и прошиваем родным флэшером(researchdownload):

Теперь пишем adb devices.

Отлично! В случае sc6820, для доступа к шеллу нужно подмонтировать /system/. Для этого идём в mounts & storage, и тыкаем mount /system/. Теперь оболочка должна заработать. Рут не нужен, cwm монтирует раздел как rw(можно читать и писать). Однако есть еще нюанс! Разбираем тем же AndImgTool родной boot.img, открываем build prop и ставим ro.debuggabe 1, ro.secure 0 и пересобираем обратно. Зашиваем готовый архив на девайс - теперь у вас есть adb даже на этапе загрузки, например если тач не работает и не получается активировать adb из настроек.

Ставим плагин adb для total commander, зашиваем желаемую прошивку и идем ее патчить. Запустилась? Хорошо, значит образ системы тоже в yaffs2(или ext2, в зависимости от платформы вашего девайса). Желательно сделать вайпы.

Исправляем косяки

Ой, дисплей перевернут вверх-тормашками? Какая досада, идем в build.prop, и меняем hwrotation на 0(или на 180), и отправляем девайс в ребут:

Если все выглядит слишком жирно - значит в прошивке-доноре другое разрешение дисплея, соответственно и dpi другой, специально для того девайса. Меняем dpi(lcd_density) на тот, что стоял в стоке, и затем корректируем его до идеала.

Упс, и тачскрина у меня нет. Я понял как работает механизм подгрузки дров в устройствах на Spreadtrum, однако часть дров все же слинкована с ядром намертво - это драйвер(а) дисплея(в одной прошивке может быть несколько поддерживаемых дисплеев), камер, и драйвер контроллера питания. Без драйвера КП зарядка не идет, и девайс висит на 0%(т.е без зарядки выключается сразу). На устройствах Spreadtrum модули ядра лежат в /system/sps, а симлинки некоторых прокинуты в lib/modules. Все это подгружается в init.sp8800.3rdparty.inc(в boot.img). Что делать в случае отсутствия тачскрина? Копируем всю родную папку sps с заменой, при необходимости, можно прокинуть симлинки(или просто скопировать еще раз) модули в lib/hw/. Звук, wifi, bt, радиомодуль - все это подцепится автоматически, поскольку совместимо между устройствами.

GT9xx - драйвер тачскрина в моем случае. mxc622x - акселерометр(гироскоп). Это все что нужно скопировать, чтобы порт прошивки заработал.
GT9xx - драйвер тачскрина в моем случае. mxc622x - акселерометр(гироскоп). Это все что нужно скопировать, чтобы порт прошивки заработал.

Перезагрузились - ура! Тачскрин заработал. Такс, вроде бы неплохо, но чего то не хватает. Так может если у нас есть root доступ, сразу закинем su и поставить superuser?

Если вдруг у вас девайс не видит АКБ, то нужно пересадить свое ядро в донорский boot.img. Для этого подменяем zImage из оригинала в донор, и в доноре 3rdparty.rc меняем путь на загрузку вашего драйвера тачскрина(или если лень этим заниматься - просто симлинк создаем на gt9xx_ts.ko(у вас тач может быть другой) в system/lib/modules или sps/, зависит от прошивки. Путь подсмотреть можно в том же 3rdparty.rc). Проделываем с default.prop тоже самое, что в первой части статьи. Прошиваем донорский boot, и все датчики должны подцепится. Финальная загрузка и...

Все работает! Отлично! У меня на порт ушло ~1 часа, и пол дня вчера, на разбор что и как работает у спредтрумов. Однако это не просто визуальное улучшение - прошивка от "Samsung" бегает заметно шустрее, и не тормозит, как аналог с интерфейсом WP. Таким образом можно адаптировать прошивки под аппараты, на которых невозможно найти родную прошивку - ищем прошивку где работает тач, и где работает дисплей, и из двух делаем одну! Так зачем отправлять аппарат на помойку, если с него можно извлечь толк?

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


  1. azzas
    08.10.2022 10:00
    +1

    «Так зачем отправлять аппарат на помойку, если с него можно извлечь толк?»
    А какой толк вы планируете из девайса извлечь? Более менее актуальный софт на него уже не ставится, так как ведроид 4.1. Экран маленький. Ну разве что использовать как таймер, напоминалку и очень запасной девайс, на ну очень крайний случай.


    1. bodyawm Автор
      08.10.2022 10:05
      +4

      Ведроид 2.3 :) Просто подрисован в четверку, это модно было когда-то.
      Экран не показатель, были лопаты на том же чипсете и 5, а то и 6 дюймов. Правда с разрешением 480х232 или около того). Некоторые модели были с ips(у меня была такая).

      Плеер, видеоплеер, будильник, заметки, звонилка на две симки, простенький браузер, простенький сервер, кард ридер для SD, файлопомойка на самый крайний случай(например репозитории на всякий пожарный скинул на основные диски + на флешку этого девайса), мобильные игры до 2012 года(а это вся годнота на самом деле), эмуляторы. Мало применений для девайса за 100-200 рублей? Дексп из днса кнопочный за 500руб может так же?


      1. bodyawm Автор
        08.10.2022 10:06
        +2

        По списку:

        Почтовый клиент, Viber, ВК скрипя-пердя в мобильной версии


  1. bodyawm Автор
    08.10.2022 10:10

    Кстати, есть девборда на похожем чипсете - orange pi 2g iot, на rda8825(схожий чипсет судя по всему, отличается gpu. RDA - ныне часть Spreadtrum)


  1. Zamix80
    08.10.2022 21:30

    Про кардридер для сд, мне кажется немножко неудобно или Вы удаленно смотрите файлы ? Остальное применение отличное. У меня например есть Филипс Ксениум с андроид 4.0, там и камера еще неплохая 8мп, ну что-то я вменяемого софта практически не мог найти. Ну там своя оболочка неудобная. Что для меня самое непонятное - это как следить за тарифом, если приложения от мобильных операторов уже не установить. Какой у вас простенький браузер ? У меня не идет, на принимаются сертификаты. Как бы получается оффлайн-телефон.

    Ну еще применение- это организовать точку доступа с повербанком. Интересно а нет ли такого чтобы применить смартфон как усилитель роутера ? Так бы разбрасать по квартире парочку тройку с повербанками ?)


    1. bodyawm Автор
      08.10.2022 21:39

      можно удаленно, да. Opera Mini, старенькой версии.

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


  1. Didimus
    09.10.2022 08:46

    Лежит микрософт люмия с Виндоус. 535-я, кажется. Что-то полезное на ней можно сделать?


    1. bodyawm Автор
      09.10.2022 10:18
      +1

      10ку накатить с костылями. Будет и ВК с музыкой, и браузер относительно современный(Edge). На 640 можно 10ку полноценную накатить как и на 950


      1. Didimus
        09.10.2022 15:35

        Инструкцию бы?