Mengapa pengembang Android tidak lagi memerlukan driver USB Windows
- Pada platform Android awal, pengembang dapat menghubungkan perangkat melalui kabel USB di Linux atau Mac OS X, tetapi pengguna Windows harus mencari dan memasang driver.
- Kini driver tersebut tidak lagi diperlukan.
Dasar-dasar USB driver/OS
- Saat perangkat USB dihubungkan ke port, sistem operasi memeriksa lapisan USB descriptor dan harus memuat driver untuk antarmuka tersebut.
- Sebagian besar perangkat USB sudah didukung sistem operasi agar dapat langsung berfungsi secara otomatis dengan driver 'Device Class' bawaan.
- Windows akan memuat driver yang dipasang pengguna jika tidak dapat menemukan driver 'Device Class' bawaan yang sesuai atau jika ada driver yang lebih baik.
Mengapa dulu tidak bisa
- Jika driver tidak ditemukan, Linux memuat usbfs dan Mac OS memuat IOKit agar program user-space dapat mengakses perangkat.
- Windows melaporkan kesalahan dan tidak memuat driver, sehingga perangkat Android tidak dapat diakses.
Mengapa driver Android bisa berfungsi
- Untuk memahami apa yang terjadi saat driver dipasang, artikel ini memeriksa android_winusb.inf, 'otak' dari Google USB Driver.
- WinUSB adalah driver USB yang mirip dengan usbfs di Linux dan IOKit di Mac OS, yang memungkinkan program user-space melakukan enumerasi antarmuka serta membaca dan menulis ke endpoint.
Mengapa perangkat Android tidak lagi memerlukan driver Windows
- Metode sebelumnya memiliki kelemahan yang jelas. Jika VID/PID perangkat Android tidak ada dalam daftar, winusb tidak akan dimuat.
- Windows 8 meminta langsung ke perangkat driver yang dibutuhkan antarmuka, dengan cara yang lebih baik daripada file INF.
- Jika perangkat kompatibel dengan Microsoft OS descriptor (MOD), Windows akan meminta Extended Compat ID OS Feature Descriptor.
- Dengan ini, winusb.sys dimuat, dan executable user-space adb dapat membuka perangkat serta mengklaim antarmuka sehingga pengembang bisa mulai bekerja.
Perangkat mana yang mendukung Microsoft OS descriptor
- Berdasarkan perangkat Pixel yang dimiliki penulis, dukungan MOD tampaknya mulai hadir di antara Pixel 2 (2017) dan Pixel 3a (2019).
Extended Properties OS Feature Descriptor
- Perangkat yang lebih baru seperti Pixel 8 memiliki Extended Properties OS Feature Descriptor, yang dapat mencakup GUID, halaman bantuan, URL, bahkan ikon.
Opini GN⁺
- Poin terpenting dari artikel ini adalah bahwa perangkat Android kini dapat digunakan untuk pengembangan di Windows tanpa pemasangan driver terpisah.
- Pengenalan Microsoft OS descriptor dan Extended Compat ID OS Feature Descriptor sangat meningkatkan pengalaman pengguna.
- Perubahan ini memberikan kemudahan bagi pengembang Android dan membantu meningkatkan aksesibilitas lingkungan pengembangan.
1 komentar
Komentar Hacker News
Kecintaan terhadap ADB(Android Debug Bridge)
Kapan dukungan MOD(Modern Operating Devices) mulai ada di perangkat Pixel
Driver Windows Precision Touchpad
Perkembangan driver ADB
.infuntuk setiap perangkat baru, tetapi sejak Windows 8 dan versi setelahnya, perangkat memberi tahu driver yang diperlukan melalui Microsoft OS Descriptors.Masalah driver USB di Windows
Kritik terhadap penambahan deskriptor USB khusus Microsoft
Pengalaman memecahkan masalah ADB
Pengalaman menggunakan protokol HID