Koneksi 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 pada mesin Windows Anda akan memungkinkan skenario USB pengembang umum seperti mem-flash Arduino atau mengakses pembaca smartcard.

Prasyarat

  • Menjalankan Windows 11 (Build 22000 atau lebih tinggi). (dukungan Windows 10 dimungkinkan, lihat catatan di bawah).
  • Diperlukan mesin dengan prosesor x64/x86. (Arm64 saat ini tidak didukung dengan usbipd-win).
  • Distribusi Linux diinstal dan diatur ke WSL 2.
  • Menjalankan kernel Linux 5.10.60.1 atau yang lebih tinggi.

Catatan

Untuk memeriksa versi Windows dan nomor build Anda, pilih kunci logo Windows + R, ketik winver, pilih OK. Anda dapat memperbarui ke versi Windows terbaru dengan memilih Mulai>Pengaturan>Windows Update>Centang 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

Windows 11 disarankan untuk menghubungkan perangkat USB ke distribusi Linux yang berjalan di WSL 2. Namun, Windows 10 dapat digunakan untuk menghubungkan perangkat USB dengan membangun kernel WSL 2 dengan dukungan USBIP Anda sendiri mengikuti instruksi dalam repositori proyek USBIPD-WIN.

Menginstal proyek USBIPD-WIN

Dukungan untuk menghubungkan perangkat USB tidak tersedia secara asli di WSL, jadi Anda harus menginstal proyek usbipd-win sumber terbuka.

  1. Buka halaman rilis terbaru untuk proyek usbipd-win.
  2. Pilih file .msi, yang akan mengunduh penginstal. (Anda mungkin mendapatkan peringatan yang meminta Anda untuk mengonfirmasi bahwa Anda mempercayai unduhan ini).
  3. 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: Host Perangkat USBIP). Anda dapat memeriksa status layanan ini menggunakan aplikasi Layanan dari Windows.
  • Alat usbipdbaris 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.

Menginstal alat USBIP dan database perangkat keras di Linux

Setelah proyek USB/IP selesai diinstal, Anda harus menginstal alat ruang pengguna dan database pengidentifikasi perangkat keras USB. Instruksi ini untuk Ubuntu — distribusi lain mungkin memerlukan paket klien usbip yang berbeda.

Di Ubuntu, jalankan perintah ini:

sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

Pada titik ini, layanan berjalan pada Windows untuk berbagi perangkat USB, dan alat yang diperlukan diinstal di WSL untuk dilampirkan ke perangkat bersama.

Melampirkan perangkat USB

Sebelum memasang perangkat USB Anda, pastikan baris perintah WSL terbuka. Ini akan membuat VM ringan WSL 2 tetap aktif.

  1. Cantumkan semua perangkat USB yang terhubung ke Windows dengan membuka PowerShell dalam mode administrator dan memasukkan perintah:

    usbipd wsl list
    
  2. Pilih ID bus perangkat yang ingin Anda lampirkan ke WSL dan jalankan perintah ini. Anda akan diminta oleh WSL agar kata sandi menjalankan perintah sudo. Distribusi Linux yang akan dilampirkan harus menjadi distribusi default Anda. (Lihat dokumen Comands for WSL dasar untuk mengubah distribusi default Anda).

    usbipd wsl attach --busid <busid>
    
  3. 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.

  4. Setelah selesai menggunakan perangkat di WSL, Anda dapat memutuskan sambungan perangkat USB secara fisik atau menjalankan perintah ini dari PowerShell dalam mode administrator :

    usbipd wsl 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: Koneksi perangkat USB (Tab vs Spaces show).