четверг, 26 января 2017 г.

МТС Smart Surf2 4G. CyanogenMod 13. Android 6.0.1.

Не так давно, в одном из постов я рассказывал вам про мою сборку CM14.1 (Android 7.1.1) для МТС Smart Surf2 4G. По правде сказать это была "проба пера", т.к. до этого сборкой прошивок для Android я вообщем-то не занимался и многие вещи мне были мало знакомы. CM14 так и не вышла из Alpha версии, некоторые базовые функции так и остались в ней неработоспособными, например - GPS, запись видео штатной камерой, аппаратные OMX кодеки и еще какие-то вещи. Особенно сложно было разобраться с записью видео и кодеками, а когда что-то долго не получается - лучше временно отложить это в сторону, чтобы не тратить время и переключиться на другую задачу (возможно потом решение так или иначе придет).

Другой задачей в данном случае стала сборка CM13 (CyanogenMod 13, 6.0.1). Почему именно она? Ну во-первых на Git'е достаточно много репозиториев с примерами рабочих деревьев (device tree) для устройств на MTK'шных чипсетах именно для CM13. Во-вторых CM13 базируется на Android 6.0.1, также как и стоковая прошивка аппарата, а следовательно различия в программной архитектуре минимальны, что позволяет свести к минимуму, настолько насколько это возможно, все проблемы при сборке ("к минимуму" - это мягко сказано, поскольку на то, чтобы только завести RIL, т.е. связь, ушло около 18 часов работы). Если кому-то интересно, то весь процесс, все проблемы с которыми я столкнулся при разработке дерева для МТС Smart Surf2 4G для сборки CM13 я описал здесь - NOTES.md (т.к. это скорее рабочие заметки "для себя", то приводить их полностью здесь нет смысла).

Дерево для сборки:


В получившейся прошивке на данный момент работают:

  • RIL (сотовая связь), проверялись только голосовые вызовы. Передачу данных не пробовал.
  • WIFi (устанавливается связь с точкой доступа, работает передача данных), однако, возможно что MAC адрес устройства передается некорректно. Пока не было времени посмотреть.
  • GPS (полномасштабный тест не проводился, но в GPS Test'е местоположение определятся).
  • Камера (основная и фронтальная камеры работают в режиме фото).
  • Работает съемка видео (!) штатной камерой и (большинство?) аппаратных OMX кодеков (кодирование видео точно проверено, декодирование, если честно проверить до конца не успел).
  • Светодиод вспышки.
  • Звук
  • Live Display
  • Запись экрана (screen recording)
  • Bluetooth (проверялась только передача / прием файлов между двумя аппаратами, работа с другими профилями, например, гарнтурой и т.п. не тестировалась)

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

Саму прошивку можно скачать здесь: cm-13.0-20170128-UNOFFICIAL-smart_surf2_4g.zip

Установка проводится стандартным образом через кастомный TWRP Recovery, который можно взять в этом посте (смотреть в самом конце - TWRP Recovery 3.0.2.0 для МТС Smart Surf2 4G).

В общей сложности, как можно видеть по истории коммитов на разработку ушла ровно неделя. 

Несколько скриншотов:


Производительность в Antutu Benchmark, как вы можете убедиться из скриншота выше, по сравнению со стоковой прошивкой изменилась не сильно - 28695 очков, против 26392 на стоковой прошивке (с результатами тестов стоковой прошивки можно ознакомиться здесь). Строго говоря разница в 2000 очков - это не показатель, т.к. такая разница может быть на одной и той же прошивке, в зависимости от загруженности смартфона задачами и т.п. По большому счету то что на циане (CM13) смартфон работает быстрее - это миф. "Быстрее" может казаться только из-за того, что по-умолчанию в CyanogenMod присутствует только минимум сервисов, нет операторских приложений, нет большого количества приложений запускающихся при старте системы и нет даже встроенных сервисов Google Play ;)

К слову о них. Сервисы Google Play можно установить с сайта OpenGAPPS (выбирать ARM -> 6.0 -> pico, для того чтобы установить только сервисы Google Play).

