Ответ 1
Вместо того, чтобы вызывать разрешения через sudo
каждый раз, когда вам нужно запустить fastboot
, вы можете надолго исправить проблему:
- используйте
lsusb
для идентификации устройства USB VendorID - настроить
udev
для установки правильных разрешений при подключении вашего устройства. - прибыль!
В качестве бонуса - он будет исправлен и для adb
.
Например, в моем случае (для "Megafon SP-A20i" ):
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
Пусть fix:
Сначала нам нужно определить устройство:
a) найдите номер шины usb (hack: я знаю, что устройство основано на 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) найдите другие устройства 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
$
Концентраторы не являются определенными смартфонами, поэтому - нам необходим USB-поставщик - "8087".
Во-вторых, настройте udev
(вы должны заменить значение idVendor своим):
$ 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
$
В-третьих, повторно подключите ваше устройство, чтобы udev
выполнял магию.
Окончательная проверка:
$ 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
$
Voila!