¿Cómo puedo habilitar la depuración USB en un LG G2 (vs980) con una pantalla rota? [duplicar]

Tengo un LG G2 (vs980 - Verizon). El digitalizador y la pantalla están rotos; puedo verlos, pero no enviar datos.

El dispositivo tiene capacidades fastboot y TWRP, y puedo acceder a ADB desde TWRP.

Anteriormente, el dispositivo tenía habilitada la depuración de USB y estaba asociado con la clave pública de mi PC.

Parece que lo único que me impide acceder al dispositivo a través de ADB mientras arranca normalmente es la configuración de 'Tipo de conexión USB' de LG, que por defecto es 'como dispositivo multimedia' o 'como instalador'. Este teléfono requiere que elija 'como conexión a Internet'/'ethernet' una vez que conecto el cable USB desde el panel de notificaciones para que funcione la depuración de ADB. Como la pantalla está rota, no puedo hacer esto.

¿Cómo escribo esta configuración en el sistema desde el modo de recuperación? ¿Quizás un ajuste de build.prop o una edición de sqlite3? (Tengo sqlite3 en el dispositivo; acabo de habilitar mi wifi con él).

$ adb shell getprop | grep persist.sys.usb.config
[persist.sys.usb.config]: [mtp,adb]

Como puedo acceder a ADB desde la recuperación y mi ROM tiene /system/etc/init.d, puedo ejecutar comandos después de que el sistema arranque desde aquí.

Mi plan actual es cambiar ADB para conectarme a través de wifi y continuar desde allí.

habilitando adb en modo de recuperación: android.stackexchange.com/a/69600/60711
@tomasb Vi eso, pero no funciona. Esta es una falla específica de LG: se presenta como un CD para instalar controladores o como MTP, y ADB no funciona.

Respuestas (1)

En esta situación, dado que ha rooteado su teléfono y puede acceder al dispositivo a través de adb de recuperación, cree un script de inicio init.d para configurar adb para que escuche wifi y luego conéctese a través de wifi.


/sistema/etc/init.d/97adb

#!/system/bin/sh

if [ -e /sdcard/adb_wifi ]; then
    /system/bin/adb_to_tcp &
fi;

/sistema/bin/adb_to_tcp

#!/system/bin/sh

# Close STDOUT file descriptor
exec 1<&-
# Close STDERR FD
exec 2<&-

# Open STDOUT as $LOG_FILE file for read and write.
exec 1<>/sdcard/did_adb_tcp

# Redirect STDERR to STDOUT
exec 2>&1

while :
do

/system/bin/iptables -F
/system/bin/iptables -P INPUT ACCEPT
/system/bin/iptables -P OUTPUT ACCEPT
/system/bin/iptables -P FORWARD ACCEPT

setprop service.adb.tcp.port 5555
stop adbd
start adbd

/system/bin/sleep 120

done

/sdcard/adb_wifi


Asegúrese de que los dos archivos anteriores sean +x y que exista el archivo final. Reiniciar. Esperar. Ahora tiene intervalos de 120 segundos para:

adb connect [yourip]:5555
adb shell ps | grep sh
adb shell
> su
> kill -9 $PID_OF_SH