快轉到主要內容

Linux系統fastboot偵測不到Android手機的解決辦法

Linux Android
✍ 切換正體/簡體字
目錄

我使用的發行版是Gentoo,fastboot無法刷入Android手機,永遠都卡在那邊,換了另一台Gentoo電腦都有一樣問題,可是以前用Ubuntu不會這樣呀。

使用fastboot devicesfastboot getvar all指令皆有回傳結果,但到了刷入boot.img的環節,fastboot flash boot就卡在sending boot.img...了!要不然就是unknown command的錯誤,其餘牽涉刷入的操作也是如此。

Can not use fastboot on linux - XDA Forums一文中看到使用Arch Linux的用戶也有一樣問題,結果我按照他的建議真的解決了…welll,以下是我的除錯之路。

1. 手動建立udev rules
#

這個方法無法解決根本問題,但是將手機加入udev rules之後打fastboot就不需要root權限了。

  1. 按照 Arch Linux Wiki,在手機進入fastboot後,輸入lsusb應該會看到手機的硬體ID:
# VENDOR ID為18d1,PRODUCT ID為d00d
Bus 001 Device 103: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot)
  1. 編輯規則/etc/udev/rules.d/51-android.rules,輸入以下內容。注意有些手機進入fastboot後VENDOR ID會變化,因此要額外多寫三行。
SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", MODE="0660", GROUP="adbusers", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", ATTR{idProduct}=="[PRODUCT ID]", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", ATTR{idProduct}=="[PRODUCT ID]", SYMLINK+="android_fastboot"
  1. 重新載入udev rules。
sudo udevadm control --reload
sudo udevadm trigger

2. 改用Google官方發表的fastboot
#

雖然各大發行版有提供ADB和Fastboot的套件,不過還是可以試試Google官方釋出的版本,因為版本不一致可能也會導致錯誤。

Android官網下載Linux版的SDK Platform Tools,解壓縮,在該目錄直接執行fastboot:

./fastboot devices

3. 將手機插到USB擴充埠
#

對,這個就是我解決fastboot偵測不到手機的最終解方。

電腦的孔都是USB 3.0,我將手機插上USB 2.0的擴充埠(USB hub),再把它插到電腦上。Voila!fastboot flash指令總算有反應了。

相關文章

用Android手機播放Linux電腦音樂 ~ Pulse Audio串流設定
Linux系統 Linux使用技巧 Linux Android
電腦無法開機?手機製作開機碟教學 (EtchDroid)
智慧型手機 手機APP分享 Linux Android
為何該擺脫Android,改用主線Linux手機
人文藝術 自由軟體議題 Free Software postmarketOS Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。