"dispositivos adb" da "sin permiso" cuando solo se carga

Acabo de actualizar mi LG Optimus 4X HD de la última ROM de stock (4.1) a CM11 (Android 4.4). El acceso a través de ADB solo es posible cuando MTP o PTP están habilitados; si deshabilito ambos, solo obtengo:

$ adb devices
List of devices attached 
????????????    no permissions

Realmente no me molestaría, pero con PTP habilitado, siempre aparece una ventana emergente que me pide que monte el "nuevo dispositivo"; con MTP, adicionalmente un mensaje de error por no poder acceder a la cámara. Esto es bastante molesto: nunca lo tuve con este dispositivo antes de la actualización, y nunca experimenté esto con ningún otro de mis dispositivos.

La página de configuración de "Conexión USB" solo ofrece dos casillas de verificación: MTP y PTP, falta el elemento "Solo carga" (y obviamente debería reflejarse al desmarcar MTP y PTP). La computadora se ejecuta en Linux, en caso de que sea relevante (y no tiene instalado el software MTP porque no lo necesito).

¿Hay alguna forma de deshacerse de esas molestas ventanas emergentes y aún tener ADB funcionando? Estoy bien con algo que se ejecute a través de ADB, como adb shell setprop <whatever>y, si se demuestra que es estable, para integrarlo con built.prop.

Esto puede funcionar, siempre que tenga acceso a la raíz: tenga el dispositivo conectado a la PC en modo de depuración USB y MTP, vaya a /data/property/persist.sys.usb.config, elimine todo dentro del archivo excepto adb, desconecte el cable USB , reinicie por completo, conecte el cable USB y vea si tuviste éxito
@Firelord Gran idea, gracias, pero no funcionó. El mismo resultado que si hubiera deshabilitado MTP y PTP a través de la interfaz de usuario: insufficient permissions for deviceen adb shellresp. ???????????? no permissionscomo se indica en mi pregunta :( Sin embargo, valió la pena intentarlo, y como se anuncia, se revierte fácilmente a través de Configuración › Almacenamiento

Respuestas (1)

Gracias al puntero proporcionado por Firelord , pude resolver el problema. La solución puede parecer rara, pero funciona perfectamente:

Como root, edite /data/property/persist.sys.usb.config. La única línea en ese archivo debería decir:

mass_storage,adb

Todos sabemos que ya no hay con Kitkat (excepto quizás en raras excepciones). Bueno, tal vez esa es la razón por la que ya no aparece nada, ofreciendo montar algún recurso :)

Para revertir esto, ya sea:

  • abra el área de notificación mientras está conectado a través de USB , busque la notificación "conectado como..." y tóquela
  • o: vaya a Configuración › Almacenamiento , toque el "botón de menú de desbordamiento" (los "3 puntos grapados") y toque la (única) entrada que dice "Conexión USB"

Luego seleccione MTP o PTP, y listo.

Referencias:

  • Este es el contenido de /data/property/persist.sys.usb.configuna de mis tabletas con Android 4.1 (stock)
  • Esta configuración se menciona en esta respuesta , diciendo que si desea habilitar ADB, puedesetprop persist.sys.usb.config=mass_storage,adb

Posdata

Gracias al contexto, uno podría configurar algún "alternar" usando , ejecutando setprop persist.sys.usb.config=mass_storage,adb(para "deshacerse de las ventanas emergentes"), setprop persist.sys.usb.config=ptp,adb(para volver a tenerlo en modo PTP), o setprop persist.sys.usb.config=mtp,adbpara volver a habilitar MTP para la transferencia de datos. No necesito nada de esto, ya que uso adbfspara acceder a mis archivos;)