Kako povezati naprave USB v podsistemu Windows za Linux v sistemu Windows 11

Možno je priključiti naprave USB v podsistemu Windows za Linux v sistemu Windows 11 in delati z njimi neposredno.

hitre povezave

  • Kaj je usbipd-win?
  • Povežite naprave USB v podsistemu Windows za Linux
  • Ali obstaja kakšna alternativa GUI?

Microsoft predstavil Podsistem Windows za Linux (WSL) pred časom, ki je prinesel podporo za zagon aplikacij Linux neposredno iz namestitve sistema Windows brez potrebe po nastavitvi navideznega računalnika. Ker je WSL tako zapletena združljivostna plast, je imel nekaj omejitev. Začetna izvedba sploh ni uporabljala popolnega jedra Linuxa, zato se je več aplikacij soočilo s težavami z združljivostjo. Različica 2 je naredila veliko izboljšav, vendar nekaj še vedno manjka: podpora za povezovanje fizičnih naprav USB.

Če ste aktiven uporabnik podsistema Windows za Linux in želite dostopati do naprav USB neposredno iz primerka Linuxa, ki se izvaja pod WSL, boste veseli, da je pomemben napredek na tej fronti. Zahvaljujoč Microsoftovim prispevkom k odprtokodnosti usbipd-win

projekta, lahko zdaj uživate v prehodnem dostopu USB v WSL. To pomeni, da lahko končni uporabniki izvajajo naloge, kot je utripanje naprav Android v podsistemu Windows za Linux, ki jih sicer podsistem Linux ne podpira.

Kaj je usbipd-win?

Projekt usbipd-win je namenjen ustvarjanju rešitve za skupno rabo lokalno povezanih naprav USB z drugimi stroji, vključno z gosti Hyper-V in WSL2. Vendar uradno jedro WSL2 Linux včasih ni podpiralo za Protokol USB/IP, ki od uporabnikov zahteva, da sami zgradijo jedro.

Od različice jedra WSL 5.10.60.1 so zahtevani parametri konfigurirani takoj, tako da ročno ponovno prevajanje ni potrebno. Microsoft je k projektu prispeval tudi vmesnik ukazne vrstice, ki omogoča skupno rabo naprave USB v sistemu Windows in jo brez težav priklopi znotraj WSL.

Povežite naprave USB v podsistemu Windows za Linux

Preden začnete, se prepričajte, da tečete Windows 11 in so namestili vse posodobitve WSL. Kot smo že omenili, potrebujete distribucijo WSL 2 Linux, da to deluje.

  1. Zaženite naslednji ukaz znotraj WSL:
    uname -a
    Če prikazuje različico jedra 5.10.60.1 ali novejšo (kot je prikazano spodaj), ste pripravljeni.
    • Če je nameščena različica jedra starejša od 5.10.60.1, jo je mogoče posodobiti z naslednjimi ukazi:
      wsl --shutdown
      wsl --update
  2. Pojdite na GitHub repo projekta usbipd-win. Potem prenesite in namestite najnovejšo izdajo.
    • Najnovejša različica usbipd-win podpira tiho namestitev gonilnika, zahvaljujoč certificiranim gonilnikom Windows Hardware Compatibility Program. Prav tako podpira Zgradbe kanala za razvijalce sistema Windows 11.
    • Poleg strani za izdajo na GitHubu lahko aplikacijo namestite in posodobite z uporabo Windows Package Manager CLI (aka krilo).
      winget install--interactive --exact dorssel.usbipd-win
  3. Namestite orodja uporabniškega prostora za USB/IP in bazo podatkov identifikatorjev strojne opreme USB. Če uporabljate Ubuntu na WSL, izvedite naslednje ukaze:
    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
    • Lahko se odločite za različne meta pakete (npr. linux-tools-generic), odvisno tudi od nameščene distribucije. Vendar pa boste morda morali prilagoditi spremenljivko poti v naslednjem koraku glede na številko različice meta paketa.
    • Za druge distribucije si oglejte dokumentacijo ustreznega orodja za upravljanje paketov.
  4. V primeru, da simbolna povezava, ustvarjena z uporabo update-alternatives ukaz v prejšnjem koraku za vas ni deloval, lahko ročno spremenite možnosti sudo, da omogočite uporabniku root, da najde usbip ukaz. Če želite to narediti, uredite /etc/sudoers uporabo datoteke sudo visudo in dodajte /usr/lib/linux-tools/-generic do začetka secure_path. Izgledati mora takole:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. Odprite nov primerek terminala kot skrbnik in vnesite naslednji ukaz za seznam vseh naprav USB, povezanih z operacijskim sistemom Windows.
    usbipd wsl list
  6. Zapišite si vrednost BUSID naprave USB, ki jo želite priključiti na WSL. Nato zaženite naslednji ukaz, da začnete postopek pripenjanja. WSL vas bo pozval k vnosu gesla za zagon ukaza sudo.
    usbipd wsl attach --busid <busid>
    Tukaj na primer pripenjamo vmesnik Fastboot naprave Android na WSL iz gostiteljskega primerka Windows 11:
  7. Zdaj odprite nov primerek WSL 2 in zaženite lsusb ukaz za ogled razpoložljivih naprav USB. Vsebovati mora seznam priključenih naprav.
  8. To je to! Zdaj lahko delate s svojo USB napravo neposredno iz WSL.

Ko končate, lahko napravo odklopite s spodnjim ukazom. Še enkrat ga zaženite iz primerka terminala, ki se izvaja kot skrbnik.

usbipd wsl detach --busid <busid>

Ali obstaja kakšna alternativa GUI?

Če vmesnik ukazne vrstice ni vaša močna stran, lahko daste wsl-usb-gui poskusiti. To je neuradni ovoj GUI okrog binarne datoteke usbipd-win, ki močno poenostavi seznam naprav USB in interoperabilnost med gostiteljskim OS in instanco WSL.

  1. Prepričajte se, da je nameščena najnovejša različica usbipd-win in da je jedro WSL posodobljeno.
  2. Prenesite najnovejši namestitveni program wsl-usb-gui na strani za izdaje projekta GitLab.
  3. Zaženite datoteko MSI, ki ste jo prenesli.
    • Pred namestitvijo programa namestitveni program preveri tudi predpogoje in jih po potrebi poskusi nastaviti. Vendar bi bilo bolje, da vse posodabljate sami, da se izognete morebitnim nepredvidenim težavam z združljivostjo.
  4. Po uspešni namestitvi bi morali najti novo ustvarjeno bližnjico z imenom WSL USB v meniju Start. Zaženite aplikacijo od tam.
  5. Kliknite na Osveži gumb za zapolnitev seznama naprav USB, povezanih z gostiteljskim OS.
  6. Uporabi Priložite in Loči gumbe za sprostitev celotnega potenciala prehoda USB.

Od tu naprej ste pripravljeni iti naprej in se ukvarjati z vsemi svojimi napravami USB, ki jih želite v WSL. Naš celoten vodnik vam bo pomagal na tej poti, a ko je prehod USB nastavljen tako, kot vam je všeč, preprosto zbledi v ozadju. Če želite izvedeti več, si oglejte Microsoftova uradna dokumentacija o povezovanju naprav USB pod WSL in usbipd-win razdelek GitHub Wiki.

Hvala starejšemu članu XDA Nekaj_naključnega_uporabniškega imena za napitnino!