J'ai trouvé une meilleure solution ici :
https://stackoverflow.com/a/28127944/1621927
Voici le commentaire :
Au lieu de forcer les permissions via sudo
à chaque fois que vous devez exécuter fastboot
vous pouvez régler le problème de façon permanente :
- utiliser
lsusb
pour identifier votre appareil USB VendorID
- configurer
udev
pour définir les autorisations appropriées lorsque votre appareil est branché
- profit !
En prime, il sera réparé pour adb
aussi.
Par exemple, dans mon cas (pour 'Megafon SP-A20i') :
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
Réparons :
Tout d'abord, nous devons identifier l'appareil :
a) chercher le numéro de bus usb (hack : je sais que le dispositif est basé sur Intel)
$ fastboot -l devices
no permissions fastboot usb:1-1.2
$ lsusb |grep 001 |grep -i intel
Bus 001 Device 044: ID 8087:09ef Intel Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$
b) rechercher d'autres périphériques Intel :
$ lsusb |grep 8087
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 044: ID 8087:09ef Intel Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$
Les concentrateurs ne sont pas des smartphones, donc le vendorID USB dont nous avons besoin est "8087".
Deuxièmement, configurez udev
(vous devez remplacer la valeur "idVendor" par la vôtre) :
$ sudo sh -c "echo '# Megafon SP-A20i' >> /etc/udev/rules.d/51-android.rules"
$ sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", MODE=\"0666\", GROUP=\"plugdev\"' >> /etc/udev/rules.d/51-android.rules"
$ sudo service udev restart
udev stop/waiting
udev start/running, process 1821
$
Troisièmement, rebranchez votre appareil pour permettre udev
pour accomplir sa magie.
Vérification finale :
$ fastboot -l devices
MedfieldA9055F28 fastboot usb:1-1.2
$ adb devices
List of devices attached
$ fastboot reboot
rebooting...
finished. total time: 0.253s
$ sleep 90
$ adb devices
List of devices attached
MedfieldA9055F28 device
$
Voilà !