Menyambungkan perangkat USB
Panduan ini akan menelusuri langkah-langkah yang diperlukan untuk menghubungkan perangkat USB ke distribusi Linux yang berjalan di WSL 2 menggunakan proyek sumber terbuka USB/IP, usbipd-win.
Menyiapkan proyek USB/IP di komputer Windows Anda akan memungkinkan skenario USB pengembang umum seperti mem-flash Arduino atau mengakses pembaca kartu pintar.
- Menjalankan Windows 11 (Build 22000 atau yang lebih baru). (Dukungan Windows 10 dimungkinkan, lihat catatan di bawah).
- Diperlukan mesin dengan prosesor x64. (x86 dan Arm64 saat ini tidak didukung dengan usbipd-win).
- WSL diinstal dan disiapkan dengan versi terbaru.
- Distribusi Linux diinstal dan diatur ke WSL 2.
Catatan
Untuk memeriksa versi Windows dan nomor build Anda, pilih kunci logo Windows + R, ketik winver, pilih OK. Anda bisa memperbarui ke versi Windows terbaru dengan memilih Mulai>Pengaturan>Windows Update>Periksa pembaruan.
Untuk memeriksa versi kernel Linux Anda, buka distribusi Linux Anda dan masukkan perintah: uname -a
. Untuk memperbarui ke kernel terbaru secara manual, buka PowerShell dan masukkan perintah: wsl --update
.
Penting
WSL sekarang mendukung Windows 10 dan Windows 11 melalui Microsoft Store, yang berarti bahwa pengguna Windows 10 sekarang memiliki akses ke versi kernel terbaru tanpa perlu mengkompilasi dari sumber. Lihat WSL di Microsoft Store sekarang tersedia secara umum di Windows 10 dan 11 untuk informasi tentang cara memperbarui ke versi WSL yang didukung Toko. Jika Anda tidak dapat memperbarui ke versi WSL yang didukung Toko dan secara otomatis menerima pembaruan kernel, lihat repositori proyek USBIPD-WIN untuk instruksi tentang menghubungkan perangkat USB ke distribusi Linux yang berjalan di WSL 2 dengan membangun kernel WSL 2 yang diaktifkan USBIP Anda sendiri.
Dukungan untuk menghubungkan perangkat USB tidak tersedia secara asli di WSL, jadi Anda harus menginstal proyek usbipd-win sumber terbuka.
Persyaratan kernel
Untuk menggunakan USBIPD dengan Subsistem Windows untuk Linux (WSL), Anda harus memiliki versi kernel Linux 5.10.60.1 atau yang lebih tinggi. Jika versi kernel yang diinstal lebih lama dari 5.10.60.1, maka dapat diperbarui dengan terlebih dahulu mematikan instans WSL yang sedang berjalan dengan wsl --shutdown
, lalu menjalankan perintah: wsl --update
.
Menginstal USBIPD di WSL
- Buka halaman rilis terbaru untuk proyek usbipd-win.
- Pilih file .msi, yang akan mengunduh penginstal. (Anda mungkin mendapatkan peringatan yang meminta Anda untuk mengonfirmasi bahwa Anda mempercayai unduhan ini).
- Jalankan file penginstal usbipd-win_x.msi yang diunduh.
Catatan
Atau, Anda juga dapat menginstal proyek usbipd-win menggunakan Pengelola Paket Windows (winget). Jika Anda telah menginstal winget, cukup gunakan perintah: winget install --interactive --exact dorssel.usbipd-win
untuk menginstal usbipd-win. Jika Anda keluar dari --interaktif, winget dapat segera menghidupkan ulang komputer Anda jika diperlukan untuk menginstal driver.
Ini akan menginstal:
- Layanan yang disebut
usbipd
(nama tampilan: UsbIP Device Host). Anda dapat memeriksa status layanan ini menggunakan aplikasi Layanan dari Windows. - Alat
usbipd
baris perintah . Lokasi alat ini akan ditambahkan ke variabel lingkungan PATH. - Aturan firewall yang dipanggil
usbipd
untuk mengizinkan semua subnet lokal tersambung ke layanan. Anda dapat mengubah aturan firewall ini untuk menyempurnakan kontrol akses.
Sebelum melampirkan perangkat USB Anda, pastikan bahwa baris perintah WSL terbuka. Ini akan membuat VM ringan WSL 2 tetap aktif.
Catatan
Dokumen ini mengasumsikan bahwa Anda telah usbipd-win 4.0.0
atau lebih tinggi terinstal
Cantumkan semua perangkat USB yang tersambung ke Windows dengan membuka PowerShell dalam mode administrator dan memasukkan perintah berikut. Setelah perangkat tercantum, pilih dan salin ID bus perangkat yang ingin Anda lampirkan ke WSL.
usbipd list
Sebelum melampirkan perangkat USB, perintah
usbipd bind
harus digunakan untuk berbagi perangkat, memungkinkannya dilampirkan ke WSL. Ini memerlukan hak istimewa administrator. Pilih ID bus perangkat yang ingin Anda gunakan di WSL dan jalankan perintah berikut. Setelah menjalankan perintah, verifikasi bahwa perangkat dibagikan menggunakan perintahusbipd list
lagi.usbipd bind --busid 4-4
Untuk melampirkan perangkat USB, jalankan perintah berikut. (Anda tidak perlu lagi menggunakan prompt administrator yang ditinggikan.) Pastikan bahwa prompt perintah WSL terbuka untuk menjaga VM ringan WSL 2 tetap aktif. Perhatikan bahwa selama perangkat USB dilampirkan ke WSL, perangkat tersebut tidak dapat digunakan oleh Windows. Setelah dilampirkan ke WSL, perangkat USB dapat digunakan oleh distribusi apa pun yang berjalan sebagai WSL 2. Verifikasi bahwa perangkat dilampirkan menggunakan
usbipd list
. Dari perintah WSL, jalankanlsusb
untuk memverifikasi bahwa perangkat USB tercantum dan dapat berinteraksi dengan menggunakan alat Linux.usbipd attach --wsl --busid <busid>
Buka Ubuntu (atau baris perintah WSL pilihan Anda) dan cantumkan perangkat USB yang terpasang menggunakan perintah :
lsusb
Anda akan melihat perangkat yang baru saja Anda lampirkan dan dapat berinteraksi dengannya menggunakan alat Linux normal. Bergantung pada aplikasi Anda, Anda mungkin perlu mengonfigurasi aturan udev untuk memungkinkan pengguna non-root mengakses perangkat.
Setelah selesai menggunakan perangkat di WSL, Anda dapat memutuskan sambungan perangkat USB secara fisik atau menjalankan perintah ini dari PowerShell:
usbipd detach --busid <busid>
Untuk mempelajari selengkapnya tentang cara kerjanya, lihat Blog Baris Perintah Windows dan repositori usbipd-win di GitHub.
Untuk demonstrasi video, lihat WSL 2: Menyambungkan perangkat USB (Tab vs Spaces show).
Umpan balik Windows Subsystem for Linux
Windows Subsystem for Linux adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: