TeamWin Recovery Project (TWRP) для платформы MTK

Прошивки и их моды\ Кухни\ Игры и приложения\ Различные настройки\ Различные вопросы по ОС Android и WM и т.п.

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#1 » javum » 20 ноя 2012, 12:17

Team Win Recovery Project (TWRP)

Случайно наткнулся на просторах интернета на новую разработку recovery с полностью сенсорным управлением. Теперь не нужно нажимать на аппаратные кнопки вообще!
Позже выяснилось, что, известный многим, recovery из прошивки LeWa - это ничто иное, как TWRP с другой темой оформления.

Описание (особо важные функции):
  • Сайт разработчика
  • Графический интерфейс с полным сенсорным управлением
  • Пакетная установка патчей (до 10шт в очереди)
  • Настраиваемые бэкап/восстановление. Вы можете выбрать какие разделы бэкапить/восстанавливать, нужно ли использовать сжатие и генерировать md5-суммы, задать собственные имена бэкапам и удалить ненужные прямо из recovery
  • Отображение времени (часовой пояс настраивается отдельно), заряда батареи и процесса зарядки
  • Сохранение настроек recovery на SD-карте
  • Встроенный Terminal Emulator
  • Возможность подключения обеих карт памяти к компьютеру в качестве USB-носителей
  • Встроенный файловый менеджер с возможностью копирования, перемещения, удаления, переименовывания, изменения прав доступа
  • Детализированный лог-файл
  • Поддержка темизации (подробнее: тут, тут и в Google)

Поддержка MTK:
  • MT65x3 - не проверено (если кто-то соберет и проверит - будет супер)
  • MT6575/6577 - проверено, работает. Для корректного определения размеров, бэкапа и восстановления emmc-разделов нужен мой патч. Патч давно в официальном git: тыц

Как собрать TWRP из исходников:
  • Оригинальная инструкция (англ.): http://rootzwiki.com/topic/23903-how-to-compile-twrp-from-source/
  • От себя добавлю - сначала научитесь собирать CWM recovery (инструкций море: тыц, тыц и еще вагон в Google) и, когда вы научитесь получать готовый и рабочий recovery, тогда уже переходите к сборке TWRP.
  • Мой fork оригинального github'а с моим патчем для MT6575/6577 (может, когда-нибудь изменения и попадут в оригинальный проект? :smu:sche_nie: ): https://github.com/mrjavum/Team-Win-Recovery-Project
  • Пример моей конфигурации (папка device/ThL/V9): https://github.com/mrjavum/device_ThL_V9 (все файлы создаются автоматом, kernel - это ядро для вашего телефона из родного boot или recovery, BoardConfig.mk вы редактируете сами)
  • Описание параметров BoardConfig.mk находятся в оригинальной инструкции из п.1. Наиболее важный:
    Код: Выделить всё
    TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/mt_usb/gadget/lun%d/file
    Он нужен для корректного монтирования карт памяти по USB как сменных носителей к стационарному компьютеру.

Как сделать скриншот из TWRP (или любого другого рекавери):
Код: Выделить всё
adb pull /dev/graphics/fb0
ffmpeg -vframes 2 -vcodec rawvideo -f rawvideo -pix_fmt rgb565 -s 544x960 -i fb0 -f image2 -vcodec png fb%d.png
Из полученных 2-х кадров один будет содержать реальное изображение экрана. Что интересно для V9 размер фреймбуфера не 540x960, а 544x960 (подбирается опытным путем).

TODO (надеюсь на Вашу помощь):
  • Правильный способ определения серийного номера телефона для правильных имен папок бэкапов. Пока там нули из /proc/cpuinfo. Может генерировать фейковый, зависящий от модели и процессора? Или есть способ вытащить серийник из NVRAM? Решено
  • Проверка, отладка, исправления для работы на MT65x3.
  • Не совсем понятна для меня следующий баг/фича:
     
    Решено
  • ...

Эта тема создана для обсуждения полноценного портирования TWRP на MTK-телефоны, а не того, как настраивать и пользоваться git'ом, собирать recovery и прочих проблем, не касающихся самого процесса портирования.
Последний раз редактировалось javum 23 апр 2013, 11:12, всего редактировалось 3 раз(а).
  • 59

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#2 » Stanner » 20 ноя 2012, 12:39

javum писал(а) on 20 ноя 2012, 12:17:Не совсем понятна для меня следующий баг/фича:

