2 votes

Conserver les permissions ADB pendant le tethering USB

Il semble que je ne puisse obtenir des autorisations ADB pour mon appareil qu'en mode MTP ou PTP et NON en mode de connexion USB, ce dont j'ai besoin.

J'ai fait beaucoup de recherches mais je suis tombé sur tellement d'informations contradictoires et très anciennes que je ne vois plus comment procéder.

Ici ils disent que ce n'est pas possible, mais cela date de 2012. Ici y aquí ils proposent d'invoquer le shell via ADB pour mettre l'appareil en mode tethering USB (ce qui fonctionne pour moi aussi) mais aussi pour le désactiver, ce qui dans mon cas échoue car une fois sorti du mode MTP ou PTP je n'ai plus les permissions pour mon appareil.

Puis j'ai trouvé ce post intéressant ce qui semble pertinent mais ne fournit pas une solution complète. Ce site semble également pertinent mais il ne touche pas le cas du tethering.

Donc, une fois pour toutes, comment puis-je conserver les permissions ADB pour mon appareil lorsqu'il est PAS en MTP ou PTP mode ? Je ne m'intéresse qu'aux versions récentes d'Android. J'ai évidemment Racine accès pour mon appareil ainsi que la possibilité de déployer des ROMs personnalisées, bien que, par goût personnel, j'ai tendance à m'en tenir à LineageOS.


Note supplémentaire : c'est l'erreur que j'obtiens lorsque je ne suis pas 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

Malheureusement le lien est assez inutile, mais il semble que ADB identifie et communique avec le dispositif, mais celui-ci n'accepte aucune requête.

Je ne pense pas que cela ait quelque chose à voir avec mon PC, les règles udev sont en place, et ADB fonctionne bien lorsque le périphérique est en mode MTP ou PTP.

Voici une capture d'écran ( cliquez pour la navigation vidéo vers ce menu ) :

dsc


En mode MTP, je peux ouvrir un shell via ADB, voici ce que je vois :

$ 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

Je peux ouvrir les différents .rc dans ces fichiers (avec nano o /sbin/.magisk/busybox/vi ) mais en mode lecture seule. Je pourrais être en mesure d'obtenir des autorisations rw à partir de la récupération, mais je ne saurais toujours pas quoi changer.

1voto

Jean Points 11

J'ai eu le même problème et je pense qu'il est causé par un bug ou une mauvaise configuration de la ROM.

Comme solution de rechange, j'ai trouvé le moyen d'activer l'option ADB sur le réseau de la Options pour les développeurs m'a permis de me connecter en utilisant adb tout en ayant le mode tethering USB activé. Cependant, vous devez faire attention à ne pas activer cette option sur des réseaux non fiables (wifi ou 3G non fiables) car elle permet l'accès à distance à votre appareil via TCP à n'importe qui sur ce réseau.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X