Jak podłączyć urządzenia USB w podsystemie Windows dla systemu Linux w systemie Windows 11

click fraud protection

Możliwe jest podłączenie urządzeń USB w Podsystemie Windows dla systemu Linux pod Windows 11 i bezpośrednia praca z nimi.

Szybkie linki

  • Co to jest usbipd-win?
  • Podłącz urządzenia USB w podsystemie Windows dla systemu Linux
  • Czy istnieje alternatywa dla GUI?

Microsoft przedstawił Podsystem Windows dla systemu Linux (WSL) jakiś czas temu, która zapewniła obsługę uruchamiania aplikacji Linuksa bezpośrednio z instalacji systemu Windows bez konieczności konfigurowania maszyny wirtualnej. Będąc tak złożoną warstwą kompatybilności, WSL miał pewne ograniczenia. Początkowa implementacja nie korzystała nawet z pełnego jądra Linuksa, więc kilka aplikacji napotkało problemy ze zgodnością. Wersja 2 wprowadziła wiele ulepszeń, ale czegoś wciąż brakowało: obsługi podłączania fizycznych urządzeń USB.

Jeśli jesteś aktywnym użytkownikiem podsystemu Windows dla systemu Linux i chcesz uzyskać dostęp do urządzeń USB bezpośrednio z instancji systemu Linux działającej w ramach WSL, z przyjemnością dowiesz się, że istnieje

znaczący postęp na tym froncie. Dzięki wkładowi Microsoftu w open-source usbipd-win projekt, możesz teraz cieszyć się dostępem przez USB w WSL. Oznacza to, że użytkownicy końcowi mogą wykonywać zadania, takie jak flashowanie urządzeń z systemem Android w podsystemie Windows dla systemu Linux, które w innym przypadku nie są obsługiwane przez podsystem Linux.

Co to jest usbipd-win?

Projekt usbipd-win polega na stworzeniu rozwiązania do udostępniania lokalnie podłączonych urządzeń USB innym maszynom, w tym gościom Hyper-V i WSL2. Jednak oficjalne jądro Linuksa WSL2 nie miało wsparcia dla Protokół USB/IP, wymagając od użytkowników samodzielnego zbudowania jądra.

Od wersji jądra WSL 5.10.60.1 wymagane parametry są konfigurowane od razu, więc ręczna ponowna kompilacja nie jest potrzebna. Firma Microsoft wniosła również do projektu interfejs wiersza poleceń, który umożliwia zarówno udostępnianie urządzenia USB w systemie Windows, jak i bezproblemowe podłączanie go z poziomu WSL.

Podłącz urządzenia USB w podsystemie Windows dla systemu Linux

