ฉันพยายามปลดล็อคโทรศัพท์ Moto ของฉันโดยใช้ ADB แต่เมื่อฉันทำfastboot devices
ฉันจะได้รับ
no permissions fastboot
แม้กระทั่งsudo fastboot
อุปกรณ์ก็ไม่ได้ช่วยอะไร
ด้วย sudo ฉันได้รับสิ่งนี้ sudo: fastboot: command not found
ช่วยด้วย!!
ฉันพยายามปลดล็อคโทรศัพท์ Moto ของฉันโดยใช้ ADB แต่เมื่อฉันทำfastboot devices
ฉันจะได้รับ
no permissions fastboot
แม้กระทั่งsudo fastboot
อุปกรณ์ก็ไม่ได้ช่วยอะไร
ด้วย sudo ฉันได้รับสิ่งนี้ sudo: fastboot: command not found
ช่วยด้วย!!
คำตอบ:
ลองใช้ดู sudo $(which fastboot)
เช่น sudo $(which fastboot) devices
ด้วย sudo $(which fastboot) oem unlock
พบโซลูชันที่ดีกว่าที่นี่:
https://stackoverflow.com/a/28127944/1621927
นี่คือความคิดเห็น:
แทนที่จะบังคับใช้สิทธิ์ผ่านsudo
ทุกครั้งที่คุณต้องการเรียกใช้fastboot
คุณสามารถแก้ไขปัญหาได้อย่างถาวร:
lsusb
เพื่อระบุอุปกรณ์ USB VendorID ของคุณudev
เพื่อตั้งค่าการอนุญาตที่เหมาะสมเมื่อเสียบอุปกรณ์ของคุณในฐานะโบนัส - มันจะได้รับการแก้ไขadb
ด้วยเช่นกัน
ตัวอย่างเช่นในกรณีของฉัน (สำหรับ 'Megafon SP-A20i'):
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
มาแก้ไขกันเถอะ:
ก่อนอื่นเราต้องระบุอุปกรณ์:
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
$
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!
sudo udevadm trigger
เช่นกัน
sudo
ไม่ใช่วิธีแก้ปัญหา
ขอบคุณ elichai2 และลิงก์และรายการนี้ฉันสามารถแก้ไขปัญหาการขออนุญาต fastboot ของฉันได้
ฉันมี Google Nexus 6P ดังนั้นฉันจึงใช้สิ่งต่อไปนี้สำหรับรหัสผู้ขายของฉัน:
Google - 18d1
หากคุณใช้คำสั่งต่อไปนี้:
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\" ..."
คัดลอกอย่างแน่นอน ฉันรูทแล้วและพยายามที่จะคัดลอกส่วน echo ที่ให้ผลลัพธ์ที่ไม่พึงประสงค์แก่ฉัน โดยทั่วไปจะใส่ \ "ในไฟล์. rules แทนที่จะตีความเครื่องหมายทับเป็นอักขระยกเว้น
ฉันขอแนะนำให้ใช้สิ่งต่อไปนี้หากคุณรูทการสร้างไฟล์. rules แล้ว (ใช้รหัสผู้จำหน่ายของคุณ)
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"' >> /etc/udev/rules.d/51-android.rules
ฉันรีโหลดกฎ udev แล้วออกคำสั่งทริกเกอร์ ฉันยังถอดปลั๊กและเสียบยูเอสบีเพื่อวัดที่ดี
udevadm control --reload
udevadm trigger
ในฐานะผู้ใช้ที่ไม่มีสิทธิ์ฉันจึงวิ่ง:
fastboot devices
และมันทำงานได้ตามที่ต้องการ ฉันหวังว่านี่จะสามารถใช้งานได้หรือช่วยให้ทุกคนที่ประสบปัญหาเกี่ยวกับปัญหาการอนุญาต
เมื่อฉันต้องการส่งคำสั่งโดยใช้ fastboot (กระพริบเฟิร์มแวร์บนอุปกรณ์ htc) ฉันจะติดตั้ง fastboot โดยใช้ apt
sudo apt install android-tools-fastboot
แล้วเมื่อฉันเริ่มใช้มันคำสั่งแรกคือ
sudo -s
จากนั้นคำสั่งทั้งหมดในเทอร์มินัลนี้จะทำงานเหมือนการส่งคำสั่งรูทเช่น
fastboot devices
fastboot reboot-bootloader
fastboot oem rebootRUU
fastboot flash zip xxxx.zip
ไม่จำเป็นต้องแก้ไขหรือบางสิ่งที่เป็นคำสั่งพิเศษอย่างง่าย ๆ ก่อนที่จะเริ่ม
หรือคุณสามารถเพิ่มกฎ udev ทั้งหมด: ชุดเต็มของรหัสผู้ขาย Android USB สำหรับ Linux https://gist.github.com/jdamcd/6054951#file-51-android-rules
ติดตั้ง fastboot ครั้งแรกจาก apt:
sudo apt install android-tools-fastboot
ถัดไปดำเนินการ fastboot ด้วย sudo:
sudo fastboot
มันใช้งานได้สำหรับฉัน