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 di komputer Windows Anda akan memungkinkan skenario USB pengembang umum seperti mem-flash Arduino atau mengakses pembaca kartu pintar.

Prasyarat

  • 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 dapat memperbarui ke versi Windows terbaru dengan memilih Mulai> Pengaturan> PerbaruiWindows>Periksa pembaruan. Untuk memeriksa versi kernel Linux Anda, buka distribusi Linux Anda dan masukkan perintah: uname -a. Untuk memperbarui 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.

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: UsbIP Device Host). 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.

Melampirkan perangkat USB

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

  1. 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
    
  2. 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 perintah usbipd list lagi.

    usbipd bind --busid 4-4
    
  3. 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, jalankan lsusb untuk memverifikasi bahwa perangkat USB tercantum dan dapat berinteraksi dengan menggunakan alat Linux.

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

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