Так это же, наверное, VID MTK?
Например, сейчас через модем THL V9 в сети, вижу устройство с USB\VID_0BB4&PID_0004&REV_0255&MI_00
А рядом подключил в рекавери Huawei U3386D - у него USB\VID_0BB4&PID_0005&REV_0255
Lenovo A60 -> THL v9 -> Huawei U8836D -> Lenovo A660 -> Jiayu G3S -> Lenovo S920, Lenovo S930
========================================
Я не волшебник, я только учусь...
  • 0

Аватара пользователя
Stanner
Специалист
 
Сообщения: 954
Зарегистрирован: 28 авг 2011, 14:58
Откуда: Ростов-на-Дону
Репутация: 682

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#3 » linerty » 20 ноя 2012, 17:36

Ну да, это VID и PID.
Для 0bb4 и 0005 винда ставит стандартные masstorage дрова под носитель, а с 18d1 и b001 она не понимает что за устройство или неравильно с ним что-то делает.
Силком впихнуть дрова не пробовал?
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#4 » javum » 21 ноя 2012, 12:41

Stanner писал(а) on 20 ноя 2012, 12:39:Так это же, наверное, VID MTK?
linerty писал(а) on 20 ноя 2012, 17:36:Ну да, это VID и PID.
Да ясен перец, что это такое.
Просто логика непонятна, но, оказывается, она есть.
Здесь частичный список VID Для Android-устройств: http://developer.android.com/tools/device.html
например:
18D1 - Google
0BB4 - HTC
17EF - Lenovo
и т.п.
Т.е. по идее VID может любым.
А вот с PID сложнее. Нагуглить какой-нибудь список, определяющий какой PID к какому устройству должен относиться, не получилось (кто найдет - тому плюс). Но опытным путем стало понятно, что для USB носителя - это 0005 (и возможно еще какие-то, дальше не проверял). Но точно не D001.
А вот и пример списка PID для разных режимов работы USB для Android-устройств: https://github.com/allwinner-dev-team/a ... n4i.usb.rc
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 2

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#5 » FoxtrotKZ » 27 ноя 2012, 09:34

javum писал(а) on 20 ноя 2012, 12:17:MT6575/6577 - проверено, работает.

А для тех кто "уровнем пониже" есть готовые recovery :-)
Поразбирать-собирать?

Добавлено спустя 9 часов 22 минуты 38 секунд:
javum писал(а) on 20 ноя 2012, 12:17:Не совсем понятна для меня следующий баг/фича:
Стандартный init.rc для TWRP:

Код: Выделить всё
        write /sys/class/android_usb/android0/idVendor 18D1
        write /sys/class/android_usb/android0/idProduct D001

флешка к компу не монтируется.
Меняю на:

Код: Выделить всё
        write /sys/class/android_usb/android0/idVendor 0bb4
        write /sys/class/android_usb/android0/idProduct 0005

флешка к компу монтируется.

Дык тут дело в дровах. Где у тебя не монтируется там дров с этими VID и PID нет, как linerty написал подоткнёшь силком дровишки должно подхватить. У меня как раз эти VID и PID силком ставил и всё Ок.
Последний раз редактировалось FoxtrotKZ 24 сен 2013, 11:05, всего редактировалось 2 раз(а).
:pi_ra_t:
  • 0

Аватара пользователя
FoxtrotKZ
Гуру
 
Сообщения: 1055
Зарегистрирован: 31 май 2012, 15:28
Откуда: xUSSR
Репутация: 414

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#6 » javum » 28 ноя 2012, 06:40

FoxtrotKZ писал(а) on 27 ноя 2012, 18:56: А для тех кто "уровнем пониже" есть готовые recovery :-)
Поразбирать-собирать?
Есть. Достаточно произвести поиск на форуме или хотя бы заглянуть в мою подпись.
FoxtrotKZ писал(а) on 27 ноя 2012, 18:56: подоткнёшь силком дровишки должно подхватить. У меня как раз эти VID и PID силком ставил и всё Ок.
Прям-таки с 18D1&D001 дрова подтыкал? У меня никаких устройств неизвестных не появляется.
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 2

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#7 » FoxtrotKZ » 28 ноя 2012, 09:34

javum писал(а) on 28 ноя 2012, 06:40:Прям-таки с 18D1&D001 дрова подтыкал? У меня никаких устройств неизвестных не появляется.

