không có quyền fastboot - fastboot và adb không hoạt động


31

Tôi đang cố mở khóa điện thoại Moto của mình bằng ADB nhưng khi tôi làm thì fastboot devicestôi vẫn nhận được

no permissions   fastboot

Ngay cả sudo fastbootcác thiết bị cũng không giúp được gì

với sudo tôi hiểu điều này sudo: fastboot: command not found

CỨU GIÚP!!

Câu trả lời:


57

Hãy thử sử dụng sudo $(which fastboot)

ví dụ sudo $(which fastboot) devices

cũng thế sudo $(which fastboot) oem unlock


Điều đó đã làm việc !! Thankyou Srinivas ..
Rupali

rất vui vì tôi có thể giúp :)
Srinivas Gowda

6
Phải có một giải pháp tốt hơn, nó không an toàn và không thực hành tốt để chỉ chạy mọi thứ với quyền root.
elichai2

Liệu fastboot cần sudo?
IgorGanapolsky

25

Tìm thấy một giải pháp tốt hơn ở đây:
https://stackoverflow.com/a/28127944/1621927

Dưới đây là nhận xét:

Thay vì buộc cấp quyền qua sudomỗi lần bạn cần chạy fastboot, bạn có thể khắc phục sự cố vĩnh viễn:

  1. sử dụng lsusbđể xác định thiết bị USB VendorID của bạn
  2. cấu hình udevđể đặt quyền thích hợp khi thiết bị của bạn được cắm
  3. lợi nhuận!

Như một phần thưởng - nó sẽ được cố định cho adbquá.

Ví dụ: trong trường hợp của tôi (đối với 'Megafon SP-A20i'):

$ fastboot devices
no permissions  fastboot
$ sudo fastboot devices
[sudo] password for kaa: 
MedfieldA9055F28    fastboot
$ 

Hãy sửa chữa:

Đầu tiên, chúng ta cần xác định thiết bị:

a) tìm số bus USB (hack: Tôi biết thiết bị này dựa trên 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) tìm kiếm các thiết bị Intel khác:

$ 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
$ 

Các trung tâm không phải là điện thoại thông minh chắc chắn, vì vậy - nhà cung cấp USB mà chúng tôi cần là "8087".

Thứ hai, cấu hình udev(bạn phải thay thế giá trị "idVendor" bằng giá trị của bạn):

$ 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
$ 

Thứ ba, cắm lại thiết bị của bạn để cho phép udevthực hiện điều đó thật kỳ diệu.

Kiểm tra lần cuối:

$ 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!


2
Có một danh sách tốt các ID nhà cung cấp Android tại wiki.cyanogenmod.org/w/UDEV
Ehtesh Choudhury

3
Có một danh sách chính thức tại đây: developer.android.com/studio/run/device.html
elichai2

2
Bạn cũng sẽ cần sudo udevadm trigger.
Jonas G. Drange

Xem xét chế độ "0664".
naXa

1
Đây là câu trả lời chính xác. Thật ra, đây là câu trả lời duy nhất. Sử dụng sudokhông phải là một giải pháp.
Gaurav Gandhi

5

Giải pháp của tôi

Nhờ elichai2 và liên kết và danh sách này, tôi đã có thể giải quyết vấn đề cấp phép fastboot của mình.

Tôi có Google Nexus 6P vì vậy tôi đã sử dụng thông tin sau cho ID nhà cung cấp của mình:

Google - 18d1


51-android.rules

Nếu bạn sử dụng lệnh sau:

sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."

sao chép chính xác Tôi đã root và cố gắng sao chép chỉ phần echo mang lại cho tôi kết quả không mong muốn. Về cơ bản, nó đặt \ "trong tệp .rules thay vì diễn giải dấu gạch chéo là ký tự thoát.

Tôi đề nghị sử dụng cách sau nếu bạn đã root tạo tệp .rules (Sử dụng ID nhà cung cấp của bạn).

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules


Tải lại và kích hoạt Udev

Tôi đã tải lại các quy tắc udev và sau đó ban hành lệnh kích hoạt. Tôi cũng rút phích cắm và cắm usb cho biện pháp tốt.

udevadm control --reload
udevadm trigger


Fastboot

Là một người dùng không có đặc quyền, sau đó tôi chạy:

fastboot devices

và nó đã làm việc như mong muốn. Tôi hy vọng điều này có thể được sử dụng hoặc giúp đỡ cho bất kỳ ai gặp rắc rối với vấn đề quyền.


Rất vui, tôi đã đưa liên kết đến danh sách để trả lời bình luận của tôi.
elichai2

udevadmin: lệnh không được tìm thấy
IgorGanapolsky

1
@IgorG. Tôi xin lỗi vì trả lời muộn như vậy. Tôi đã sửa lỗi đánh máy ở trên. Nó đáng lẽ phải là "udevadm".
Brandon Authier

1

Khi tôi cần gửi một số lệnh bằng fastboot (ví dụ như chương trình cơ sở flash trên thiết bị htc) tôi sẽ cài đặt fastboot bằng apt

sudo apt install android-tools-fastboot

sau đó khi tôi bắt đầu sử dụng thì lệnh đầu tiên là

sudo -s

sau đó tất cả các lệnh trong thiết bị đầu cuối này sẽ chạy như các lệnh gửi gốc như

fastboot devices
fastboot reboot-bootloader 
fastboot oem rebootRUU 
fastboot flash zip xxxx.zip

không cần sửa chữa hay gì đó đơn giản chỉ cần thêm một lệnh trước khi khởi động nó




-1

Đầu tiên cài đặt fastboot từ apt:

sudo apt install android-tools-fastboot

Tiếp theo thực hiện fastboot với sudo:

sudo fastboot

Nó làm việc cho tôi.


Fastboot cũng có thể được lấy từ SDK và chỉ cần đặt đường dẫn bí danh trong .bashrc
IgorGanapolsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.