GNU/Linux >> Belajar Linux >  >> Linux

Android - Tablet android i.onik tanpa nama tidak dikenali oleh adb -- perangkat adb kosong

Jawaban Izzy menyesatkan. Dua hal yang tidak terkait digabungkan (daftar ID vendor di adb di satu sisi dan penyiapan izin di Linux di sisi lain).

1) perangkat dipertimbangkan oleh adb:

Adb memiliki daftar hard code ID vendor USB yang dicobanya. Misalnya. Ponsel HTC menggunakan 0xbb4, yang terdaftar (file sumber usb_vendors.c), sedangkan 0x2207 tidak.

hanya cara menambahkan ke daftar ini (tanpa menambal sumbernya) adalah dengan memasukkan ID vendor di file $HOME/.android/adb_usb.ini , baris demi baris. (HOME sudah diatur kan?)

Tidak diperlukan kabel khusus.

2) penyiapan izin untuk akses non-root:

Udev-fiddling adalah untuk memberikan akses pengguna ke mis. /dev/bus/usb/002/009 (perubahan nomor bus/nomor perangkat; lihat lsusb untuk nilai saat ini).

Detailnya tidak relevan dengan pertanyaan pengirim asli, karena ia menjalankan adb sebagai root.


Seperti yang dijelaskan dalam Mengonfigurasi ADB untuk Nexus 4 di Ubuntu 11.10, di Linux penting untuk dicantumkan di ~/.android/adb_usb.ini (berbasis pengguna) atau /etc/udev/rules.d/51-android.rules . Sintaks untuk kedua file berbeda:sementara pada kasus pertama cukup dengan menambahkan id vendor (echo 0x18d1 >> ~/.android/adb_usb.ini untuk Nexus 4), entri untuk aturan UDEV sedikit lebih rumit. Detail dapat ditemukan di pertanyaan tertaut (atau lebih tepatnya jawabannya).

Kasus saya krlmlr, itu bukan "salah satu-atau", tetapi tampaknya kedua bagian itu diperlukan (saya belum pernah memilikinya sebelumnya, dan saya bahkan tidak pernah menggunakan adb_usb.ini -- tetapi bukan berarti tidak ada pengecualian seperti itu). Dengan menambahkan perangkat di kedua tempat (yang tidak ada salahnya), perangkat akhirnya muncul.

Dua komentar tambahan:Setelah mengubah aturan UDEV, layanan UDEV harus dimulai ulang untuk menerima perubahan. Di Ubuntu, ini bisa dilakukan melalui sudo service udev restart (sebagai alternatif, Anda cukup memaksa UDEV untuk memuat ulang aturannya menggunakan udevadm control --reload-rules ). Jika perangkat Anda masih tidak terdeteksi, kemungkinan besar perangkat telah dicolokkan saat Anda melakukan perubahan; Anda perlu mencabut dan menyambungkan kembali kabel USB. Tentu saja, Debug USB harus diaktifkan di perangkat Anda :)

Contoh

Berdasarkan keluaran lsusb berikut untuk perangkat Android yang dimaksud:

Bus 002 Device 009: ID 2207:0010  

itu perlu untuk membuat /etc/udev/rules.d/51-android.rules sebagai root dengan isi sebagai berikut:

SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0660", GROUP="plugdev"

dan untuk membuat ~/.android/adb_usb.ini dengan isi sebagai berikut:

0x2207

Yang pertama diperlukan untuk mengizinkan pengguna biasa (yang termasuk dalam grup plugdev ) untuk mengakses perangkat. Perhatikan topeng izin 0660 bukan 0666 yang sering terlihat yang lebih lemah dari sudut pandang keamanan (yang terakhir memungkinkan akses "dunia", sedangkan yang pertama hanya memungkinkan akses "pengguna dan grup"). Yang kedua diperlukan agar adb upaya untuk berbicara dengan perangkat di tempat pertama. Setelah itu:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server

dan cabut + pasang perangkat Android Anda. Lalu,

adb devices

akhirnya menunjukkan perangkat Android.

Untuk LG Optimus 4X HD saya , cukup menambahkan satu baris ke /etc/udev/rules.d/51-android.rules :

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61a6", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Mungkin SYMLINK opsi membuat perbedaan bahwa saya tidak memerlukan entri tambahan di ~/.android/adb_usb.ini .


Linux
  1. Linux – Konfigurasi Tidak Valid `x86_64′:Mesin `x86_64′ Tidak Diakui?

  2. Menginstal Grub 2 Di Mdadm, Perangkat Yang Mana?

  3. Perangkat V4l2loopback Tidak Ditampilkan di Aplikasi?

  1. sshpass tidak dikenali di Windows

  2. menjalankan perangkat adb menunjukkan perangkat yang tidak sah?

  3. Cara mendapatkan alamat MAC perangkat yang tidak ada dalam jaringan

  1. Linux – Aturan Udev:Bagaimana Mencocokkan Hanya Perangkat Kernel (bukan Partisi) Setelah Perangkat #26?

  2. uflash:perintah tidak ditemukan

  3. Android - Bagaimana cara agar perangkat saya terdeteksi oleh ADB di Linux?