2 votos

Mantener los permisos de ADB mientras se hace tethering USB

Parece que sólo puedo obtener permisos ADB para mi dispositivo mientras está en modo MTP o PTP y NO en modo USB tethering, que es lo que necesito.

He investigado mucho pero me he topado con tanta información contradictoria y muy antigua que ya no veo cómo proceder.

Aquí dicen que no es posible, pero se remonta a 2012. Aquí y aquí Proponen invocar el shell vía ADB para poner el dispositivo en modo tethering USB (que a mí también me funciona) pero también para desactivarlo, lo que en mi caso falla ya que una vez salido del modo MTP o PTP ya no tengo permisos para mi dispositivo.

Entonces encontré este interesante post que parece relevante, pero no proporciona una solución completa. Este también parece relevante, pero no toca el caso del tethering.

Así que, de una vez por todas, ¿cómo puedo mantener los permisos de ADB para mi dispositivo cuando es NO en MTP o PTP ¿modo? Sólo me interesan las versiones recientes de Android. Obviamente tengo root acceso para mi dispositivo también la posibilidad de desplegar ROMs personalizadas, aunque, por gusto personal, suelo ceñirme a LineageOS.


Nota adicional: este es el error que me da cuando no está en MTP/PTP:

$ adb devices 
List of devices attached
2d8568f6    no permissions; see [http://developer.android.com/tools/device.html]

$ adb shell
error: insufficient permissions for device
See [http://developer.android.com/tools/device.html] for more information

Lamentablemente el enlace es bastante inútil, pero parece que ADB identifica y se comunica con el dispositivo, pero este no acepta ninguna petición.

No creo que esto tenga que ver con mi PC, las reglas udev están en su lugar, además ADB funciona bien cuando el dispositivo está en modo MTP o PTP.

Aquí hay una captura de pantalla ( haga clic para ver el vídeo de ese menú ):

dsc


Cuando en el modo MTP puedo abrir un shell a través de ADB, esto es lo que veo:

$ su

# pwd
/

# ls -lah                                                                                                   
total 1.0M
drwxr-xr-x  18 root   root   4.0K 2008-12-31 19:30 .
drwxr-xr-x  18 root   root   4.0K 2008-12-31 19:30 ..
dr-xr-xr-x  56 root   root      0 1971-04-23 21:51 acct
lrw-r--r--   1 root   root     11 2008-12-31 19:30 bin -> /system/bin
lrw-r--r--   1 root   root     50 2008-12-31 19:30 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
drwxrwx---   6 system cache  4.0K 1971-04-23 21:51 cache
lrw-r--r--   1 root   root     13 2008-12-31 19:30 charger -> /sbin/charger
drwxr-xr-x   3 root   root      0 1970-01-01 01:00 config
lrw-r--r--   1 root   root     17 2008-12-31 19:30 d -> /sys/kernel/debug
drwxrwx--x  42 system system 4.0K 2020-05-02 11:50 data
lrw-------   1 root   root     23 2008-12-31 19:30 default.prop -> system/etc/prop.default
drwxr-xr-x  17 root   root   3.4K 2018-03-20 08:10 dev
lrw-r--r--   1 root   root     11 2008-12-31 19:30 dsp -> /vendor/dsp
lrw-r--r--   1 root   root     11 2008-12-31 19:30 etc -> /system/etc
lrw-r--r--   1 root   root     20 2008-12-31 19:30 firmware -> /vendor/firmware_mnt
-rwxr-x---   1 root   shell  2.1M 2008-12-31 19:30 init
-rwxr-x---   1 root   shell  1.2K 2008-12-31 19:30 init.environ.rc
-rwxr-x---   1 root   shell   29K 2008-12-31 19:30 init.rc
-rwxr-x---   1 root   shell  7.5K 2008-12-31 19:30 init.usb.configfs.rc
-rwxr-x---   1 root   shell  5.5K 2008-12-31 19:30 init.usb.rc
-rwxr-x---   1 root   shell   511 2008-12-31 19:30 init.zygote32.rc
-rwxr-x---   1 root   shell   875 2008-12-31 19:30 init.zygote64_32.rc
drwx------   2 root   root    16K 2008-12-31 19:30 lost+found
drwxr-xr-x  12 root   system  260 1971-04-23 21:51 mnt
drwxr-xr-x   2 root   root   4.0K 2008-12-31 19:30 odm
drwxr-xr-x   2 root   root   4.0K 2008-12-31 19:30 oem
dr-xr-xr-x 512 root   root      0 1970-01-01 01:00 proc
lrw-r--r--   1 root   root     15 2008-12-31 19:30 product -> /system/product
drwxr-xr-x   3 root   root   4.0K 2008-12-31 19:30 res
drwxr-xr-x   3 root   root    300 1971-04-23 21:51 sbin
lrw-r--r--   1 root   root     21 2008-12-31 19:30 sdcard -> /storage/self/primary
drwxr-xr-x   4 root   root     80 2020-02-27 08:07 storage
dr-xr-xr-x  12 root   root      0 1971-04-23 21:51 sys
drwxr-xr-x  17 root   root   4.0K 2018-03-20 02:40 system
-rw-r--r--   1 root   root   5.2K 2008-12-31 19:30 ueventd.rc
drwxr-xr-x  15 root   root   4.0K 2008-12-31 19:30 vendor
-rw-r--r--   1 root   root    524 2008-12-31 19:30 verity_key

Puedo abrir los distintos .rc archivos allí (con nano o /sbin/.magisk/busybox/vi ) pero en modo de sólo lectura. Puede que consiga los permisos rw desde el recovery, pero aun así no sabría que cambiar.

0 votos

Eso parece ser un problema específico del dispositivo (-> edita tu pregunta y añade los detalles del dispositivo). Mi Sony XA2 funciona desde el principio con USB tethering y ADB al mismo tiempo (sin embargo, MTP parece estar desactivado mientras el USB tethering está activo).

0 votos

@Robert Estoy probando con un lenovo k6 (karate k33a48). Tengo la sensación de que en el pasado solía funcionar, pero no recuerdo qué ROM utilizaba. Supongo que será un problema de software, posiblemente no relacionado con el dispositivo.

1 votos

Nota: Su pregunta es un poco engañosa ya que siempre habla de "permiso adb". Sin embargo esto no es un problema de permisos sino de configuración de la interfaz USB. Cada dispositivo USB físico puede tener varios dispositivos lógicos activos al mismo tiempo (en mi dispositivo uno para "NDIS remoto" y otro para adb o uno para adb y otro para MTP). En Windows puedes verlos bien en el administrador de dispositivos agrupados por un dispositivo compuesto USB (dispositivo virtual que combina los dispositivos lógicos USB). De ahí que tu pregunta sea cómo activar RNDIS y adb al mismo tiempo.

1voto

Jean Puntos 11

Yo tuve el mismo problema y creo que se debe a algún fallo o mala configuración de la ROM.

Como solución, he encontrado la manera de activar la opción ADB en la red de la Opciones de desarrollo me permitió conectarme usando adb mientras tenía activado el modo USB tethering. Sin embargo, hay que tener cuidado de no activar esa opción en redes no confiables (wifi o 3G no confiables) porque permite el acceso remoto a su dispositivo a través de TCP a cualquier persona en esa red.

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