Сори, ошибся, дрова насильно подтыкал к 17EF 7438.
Сейчас всё перепроверил 18D1&D001 появляются из некоторых рекавери, но дрова подтыкать не стал. Ведь если в дровах заместо 17EF 7438 прописать 18D1&D001 они думаю подоткнутся но это тежи яйца но в профиль. Кстати в дровах есть
Код: Выделить всё
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_D00D
Google Nexus One without adb %AndroidDevice%    = RNDIS, USB\VID_18D1&PID_4E13
Google Nexus One with adb %AndroidDevice%    = RNDIS, USB\VID_18D1&PID_4E14

;Google NexusOne
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E22&MI_01

определяющий какой PID к какому устройству должен относиться, не получилось (кто найдет - тому плюс).
По поводу PID, зачастую компании ставят его, руководствуясь принципом "от фонаря" либо внутренними "типа мыслями".
Поэтому выяснять кто там какое число запихал зачастую замучаешься, проще в дрова вставить свой номер и проверить работает или нет.
Так я делал когда в начале 2000-ых пошли USB-кабели к мобилам.
:pi_ra_t:
  • 0

Аватара пользователя
FoxtrotKZ
Гуру
 
Сообщения: 1055
Зарегистрирован: 31 май 2012, 15:28
Откуда: xUSSR
Репутация: 414

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#8 » KOTwasya » 28 ноя 2012, 13:01

javum писал(а) on 20 ноя 2012, 12:17:[*]Не совсем понятна для меня следующий баг/фича:
Стандартный init.rc для TWRP:
Код: Выделить всё
    write /sys/class/android_usb/android0/idVendor 18D1
    write /sys/class/android_usb/android0/idProduct D001
флешка к компу не монтируется.
Меняю на:
Код: Выделить всё
    write /sys/class/android_usb/android0/idVendor 0bb4
    write /sys/class/android_usb/android0/idProduct 0005
флешка к компу монтируется. :du_ma_et:
]

значит смотри, нашел такую фигню:
Код: Выделить всё
#ifndef MTK_USB_CUSTOM_H
 #define MTK_USB_CUSTOM_H
 
 /* Force full-speed is not guaranteed with adb function, use it with care! */
 //#define USB_FORCE_FULL_SPEED
 
 #define USB_MS_PRODUCT_ID           0x0001
 #define USB_MS_ADB_PRODUCT_ID       0x0c03
 #define USB_RNDIS_PRODUCT_ID        0x0003
 #define USB_RNDIS_ADB_PRODUCT_ID    0x0004
 #define USB_MS_ADB_ACM_PRODUCT_ID   0x0005
 #define USB_ACM_PRODUCT_ID          0x0006
 
 #define VENDOR_ID      0x0bb4                /* USB vendor id  */
 #define PRODUCT_ID     USB_MS_PRODUCT_ID     /* USB default product id */
 
 #define MANUFACTURER_STRING "MediaTek"
 #define PRODUCT_STRING      "MT65xx Android Phone"
 
 #define USB_ETH_VENDORID     0
 #define USB_ETH_VENDORDESCR  "MediaTek"
 
 #define USB_MS_VENDOR        "MediaTek"
 #define USB_MS_PRODUCT       "MT65xx MS"
 #define USB_MS_RELEASE       0x0100
 
 #define CHR_TYPE_DETECT_DEB  400  /* debounce time for charger type detection, in ms */
 
 #endif /* MTK_USB_CUSTOM_H */


честно, плохо соображаю, но кажись попал в точку!
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 1

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#9 » Stanner » 28 ноя 2012, 13:44

Это из исходников? Да, данные совпадают, но почему VID от HTC? :-)
Lenovo A60 -> THL v9 -> Huawei U8836D -> Lenovo A660 -> Jiayu G3S -> Lenovo S920, Lenovo S930
========================================
Я не волшебник, я только учусь...
  • 0

Аватара пользователя
Stanner
Специалист
 
Сообщения: 954
Зарегистрирован: 28 авг 2011, 14:58
Откуда: Ростов-на-Дону
Репутация: 682

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#10 » KOTwasya » 28 ноя 2012, 16:51

Stanner писал(а) on 28 ноя 2012, 13:44:Это из исходников? Да, данные совпадают, но почему VID от HTC? :-)

