Как заставить устройство Android загружаться при подключении питания?

Мне нужно использовать это для планшета Samsung.

Обычно, если устройство выключено и к нему подключен USB-кабель, дисплей просыпается на несколько секунд, показывая анимированную батарею. Вместо этого я хочу, чтобы он загружался.

Я подозреваю, что это близко к металлу. Где я должен сделать модификацию? В ядре, в платформе Android или это скрыто в каком-то проприетарном коде производителя?


person user506290    schedule 12.11.2010    source источник
comment
Это примерно такой низкий уровень функции, который вы получите. Я не уверен, как работает биос карты Android, но, вероятно, он там будет. Если нет, так как он включает дисплей при подключении, вы МОЖЕТЕ добраться куда-нибудь, посмотрев на загрузчик.   -  person Falmarri    schedule 13.11.2010


Ответы (6)


Участник XDA опубликовал решение для этого, которое кажется работать на некоторых устройствах Samsung.

Идея состоит в том, чтобы заменить скрипт для значка батареи (который, конечно же, появится, как только устройство будет подключено) на собственный скрипт, который будет загружать телефон. Чтобы выполнить эту работу, найдите /system/bin/playlpm. Переименуйте старый playlpm в playlpm.bak и замените его следующим скриптом:

#!/system/bin/sh
/system/bin/reboot

Для получения дополнительной информации читайте ветку на XDA

person kingarold    schedule 22.02.2013
comment
Привет, у меня есть устройство Cyanogenmod, вы знаете, как я могу сделать это на Cyanogenmod? Спасибо - person m0j1; 20.04.2016

У меня есть рутированный Samsung S4 mini. Следующие шаги работали для меня:

  1. mount -o remount,rw /system
  2. mv /system/bin/lpm /system/bin/lpm.orig
  3. создайте /system/bin/lpm следующим образом:

    #!/system/bin/sh
    /system/bin/lpm.orig &
    while [ true ]; do
      sleep 1
      ps | grep lpm.orig && sleep 3 && /system/bin/reboot
    done
    
  4. chown root.shell /system/bin/lpm

person Thorsten    schedule 01.10.2014
comment
Привет, у меня есть устройство Cyanogenmod, вы знаете, как я могу сделать это на Cyanogenmod? Спасибо - person m0j1; 20.04.2016

Это будет функция прошивки на очень низком уровне, которая, если устройство выключено, работает без какой-либо части Android.

person Blrfl    schedule 12.11.2010

Изменения, которые вам необходимо внести, находятся в загрузчике.

Это первое, что запускается, что происходит задолго до инициализации среды C, загрузки ядра или даже чего-либо из пользовательского пространства или из Android...

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

person Stephan Branczyk    schedule 04.03.2012

На моем S4 mini GT-i9291 описанная выше процедура Thorsten работала только с одной модификацией: добавление «su».

#!/system/bin/sh
su
mount -o remount,rw /system
/system/bin/lpm.orig &
while [ true ]; do
sleep 1
ps | grep lpm.orig && sleep 3 && /system/bin/reboot
chown root.shell /system/bin/lpm
done  

Спасибо!!!!!

person Tomi Pasin    schedule 27.07.2016

Эти ответы привели меня к моему решению. Я использую это на Samsung Galaxy Tab S. Для других планшетов путь к системному монтированию будет другим. Чтобы найти его, используйте эту команду в оболочке adb.

cat /proc/mounts | grep system

Одна проблема, с которой я столкнулся, заключалась в том, что планшет загружался в режиме восстановления после того, как я изменил файл lpm, но это потому, что я удалил старый и создал новый файл lpm и не установил правильные разрешения и права собственности. Использование cp вместо этого исправило это. Моя однострочная установка на планшете:

mount -o remount,rw /dev/block/platform/dw_mmc.0/by-name/SYSTEM /system && cp /system/bin/lpm /system/bin/lpm_orig && echo "#!/system/bin/sh\n/system/bin/reboot" > /system/bin/lpm
person elliptic1    schedule 11.09.2015