ADB di Ubuntu tidak mengenali Nexus 4

8

Saya tidak bisa mendapatkan telepon Nexus 4 saya dikenali oleh ADB di Ubuntu (12,04 dengan kernel yang lebih baru terpasang: 3.8.0-30-generik). Mode pengembang diaktifkan di ponsel.

Perangkat muncul di lsusb :

$ lsusb
...
Perangkat Bus 003 034: ID 18d1: 4ee5 Google Inc. 
...

Tetapi ketika saya menjalankan perangkat adb saya mendapatkan daftar kosong. Saya menemukan banyak posting di internet tentang masalah ini tetapi tidak satupun dari mereka menyelesaikan masalah. Ada dua solusi.

  • Tambahkan aturan ke /etc/udev/rules.d/51-android.rules . Saya menemukan berbagai variasi untuk konten file ini. Dalam kebanyakan kasus, nilai idVendor dan idProduct harus ditetapkan berdasarkan output lsusb . Di bawah ini adalah beberapa contoh yang saya coba
SUBSYSTEM == "usb", ATTRS {idVendor} == "18d1", ATTRS {idProduct} == "4ee5", MODE = "0666" GROUP = "androiddev", SYMLINK + = "android% n"
SUBSYSTEM == "usb", ATTR {idVendor} == "18d1", MODE = "0666", GROUP = "plugdev"
SUBSYSTEM == "usb", ATTRS {idVendor} == "18d1", SYMLINK + = "android_adb", MODE = "0666"
SUBSYSTEM == "usb", ATTR {idVendor} == "18d1", ATTR {idProduct} == "4ee5", MODE = "0666", OWNER = "my-login" 

Setelah menambahkan ini saya mengatur izin untuk file aturan ke 644 dan saya reboot PC / restart udev, restart telepon dan terhubung ke Nexus 4 saya.

  • Tambahkan id vendor ke ~ / .android / adb_usb.ini.
gema 0x18d1 >> ~ / .android / adb_usb.ini

Saya menjalankan perangkat adb sebagai pengguna root dan normal tetapi saya hanya mendapatkan daftar kosong:

perangkat $ adb
* daemon tidak berjalan. mulai sekarang di port 5037 *
* daemon mulai berhasil *
Daftar perangkat yang terpasang 

Ada ide tentang cara mengatasi masalah ini? Setiap bantuan saran akan sangat dihargai.

Lespaul86
sumber

Jawaban:

7

Tidak cukup untuk membuat halaman Opsi pengembang muncul di menu pengaturan (dengan mengetuk nomor build berulang kali). Pada halaman itu, ada opsi USB debugging , yang defaultnya tidak aktif.

Saat USB Debugging diaktifkan, menghubungkan perangkat Anda ke PC menggunakan USB membuat pemberitahuan "USB debugging terhubung" muncul, terlepas dari apakah adbsedang berjalan di PC.

Dan Hulme
sumber
Bisakah Anda merinci jawaban Anda? Di mana dapat menemukan "halaman" ini?
Luís de Sousa
@ LuísdeSousa android.stackexchange.com/q/33496/12442
Dan Hulme
Saya mencoba terhubung melalui adbkarena layar sentuh rusak. Saya tidak punya sarana untuk mengakses menu dan aplikasinya. Apakah ada cara lain untuk mengaktifkan fitur debugging USB ini?
Luís de Sousa
1

Untuk rangkaian instruksi yang lebih lengkap tentang cara mendapatkan aturan udev Nexus 4 pada ubuntu yang dikonfigurasi ikuti petunjuk ini:

Cara menemukan ID Vendor perangkat Anda

Anda dapat menemukan Vendor ID untuk perangkat yang terhubung dengan usb dengan perintah linux berikut:

lsusb

Ini akan menghasilkan daftar semua perangkat USB yang terhubung jadi pastikan perangkat Anda terhubung sebelum Anda melakukannya.

Bus 001 Device 004: ID 18d1:4ee2 Google Inc.

Bagian pertama dari bidang setelah ID adalah ID vendor (18d1) dan bagian kedua sesuai dengan mode di mana perangkat terhubung. Dalam hal ini 4ee2 sama dengan mode MTP dengan debug aktif.

