Sangat mungkin udev menambahkan perangkat Anda secara tidak benar. Saya juga punya masalah ini & menemukan solusi yang relatif sederhana.
Temukan perangkat Anda di lsusb
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 05c8:03a2 Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Tempat menarik dalam hal ini:
Bus 001 Device 006: ID 18d1:4ee7 Google Inc.
Lihat file perangkat yang sesuai
$ ls -l /dev/bus/usb/001/006
Kemungkinan Anda akan melihat sesuatu seperti
crw-rw-r-- 1 root root 189, 5 Sep 8 21:47 /dev/bus/usb/001/006
Ini berarti bahwa file perangkat akan dimiliki oleh root pengguna dan root grup, itulah sebabnya adb dapat mengaksesnya sebagai root tetapi tidak sebagai pengguna standar Anda.
Ini dapat diatasi dengan membuat aturan udev baru - Saya dulu /etc/udev/rules.d/51-android.rules
- untuk menambahkan perangkat ke grup plugdev
, yang adb anggap Anda sebagai anggota (Anda harus, periksa menggunakan id
)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"
** Ingatlah untuk mengganti ATTR {idProduct} == "4ee7" dengan id produk Anda sendiri yang Anda temukan di langkah pertama. ** (Jika vendor Anda bukan Google Inc., ganti juga id vendor dengan yang sebelum tanda titik dua di lsusb).
Sekarang cukup cabut perangkat Anda dan pasang kembali (udev harus secara otomatis menanggapi file baru) dan tadaa:
$ adb devices
List of devices attached
YC873P0G device
Sumber: Menambahkan aturan udev untuk perangkat Android debugging USB - Janos Gyerik
sudo adb devices
. Jika itu berfungsi dengan baik tetapi dari memori saya tidak perlu root untuk memeriksa perangkat yang terpasang.