1 votos

LPM reboot Samsung Galaxy S7

Estoy intentando que mi teléfono Samsung Galaxy S7 se inicie en funcionamiento normal cuando se enciende el USB. He probado todas las sugerencias en este puesto y varios otros, pero haga lo que haga el teléfono no se reinicia en funcionamiento normal. Mi resultado es no reiniciar o reiniciar en modo Recovery.

También he probado varias ROMs con el mismo resultado. Parece que hay un problema cuando el \system\bin\reboot se llama en modo LPM (Low Power Mode).

script:

#!/system/bin/sh
/system/bin/lpm_orig &
while [ true ]; do
  sleep 1
  ps | grep lpm_orig && sleep 3 && /system/bin/reboot
done

(El "lpm_orig" es el archivo lpm original). Se ha comprobado el propietario de Linux y los derechos de ejecución. ¿Alguien tiene una idea de qué probar a continuación?

2voto

Sollace Puntos 21

Esto ha sido un infierno para entender. Podría también ponerlo aquí para ayudar a cualquier otra persona que busque en Google.

Para el Samsung Galaxy S7, primero el script:

#!/system/bin/sh

# Script to reboot the system as soon as the charger is inserted
# https://android.googlesource.com/kernel/common/+/android-trusty-3.10/Documentation/sysrq.txt

# Enable kernel commands.
su -c "echo 1 > /proc/sys/kernel/sysrq"

# Send an immediate reboot request.
echo b > /proc/sysrq-trigger

Y para instalarlo, primero hay que hacer una copia de seguridad y reemplazar el archivo /system/bin/lpm. Como OP ya mencionó, reemplazar el archivo hará que no funcione (explicado aquí )

El inodo (identificador único del archivo) del archivo lpm tiene que seguir siendo el mismo para que Android lo acepte, por lo que tenemos que sustituir el contenidos del archivo existente.

Eso es bastante fácil de hacer:

echo /system/bin/lpm > /system/bin/lpm.bak

Y volcar nuestro código script en él:

echo /sdcard/reboot_on_charge.sh > /system/bin/lpm

Por supuesto, esto requerirá Root, y volver a montar la carpeta del sistema como lectura-escritura:

su
mount -o rw,remount /system

Y eso es todo. Así es como he conseguido que esto funcione para el S7.

Deshacer los cambios debería ser tan sencillo como hacerlo:

cat /system/bin/lpm.bak > /system/bin/lpm
rm /system/bin/lpm.bak

Editar: - Para añadir un detalle extra, asegúrese de que el archivo está utilizando los finales de línea de Linux (LF) en lugar de CR_LF (Windows). Mi git repo los cambió por debajo de mí y me quedé depurando por qué el teléfono de repente comenzó a ir al modo de recuperación de nuevo cuando se reinicia.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X