Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przewodnik przeprowadzi cię przez kroki niezbędne do połączenia urządzenia USB z dystrybucją systemu Linux uruchomioną w systemie WSL 2 przy użyciu projektu open source USB/IP, usbipd-win.
Skonfigurowanie projektu USB/IP na komputerze z systemem Windows umożliwi typowe scenariusze USB dla deweloperów, takie jak flashowanie Arduino lub uzyskiwanie dostępu do czytnika kart inteligentnych.
Wymagania wstępne
- System Windows 11 (kompilacja 22000 lub nowsza). (Obsługa systemu Windows 10 jest możliwa, zobacz uwagę poniżej).
- Wymagana jest maszyna z procesorem x64. (x86 i Arm64 nie są obecnie obsługiwane w przypadku usbipd-win).
- Program WSL jest instalowany i konfigurowany przy użyciu najnowszej wersji.
- Zainstalowano i ustawiono dystrybucję systemu Linux na WSL 2.
Uwaga / Notatka
Aby sprawdzić wersję systemu Windows i numer kompilacji, wybierz pozycję Klucz logo systemu Windows + R, wpisz winver, wybierz przycisk OK. Możesz zaktualizować do najnowszej wersji systemu Windows, wybierając pozycję Uruchom>ustawienia>Windows Update>Sprawdź dostępność aktualizacji.
Aby sprawdzić wersję jądra systemu Linux, otwórz dystrybucję systemu Linux i wprowadź polecenie: uname -a
. Aby ręcznie zaktualizować do najnowszego jądra, otwórz program PowerShell i wprowadź polecenie: wsl --update
.
Ważne
Program WSL obsługuje teraz zarówno systemy Windows 10, jak i Windows 11 za pośrednictwem Sklepu Microsoft, co oznacza, że użytkownicy systemu Windows 10 mają teraz dostęp do najnowszych wersji jądra bez konieczności kompilowania ze źródła. Zobacz WSL w sklepie Microsoft Store jest teraz ogólnie dostępny w systemie Windows 10 i 11, aby uzyskać informacje na temat sposobu aktualizacji do obsługiwanej przez sklep wersji WSL. Jeśli nie możesz zaktualizować do wersji programu WSL obsługiwanej przez Store i automatycznie odbierać aktualizacje jądra, zobacz repozytorium projektuUSBIPD-WIN, aby uzyskać instrukcje dotyczące łączenia urządzeń USB z dystrybucją systemu Linux działającą na WSL 2 poprzez stworzenie własnego jądra WSL 2 z włączoną obsługą protokołu USBIP.
Instalowanie projektu USBIPD-WIN
Obsługa łączenia urządzeń USB nie jest natywnie dostępna w programie WSL, dlatego należy zainstalować projekt usbipd-win typu open source.
Wymagania dla jądra
Aby użyć funkcji USBIPD z podsystemem Windows dla systemu Linux (WSL), musisz mieć jądro systemu Linux w wersji 5.10.60.1 lub nowszej. Jeśli zainstalowana wersja jądra jest starsza niż 5.10.60.1, można ją zaktualizować, najpierw zamykając wszystkie uruchomione wystąpienia programu WSL za pomocą polecenia wsl --shutdown
, a następnie uruchamiając polecenie: wsl --update
.
Instalowanie funkcji USBIPD w programie WSL
- Przejdź do najnowszej strony wydania dla projektu usbipd-win.
- Wybierz plik .msi, który pobierze instalatora. (Może zostać wyświetlone ostrzeżenie z prośbą o potwierdzenie, że ufasz temu pobieraniu).
- Uruchom pobrany plik instalatora usbipd-win_x.msi.
Uwaga / Notatka
Alternatywnie można również zainstalować projekt usbipd-win przy użyciu Menedżera pakietów systemu Windows (winget). Jeśli masz już zainstalowany zestaw winget, po prostu użyj polecenia: winget install --interactive --exact dorssel.usbipd-win
aby zainstalować usbipd-win. W przypadku pozostawienia opcji --interactive zestaw winget może natychmiast ponownie uruchomić komputer, jeśli jest to wymagane do zainstalowania sterowników.
Spowoduje to zainstalowanie:
- Usługa o nazwie
usbipd
(nazwa wyświetlana: USBIP Device Host). Stan tej usługi można sprawdzić przy użyciu aplikacji Usługi w systemie Windows. - Narzędzie wiersza polecenia
usbipd
. Lokalizacja tego narzędzia zostanie dodana do zmiennej środowiskowej PATH. - Reguła zapory, nazwana
usbipd
, pozwalająca na połączenie ze wszystkimi podsieciami lokalnymi. Tę regułę zapory można zmodyfikować, aby dostosować kontrolę dostępu.
Dołączanie urządzenia USB
Przed dołączeniem urządzenia USB upewnij się, że wiersz polecenia WSL jest otwarty. Utrzyma to aktywność lekkiej maszyny wirtualnej WSL 2.
Uwaga / Notatka
W tym dokumencie przyjęto założenie, że masz usbipd-win 4.0.0
zainstalowaną lub nowszą wersję
Wyświetl listę wszystkich urządzeń USB podłączonych do systemu Windows, otwierając program PowerShell w trybie administratora i wprowadzając następujące polecenie. Gdy urządzenia zostaną wyświetlone, wybierz i skopiuj identyfikator magistrali urządzenia, które chcesz dołączyć do usługi WSL.
usbipd list
Przed dołączeniem urządzenia USB należy użyć polecenia
usbipd bind
w celu udostępnienia urządzenia, co pozwoli na dołączenie go do usługi WSL. Wymaga to uprawnień administratora. Wybierz identyfikator magistrali urządzenia, którego chcesz użyć w programie WSL, i uruchom następujące polecenie. Po uruchomieniu polecenia sprawdź, czy urządzenie zostało ponownie udostępnione przy użyciu poleceniausbipd list
.usbipd bind --busid 4-4
Aby dołączyć urządzenie USB, uruchom następujące polecenie. (Nie musisz już używać monitu administratora z podwyższonym poziomem uprawnień). Upewnij się, że wiersz polecenia programu WSL jest otwarty, aby zachować aktywną uproszczoną maszynę wirtualną WSL 2. Należy pamiętać, że o ile urządzenie USB jest podłączone do systemu WSL, nie może być używane przez system Windows. Po dołączeniu do programu WSL urządzenie USB może być używane przez dowolną dystrybucję działającą jako WSL 2. Sprawdź, czy urządzenie jest dołączone przy użyciu polecenia
usbipd list
. W wierszu polecenia programu WSL uruchom polecenielsusb
, aby sprawdzić, czy urządzenie USB znajduje się na liście i można korzystać z nich przy użyciu narzędzi systemu Linux.usbipd attach --wsl --busid <busid>
Otwórz system Ubuntu (lub preferowany wiersz polecenia WSL) i wyświetl listę dołączonych urządzeń USB przy użyciu polecenia :
lsusb
Powinno zostać wyświetlone właśnie dołączone urządzenie i możliwość interakcji z nim przy użyciu normalnych narzędzi systemu Linux. W zależności od aplikacji może być konieczne skonfigurowanie reguł udev, aby zezwolić użytkownikom niemającym uprawnień administratora na dostęp do urządzenia.
Po zakończeniu korzystania z urządzenia w programie WSL można fizycznie odłączyć urządzenie USB lub uruchomić to polecenie z poziomu programu PowerShell:
usbipd detach --busid <busid>
Aby dowiedzieć się więcej o tym, jak to działa, zobacz blog wiersza polecenia systemu Windows i repozytorium usbipd-win w witrynie GitHub.
Aby obejrzeć demonstrację wideo, zobacz WSL 2: Connect USB devices (Tabs vs Spaces show).
Windows Subsystem for Linux