какая фиг разница, почти любой нонейм девайс на MTK определяется как HTC по нему. у Alcatel и других нормальных товарищей там все пучком!
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 0

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#11 » javum » 29 ноя 2012, 08:05

Добавил патч для использования строки '<производитель>_<модель>_<процессор>' (например, ThL_V9_MT6575) вместо серийника для именования папки с бэкапом. Включается дополнительной опцией
Код: Выделить всё
TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID := true

в BoardConfig.mk
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 7

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#13 » javum » 29 ноя 2012, 09:28

michфуд
Потренируйся сначала на кошкахCWM :-)
Если процесс уже отлажен, тогда бери мой гит и по инструкции из шапки подменяй папку ../bootable/recovery и вперед :mi_ga_et:
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 2

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#15 » Stanner » 29 ноя 2012, 12:58

TWRP очень удобен, пользуюсь уже около месяца (модом от LeWa) на Huawei - только рад. javum молодчина!
Вот только до сборки руки еще не дошли, но ничего, на след. неделе жена с детьми в санаторий уедут, время будет :-)
Lenovo A60 -> THL v9 -> Huawei U8836D -> Lenovo A660 -> Jiayu G3S -> Lenovo S920, Lenovo S930
========================================
Я не волшебник, я только учусь...
  • 0

Аватара пользователя
Stanner
Специалист
 
Сообщения: 954
Зарегистрирован: 28 авг 2011, 14:58
Откуда: Ростов-на-Дону
Репутация: 682

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#16 » KOTwasya » 29 ноя 2012, 13:50

javum, а нельзя сделать сборку одну на всех? как это сделано в других расширенных рекавери. чтоб просто портировать для своего девайса подсовывая ядро.
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 0

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#17 » FoxtrotKZ » 29 ноя 2012, 13:52

KOTwasya писал(а) on 29 ноя 2012, 13:50:javum, а нельзя сделать сборку одну на всех? как это сделано в других расширенных рекавери. чтоб просто портировать для своего девайса подсовывая ядро.

У меня на CYGWIN это не получилось :ne_vi_del:
:pi_ra_t:
  • 0

Аватара пользователя
FoxtrotKZ
Гуру
 
Сообщения: 1055
Зарегистрирован: 31 май 2012, 15:28
Откуда: xUSSR
Репутация: 414

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#18 » michфуд » 29 ноя 2012, 14:44

KOTwasya писал(а) on 29 ноя 2012, 13:50:javum, а нельзя сделать сборку одну на всех? как это сделано в других расширенных рекавери. чтоб просто портировать для своего девайса подсовывая ядро.

тоже присоединяюсь к вопросу - думаю можно :du_ma_et:
  • 0

Аватара пользователя
michфуд

Разработчик
 
Сообщения: 3423
Зарегистрирован: 10 окт 2011, 12:55
Откуда: Н.Новгород
Репутация: 3325

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#19 » Stanner » 29 ноя 2012, 15:34

Это было-бы замечательно. Подсовывать только ядро и таблицу разделов...
Lenovo A60 -> THL v9 -> Huawei U8836D -> Lenovo A660 -> Jiayu G3S -> Lenovo S920, Lenovo S930
========================================
Я не волшебник, я только учусь...
  • 0

Аватара пользователя
Stanner
Специалист
 
Сообщения: 954
Зарегистрирован: 28 авг 2011, 14:58
Откуда: Ростов-на-Дону
Репутация: 682

TeamWin Recovery Project (TWRP) для платформы MTK

Сообщение Ответ:#20 » back37 » 29 ноя 2012, 18:31

+ :-) С исходников собирать возможности пока нет, а Cygwin всегда под рукой :-)
MTK FirmwareAdapter Tool | Newman N1 FullRusReborn и другие | Куча прошивок для Fly IQ446

Siemens C75 - Siemens S75 - Ginza ms100 - Asus P750 - Star A5000 - Hero H7300 - Star B79 - freelander i10 - Fly IQ446 (Gionee GN708W) - Sony Xperia ZL
Планшет: Asus T100TA 64Gb
  • 0

Аватара пользователя
back37

Разработчик
 
Сообщения: 2301
Зарегистрирован: 28 авг 2011, 14:56
Откуда: Zаводоуковск/Tюменb
Репутация: 1448

След.

Вернуться в Программная часть КПК

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

x

#{title}

#{text}