Ну вот наверное, если вкратце - то и все. Буду рад видеть ваши отзывы, предложения и пожелания в комментариях.

Обновлено 27.01.2016 07:47 (MSK)

Сегодня заставил работать еще одну вещь, которая не работала в этой прошивке - FM Radio. Теперь радио полностью работает, включая RDS. Обновить zip для прошивки правда пока не успел, но для тех кто собирает прошивку сам из исходников все исправления доступны в этом коммите - fm radio fix. Также хотелось бы услышать ваше мнение, куда стоит выкладывать новые релизы, на Яндекс.Диск и постить ссылки здесь или в раздел Releases на GitHub'е.

Обновлено 27.01.2016 16:53 (MSK)

Ссылка в посте обновлена, релиз cm-13.0-20170127-UNOFFICIAL-smart_surf2_4g.zip опубликован. В обновлении исправлена работа FM Radio. Если у вас до этого была установлена предыдущая версия CM13 - можно ставить "поверх" без Wipe'ов. Кстати, при желании (т.е. теоретическая возможность есть) можно организовать и систему автообновления версий (аналог FOTA), но боюсь что ни времени, ни мотивации на это не будет.

Обновлено 28.01.2016 21:03 (MSK)

Версия прошивки обновлена, в релизе cm-13.0-20170128-UNOFFICIAL-smart_surf2_4g.zip исправлена ошибка с флагами монтирования раздела nvdata, которая приводила к невозможности запуска прошивки после установки через zip-архив, на устройствах с переразмеченной памятью (увеличенным разделом userdata за счет system).

Также выложена версия этой прошивки для SP Flash Tool с переразмеченной памятью (!) и увеличенным объемом раздела userdata:


Как вы можете убедиться из скриншота в переразмеченной версии пользователю доступно 5.52 Gb для хранения собственных данных и данных приложений вместо 3.59 Gb штатно. Это должно решить проблемы со свободным местом у пользователей по каким-либо причинам не использующим SD-карту на телефоне. Системный раздел (/system) при этом уменьшен ровно до 1 Gb (1073741824 байт), этого достаточно для работы системы и установки GApps Pico.

Скачать прошивку c увеличенным размером раздела userdata (переразмеченной памятью) можно тут: cm-13.0-20170128-UNOFFICIAL-smart_surf2_4g_flashtool.rar (пароль на архив: decker.su)

При прошивке в SP Flash Tool выбрать режим "Firmware Upgrade".

Внимание!  Материалы приведенные в данной статье размещены в ознакомительных целях. Все действия описанные в данной статье вы осуществляете на свой страх и риск! Автор(ы) статьи не несут ответственности за вышедшее из строя оборудование, в результате ошибочных действий или неверного понимания вами смысла изложенного в ней материала, а также в силу любых прямых и косвенных причин, которые потенциально могут привести к неработоспособности вашего устройства или любым другим проблемам с ним. Если вы не уверены в своих силах, сомневаетесь и т.п. - не выполняйте ничего из вышеописанного. Используя материалы из этой статьи вы соглашаетесь с тем, что ответственность за ваши действия несете вы и только вы.

6 комментариев :

  1. Простите я дно, а супер су опять шить, рли так все ровно?

    ОтветитьУдалить
    Ответы
    1. Ну если вам он необходим - то, да, прошивайте.

      Удалить
    2. Для работы прошивки он не нужен. Т.е. если у вас установлен TWRP, и вам к примеру не нужен SuperSU и root права, то достаточно просто прошить архив с прошивкой через опцию Install Zip в TWRP.

      Удалить
  2. А как попасть в инженерное меню на этой прошивке? Ни одна прога его не запускает :(

    ОтветитьУдалить
    Ответы
    1. Никак, потому что его там физически нет. Инженерное меню доступно только на стоковой прошивке, а любые приложения, которые вы можете найти в Play Market являются не более чем ярлыком для него.

      Удалить