Zanim zaczniesz, upewnij się, że biegniesz Okna 11 i zainstalowałem wszystkie aktualizacje WSL. Jak wspomniano wcześniej, potrzebujesz dystrybucji Linuksa WSL 2, aby to zadziałało.

  1. Uruchom następującą komendę z poziomu WSL:
    uname -a
    Jeśli pokazuje wersję jądra 5.10.60.1 lub nowszą (jak pokazano poniżej), możesz zaczynać.
    • Jeśli zainstalowana wersja jądra jest starsza niż 5.10.60.1, można ją zaktualizować za pomocą następujących poleceń:
      wsl --shutdown
      wsl --update
  2. Przejdź do repozytorium GitHub projektu usbipd-win. Następnie pobierz i zainstaluj najnowszą wersję.
    • Najnowsza wersja usbipd-win obsługuje cichą instalację sterowników, dzięki certyfikowanym sterownikom Programu zgodności sprzętu Windows. To również obsługuje Kompilacje kanałów deweloperskich systemu Windows 11.
    • Oprócz strony wydania w serwisie GitHub możesz zainstalować i zaktualizować aplikację za pomocą Interfejs wiersza polecenia Menedżera pakietów systemu Windows (inaczej winget).
      winget install--interactive --exact dorssel.usbipd-win
  3. Zainstaluj narzędzia przestrzeni użytkownika dla USB/IP oraz bazę danych identyfikatorów sprzętu USB. Jeśli używasz Ubuntu na WSL, wykonaj następujące polecenia:
    sudo apt install linux-tools-virtual hwdata
    sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
    • Możesz wybrać różne metapakiety (np. linux-tools-generic) również, w zależności od zainstalowanej dystrybucji. Jednak w następnym kroku może być konieczne dostosowanie zmiennej ścieżki zgodnie z numerem wersji metapakietu.
    • W przypadku innych dystrybucji zapoznaj się z dokumentacją odpowiedniego narzędzia do zarządzania pakietami.
  4. W przypadku dowiązania symbolicznego utworzonego przy użyciu update-alternatives polecenie w poprzednim kroku nie zadziałało, możesz ręcznie zmodyfikować opcje sudo, aby umożliwić użytkownikowi root znalezienie usbip Komenda. W tym celu edytuj plik /etc/sudoers plik za pomocą sudo visudo i dodaj /usr/lib/linux-tools/-generic do początku secure_path. Powinno to wyglądać następująco:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. Otwórz nową instancję terminala jako administrator i wpisz następujące polecenie, aby wyświetlić listę wszystkich urządzeń USB podłączonych do systemu Windows.
    usbipd wsl list
  6. Zanotuj wartość BUSID urządzenia USB, które chcesz podłączyć do WSL. Następnie uruchom następujące polecenie, aby zainicjować proces dołączania. Zostaniesz poproszony przez WSL o podanie hasła do uruchomienia polecenia sudo.
    usbipd wsl attach --busid <busid>
    Na przykład tutaj dołączamy interfejs Fastboot urządzenia z Androidem do WSL z instancji hosta Windows 11:
  7. Teraz otwórz nową instancję WSL 2 i uruchom plik lsusb polecenie, aby wyświetlić dostępne urządzenia USB. Powinien zawierać listę podłączonych urządzeń.
  8. Otóż ​​to! Możesz teraz pracować z urządzeniem USB bezpośrednio z WSL.

Po zakończeniu możesz odłączyć urządzenie za pomocą polecenia pokazanego poniżej. Jeszcze raz uruchom go z instancji terminala działającej jako administrator.

usbipd wsl detach --busid <busid>

Czy istnieje alternatywa dla GUI?

Jeśli interfejs wiersza poleceń nie jest twoją mocną stroną, możesz dać wsl-usb-gui próba. Jest to nieoficjalne opakowanie GUI wokół pliku binarnego usbipd-win, co znacznie upraszcza listę urządzeń USB i interoperacyjność między systemem operacyjnym hosta a instancją WSL.

  1. Upewnij się, że zainstalowana jest najnowsza wersja usbipd-win, a jądro WSL jest aktualne.
  2. Pobierz najnowszy instalator wsl-usb-gui ze strony wydań GitLab projektu.
  3. Uruchom pobrany plik MSI.
    • Przed zainstalowaniem programu instalator sprawdza również wymagania wstępne iw razie potrzeby próbuje je skonfigurować. Jednak lepiej byłoby aktualizować wszystko samodzielnie, aby uniknąć nieprzewidzianych problemów ze zgodnością.
  4. Po udanej instalacji powinieneś być w stanie znaleźć nowo utworzony skrót o nazwie WSL USB w menu Start. Uruchom aplikację stamtąd.
  5. Kliknij na Odświeżać przycisk, aby zapełnić listę urządzeń USB podłączonych do systemu operacyjnego hosta.
  6. Użyj Przytwierdzać I Odłączyć przycisków, aby uwolnić pełny potencjał przejściówki USB.

Od teraz możesz ruszać w drogę i majstrować przy wszystkich urządzeniach USB, które chcesz w WSL. Nasz pełny przewodnik pomoże ci po drodze, ale po skonfigurowaniu przejścia USB tak, jak lubisz, po prostu znika w tle. Aby dowiedzieć się więcej, spójrz na Oficjalna dokumentacja firmy Microsoft dotycząca podłączania urządzeń USB w ramach WSL I sekcja GitHub wiki usbipd-win.

Podziękowania dla starszego członka XDA Some_Random_Nazwa użytkownika za wskazówkę!