我正在尝试使用 ADB 解锁我的 Moto 手机,但是当我这样做时,fastboot devices
我不断收到
no permissions fastboot
Run Code Online (Sandbox Code Playgroud)
即使sudo fastboot
设备也无济于事
使用 sudo 我得到了这个 sudo: fastboot: command not found
帮助!!
Sri*_*wda 67
尝试使用 sudo $(which fastboot)
例如 sudo $(which fastboot) devices
还 sudo $(which fastboot) oem unlock
eli*_*ai2 33
在这里找到了更好的解决方案:https :
//stackoverflow.com/a/28127944/1621927
这是评论:您可以永久解决问题,
而不是在sudo
每次需要运行时强制执行权限fastboot
:
lsusb
识别您的设备 USB VendorIDudev
为在您的设备插入时设置适当的权限作为奖励 - 它也将被修复adb
。
例如,就我而言(对于“Megafon SP-A20i”):
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
Run Code Online (Sandbox Code Playgroud)
让我们修复:
首先,我们需要识别设备:
a) 查找 USB 总线编号(黑客:我知道该设备是基于 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
$
Run Code Online (Sandbox Code Playgroud)
b) 寻找其他英特尔设备:
$ 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
$
Run Code Online (Sandbox Code Playgroud)
集线器绝对不是智能手机,因此 - 我们需要的 USB vendorID 是“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
$
Run Code Online (Sandbox Code Playgroud)
第三,重新插入您的设备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
$
Run Code Online (Sandbox Code Playgroud)
瞧!
感谢 elichai2 和这个链接和列表,我能够解决我的 fastboot 权限问题。
我有 Google Nexus 6P,所以我使用以下作为我的供应商 ID:
谷歌 - 18d1
如果使用以下命令:
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."
Run Code Online (Sandbox Code Playgroud)
准确地复制它。我已经是 root 并试图仅复制给我带来不良结果的回声部分。基本上它将 \" 放在 .rules 文件中,而不是将斜杠解释为转义字符。
如果您已经创建了 .rules 文件(使用您的供应商 ID),我建议使用以下内容。
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules
Run Code Online (Sandbox Code Playgroud)
我重新加载了 udev 规则,然后发出了触发器命令。我还拔掉并插入了 USB 以进行良好的测量。
udevadm control --reload
udevadm trigger
Run Code Online (Sandbox Code Playgroud)
作为一个非特权用户,我然后运行:
fastboot devices
Run Code Online (Sandbox Code Playgroud)
它按预期工作。我希望这对遇到权限问题的任何人都有用或有所帮助。
归档时间: |
|
查看次数: |
92312 次 |
最近记录: |