
Как получить root права на планшете Android 4(через USB). И подключить 3G модем Huawei к Acer iconia tab A200
Задался я тут недавно идеей, подключить мой 3G модем Huawei E1550 к планшетном компьютеру на Android 4. Нашел, что для работы pppd нужны root права. И тут пошел поиск. Скачав несколько "one click" скриптов я выяснил что ни один из них не заработал. Все они выдавали, что-то вроди этого:
Sending mempodroid to tablet
failed to copy 'mempodroid' to '/data/local/mempodroid': Permission denied
setting permissions on mempodroid file
Unable to chmod /data/local/mempodroid: No such file or directory
exucuting exploit for root access!
/system/bin/sh: /data/local/mempodroid: not found
writing SU binary to /system/bin
failed to copy 'su' to '/data/local/su': Permission denied
Unable to chmod /data/local/su: No such file or directory
Получение root привилегий
Все эти скрипты использовали какуе-то непонятную утилиту mempodroid. Зачем Она нужна я так и не понял. Потом, как оказалось, все получение root прав сводится к сохранению утилиты su в каталог /system/bin. Вся загвоздка в том, что эта файловая система находися в режиме ReadOnly и чтобы на неё что-то записать её нужно перемонтировать. В Ядре linux которое было на планшете по умолчанию такая функция была заблокирована. В итоге получается следующая последовательность действий:
- Установить набор утилит Android SDK (я поставил SDK Tools Only)
- Разблокировать NAND накопитель(внутренняя flash)
- Загрузиться с ядром поддерживающим перемонтирование в ReadWrite
- Перемонтировать файловую систему в ReadWrite
- Переписать утилит su и назначить на неё нужные права
Для упрощения я написал следующий скрипт(можно скачать по ссылке в конце статьи ):
echo "Разблокировка NAND"
adb wait-for-device
adb reboot-bootloader
echo "Планшет перезагрузится и запросит опции разблокировки!"
fastboot oem unlock
echo " Выберите функцию разблокирования (unlock) на вашем планшете!"
echo "после выбора, A200 запросит перезагрузку,просто нажмите любую клавишу"
echo " здесь и планшет перезагрузится..."
echo ""
echo "Загрузка нужного ядра с поддержкой перемонтирования..."
fastboot reboot
adb wait-for-device
adb reboot-bootloader
fastboot flash boot boot.img
fastboot reboot
adb wait-for-device
echo "Перемонтирование..."
adb remount
echo "Загрузка утилиты su"
adb push su /system/bin/
echo "Смена прав на утилиту (разрешаем её выполнение)"
adb shell chmod 6755 /system/bin/su
echo "Установка программы superoot(можно ставить из маркета)"
adb install Superuser.apk
fastboot reboot
Скрипт нужно запускать из каралога с файлами(ядро, утилита su). Предварительно ещё я добавлял правило для udev.
echo 'SUBSYSTEMS=="usb", ATTRS{idVendor}=="0502", ATTRS{idProduct}=="337c", MODE="0666", OWNER="ln"' | sudo tee /etc/udev/rules.d/50-android.rules
Узнать правильные idVendor и idProduct можно утилитой lsusb.
P.S. Для выполнения сих действий в Windows нужно ещё поставить драйвера для планшета. И использовать скрипт соответственно с пометкой -win.bat.
Установка необходимых программ и подключение модема
Так. root права колучили. Теперь нам нужно идти в Android Play(market по старому) и поставить следующие программы:
- Superuser - по сути GUI для управления командой su (в том случае если вы не стали ставить её моим скриптом)
- PPP Widget - утилита для управления модемом.
После установки виджета, вытаскиваем его на рабочий стол. Подключаем модем, нажимаем настройки и вбиваем всякие APN, username... Далле выходим и жмем подключить.