BUAT ATURAN UDEV UNTUK NEXUS 4

Untuk dapat mendeteksi ponsel Nexus 4 di bawah Ubuntu, hal pertama adalah membuat aturan udev yang tepat yang akan memungkinkan sistem mendeteksi ponsel.

Aturan udev ini harus dapat menangani 4 kasus berbeda:

  • telepon terhubung dalam mode MTP (USB debug aktif atau nonaktif)
  • telepon terhubung dalam mode PTP (USB debug aktif atau nonaktif)
  • telepon terhubung dalam mode Fastboot
  • telepon terhubung dalam mode Pemulihan

Mereka akan dideklarasikan di /etc/udev/rules.d/99-android.rules. Jika file sudah ada, tambahkan saja konten di akhir.

# sudo gedit /etc/udev/rules.d/99-android.rules

Konten di bawah ini harus ditambahkan. Pastikan untuk mengganti bidang login Anda dengan nama pengguna yang tepat dengan login Anda.

# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery

Mulai kembali layanan

Setelah selesai, layanan udev harus dimulai kembali.

# sudo service udev restart

Perhatikan bahwa dalam beberapa kasus juga diperlukan untuk memulai ulang adb dengan:

adb kill-server
adb start-server

Atau reboot sistem sepenuhnya:

sudo reboot -n

Menghubungkan kembali kabel USB (bukan reboot) mungkin juga berfungsi.

Otorisasi koneksi ADB

Jika Anda baru saja mengaktifkan opsi debug ADB pada ponsel Anda dan membuat koneksi baru ini, perintah ADB mungkin akan mencantumkan perangkat Anda sebagai unauthorized. Cukup periksa layar ponsel Anda kemudian untuk mengotorisasi koneksi baru.

Kredit

Sebagian besar informasi ini ditemukan di http://bernaerts.dyndns.org/android/267-android-nexus4-root-twrp-ubuntu . Ini adalah panduan rooting untuk nexus 4 di ubuntu. Saya hanya menggunakan langkah pertama panduan ini.

hcpl
sumber
Saya baru saja mencoba solusi ini dari Ubuntu 14.04 dan bahkan setelah reboot sistem Nexus 4 tidak dikenali.
Luís de Sousa
Apakah Anda mencoba memulai adb dengan izin root? Lihat salah satu balasan lain tentang Ubuntu 14.04 + apakah Anda memeriksa mode koneksi USB pada perangkat?
hcpl
Ya, saya sudah mencobanya sudo. Ponsel akan terhubung dalam mode MTP dengan debug off.
Luís de Sousa
1

Saya menjalankan Ubuntu 14.04 LTS dan saya menemukan bahwa saya harus menjalankan adb dengan izin root agar dapat mendeteksi ponsel saya. Baru saja saya berlari (dari direktori platform-tools) ./adb devicesdan muncul dengan daftar kosong. Saya memulai kembali adb sebagai root dengan menjalankan ./adb kill-serverlalu sudo ./adb start-server. Sekarang adb deviceskembali:

List of devices attached 
01d17087d29dec60    device

Padahal sebelumnya terlihat seperti ini:

Daftar perangkat yang terpasang

the.laurence
sumber
membunuh, lalu mulai sebagai root bekerja untuk saya. Menggunakan Nexus 5
Russ Wheeler
1
Saya baru saja mencoba solusi ini di Ubuntu 14.04 dan saya masih mendapatkan daftar perangkat kosong.
Luís de Sousa
0

FYI: Saya baru-baru ini memperbarui versi android dari 4.4 ke 5.0 di ponsel saya dan ADB tidak akan lagi menunjukkan perangkat terhubung. Sepertinya metode koneksi USB MTP yang benar sebelum sekarang harus PTP .

flowtron
sumber
Bisakah Anda merinci jawaban Anda? Di mana tepatnya metode ini harus diubah?
Luís de Sousa
Seperti yang saya nyatakan MTP benar SEBELUM, SETELAH pembaruan PTP benar.
flowtron