როგორ დააკავშიროთ USB მოწყობილობები Windows ქვესისტემაში Linux-ისთვის Windows 11-ში

შესაძლებელია USB მოწყობილობების დაკავშირება Windows Subsystem for Linux-ში Windows 11-ით და მათთან უშუალოდ მუშაობა.

სწრაფი ბმულები

  • რა არის usbipd-win?
  • შეაერთეთ USB მოწყობილობები Windows ქვესისტემის ქვეშ Linux-ისთვის
  • არის რაიმე GUI ალტერნატივა?

Microsoft-მა გააცნო Windows ქვესისტემა Linux-ისთვის (WSL) ცოტა ხნის წინ, რომელმაც მოიტანა მხარდაჭერა Linux აპლიკაციების გაშვებისთვის პირდაპირ თქვენი Windows ინსტალაციისგან, ვირტუალური მანქანის დაყენების საჭიროების გარეშე. როგორც ასეთი რთული თავსებადობის ფენა, WSL-ს ჰქონდა გარკვეული შეზღუდვები. თავდაპირველ განხორციელებაში არ იყო გამოყენებული Linux-ის სრულფასოვანი ბირთვი, ამიტომ რამდენიმე აპლიკაცია თავსებადობის პრობლემას შეექმნა. მე-2 ვერსიამ ბევრი გაუმჯობესება მოახდინა, მაგრამ რაღაც მაინც აკლდა: ფიზიკური USB მოწყობილობების დაკავშირების მხარდაჭერა.

თუ თქვენ ხართ Windows ქვესისტემის აქტიური მომხმარებელი Linux-ისთვის და გსურთ წვდომა USB მოწყობილობებზე უშუალოდ Linux ინსტანციიდან, რომელიც მუშაობს WSL-ზე, მაშინ სიამოვნებით გაიგებთ, რომ არსებობს მნიშვნელოვანი პროგრესი

ამ ფრონტზე. Microsoft-ის წვლილის წყალობით ღია წყაროში usbipd-win პროექტით, ახლა შეგიძლიათ ისარგებლოთ USB გადასასვლელით WSL-ში. ეს ნიშნავს, რომ საბოლოო მომხმარებლებს შეუძლიათ შეასრულონ ამოცანები, როგორიცაა Android მოწყობილობების ციმციმა Windows Subsystem for Linux-ში, რომლებიც სხვაგვარად არ არის მხარდაჭერილი Linux ქვესისტემის მიერ.

რა არის usbipd-win?

usbipd-win პროექტი ეხება გადაწყვეტის შექმნას ლოკალურად დაკავშირებული USB მოწყობილობების სხვა მანქანებთან, მათ შორის Hyper-V სტუმრებთან და WSL2-თან გასაზიარებლად. თუმცა, ოფიციალურ WSL2 Linux ბირთვს არ ჰქონდა მხარდაჭერა USB/IP პროტოკოლი, მოითხოვს მომხმარებლებს თავად შექმნან ბირთვი.

WSL ბირთვის ვერსიის 5.10.60.1 ვერსიიდან გამომდინარე, საჭირო პარამეტრები კონფიგურირებულია გარეთ, ამიტომ არ არის საჭირო ხელით ხელახალი კომპილაცია. მაიკროსოფტმა ასევე შეიტანა ბრძანების ხაზის ინტერფეისი პროექტში, რათა ჩართოთ USB მოწყობილობა Windows-ზე გაზიარებისთვის და შეუფერხებლად მიამაგროთ იგი WSL-დან.

შეაერთეთ USB მოწყობილობები Windows ქვესისტემის ქვეშ Linux-ისთვის

დაწყებამდე დარწმუნდით, რომ სირბილით ხართ Windows 11 და დააინსტალირე ყველა WSL განახლება. როგორც უკვე აღვნიშნეთ, ამისათვის გჭირდებათ WSL 2 Linux დისტრო.

  1. გაუშვით შემდეგი ბრძანება WSL-დან:
    uname -a
    თუ ის აჩვენებს ბირთვის ვერსიას 5.10.60.1 ან უფრო გვიან (როგორც ნაჩვენებია ქვემოთ), მაშინ მზად ხართ წახვიდეთ.
    • თუ დაინსტალირებული ბირთვის ვერსია უფრო ძველია, ვიდრე 5.10.60.1, მაშინ მისი განახლება შესაძლებელია შემდეგი ბრძანებების გამოყენებით:
      wsl --shutdown
      wsl --update
  2. გადადით usbipd-win პროექტის GitHub რეპოში. მერე ჩამოტვირთეთ და დააინსტალირეთ უახლესი ვერსია.
    • usbipd-win-ის უახლესი ვერსია მხარს უჭერს დრაივერების ჩუმად ინსტალაციას Windows Hardware Compatibility Program-ის სერტიფიცირებული დრაივერების წყალობით. ის ასევე მხარს უჭერს Dev არხის შენობები Windows 11-ის.
    • GitHub-ის გამოშვების გვერდის გარდა, შეგიძლიათ დააინსტალიროთ და განაახლოთ აპი გამოყენებით Windows პაკეტის მენეჯერი CLI (აკა winget).
      winget install--interactive --exact dorssel.usbipd-win
  3. დააინსტალირეთ მომხმარებლის სივრცის ხელსაწყოები USB/IP-ისთვის და USB ტექნიკის იდენტიფიკატორების მონაცემთა ბაზა. თუ თქვენ აწარმოებთ Ubuntu-ს WSL-ზე, შეასრულეთ შემდეგი ბრძანებები:
    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
    • თქვენ შეგიძლიათ აირჩიოთ სხვადასხვა მეტა პაკეტი (მაგ. linux-tools-generic) ასევე, დაყენებული დისტროდან გამომდინარე. თუმცა, შეიძლება დაგჭირდეთ ბილიკის ცვლადის კორექტირება შემდეგ ეტაპზე, მეტა პაკეტის ვერსიის ნომრის მიხედვით.
    • სხვა დისტრიბუციებისთვის იხილეთ პაკეტის მართვის შესაბამისი ინსტრუმენტის დოკუმენტაცია.
  4. იმ შემთხვევაში, თუ სიმბოლური ბმული შექმნილია გამოყენებით update-alternatives წინა ნაბიჯის ბრძანება არ მუშაობდა თქვენთვის, შეგიძლიათ ხელით შეცვალოთ sudo პარამეტრები, რათა root მომხმარებელმა მოძებნოს usbip ბრძანება. ამისათვის შეცვალეთ /etc/sudoers ფაილის გამოყენებით sudo visudo და დაამატეთ /usr/lib/linux-tools/-generic დასაწყისამდე secure_path. ეს უნდა გამოიყურებოდეს შემდეგნაირად:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. გახსენით ახალი ტერმინალი, როგორც ადმინისტრატორი და აკრიფეთ შემდეგი ბრძანება Windows-თან დაკავშირებული ყველა USB მოწყობილობის სიაში.
    usbipd wsl list
  6. ჩანიშნეთ USB მოწყობილობის BUSID მნიშვნელობა, რომლის მიმაგრებაც გსურთ WSL-ზე. შემდეგი, გაუშვით შემდეგი ბრძანება დანართის პროცესის დასაწყებად. WSL მოგთხოვთ პაროლს sudo ბრძანების გასაშვებად.
    usbipd wsl attach --busid <busid>
    მაგალითად, აქ ჩვენ ვამაგრებთ Android მოწყობილობის Fastboot ინტერფეისს WSL-ს მასპინძელი Windows 11 ინსტანციიდან:
  7. ახლა გახსენით ახალი WSL 2 ინსტანცია და გაუშვით lsusb ბრძანება ხელმისაწვდომი USB მოწყობილობების სანახავად. მასში უნდა იყოს მითითებული მიმაგრებული მოწყობილობა (ებ).
  8. Ის არის! ახლა თქვენ შეგიძლიათ იმუშაოთ თქვენს USB მოწყობილობასთან პირდაპირ WSL-დან.

როდესაც დაასრულებთ, შეგიძლიათ გამორთოთ მოწყობილობა ქვემოთ ნაჩვენები ბრძანების გამოყენებით. კიდევ ერთხელ, გაუშვით ტერმინალის ინსტანციიდან, რომელიც მუშაობს როგორც ადმინისტრატორი.

usbipd wsl detach --busid <busid>

არის რაიმე GUI ალტერნატივა?

იმ შემთხვევაში, თუ ბრძანების ხაზის ინტერფეისი არ არის თქვენი ძლიერი მხარე, შეგიძლიათ მისცეთ wsl-usb-gui ცდა. ეს არის არაოფიციალური GUI შეფუთვა usbipd-win ბინარის გარშემო, რაც მნიშვნელოვნად ამარტივებს USB მოწყობილობების ჩამონათვალს და თავსებადობას მასპინძელ OS-სა და WSL ინსტანციას შორის.

  1. დარწმუნდით, რომ დაინსტალირებულია usbipd-win-ის უახლესი ვერსია და WSL ბირთვი განახლებულია.
  2. ჩამოტვირთეთ wsl-usb-gui-ის უახლესი ინსტალერი პროექტის GitLab გამოშვების გვერდიდან.
  3. გაუშვით თქვენ მიერ გადმოწერილი MSI ფაილი.
    • პროგრამის დაყენებამდე ინსტალერი ასევე ამოწმებს წინაპირობებს და საჭიროების შემთხვევაში ეცდება მათ დაყენებას. თუმცა, უკეთესი იქნება, რომ ყველაფერი განახლებულიყოთ, რათა თავიდან აიცილოთ რაიმე გაუთვალისწინებელი თავსებადობის პრობლემები.
  4. წარმატებული ინსტალაციის შემდეგ, თქვენ უნდა იპოვოთ ახლად შექმნილი მალსახმობი სახელად WSL USB Start მენიუში. გაუშვით აპლიკაცია იქიდან.
  5. დააწკაპუნეთ განაახლეთ ღილაკი მასპინძელ OS-თან დაკავშირებული USB მოწყობილობების სიის შესავსებად.
  6. გამოიყენეთ მიამაგრეთ და გათიშვა ღილაკები USB გადაცემის სრული პოტენციალის გასახსნელად.

აქედან მოყოლებული, თქვენ მზად ხართ წახვიდეთ და დააინტერესოთ ყველა თქვენი USB მოწყობილობა, რომელიც გსურთ WSL-ში. ჩვენი სრული გზამკვლევი დაგეხმარებათ გზაში, მაგრამ მას შემდეგ, რაც USB გამშვები დაყენდება ისე, როგორც მოგწონთ, ის უბრალოდ ქრება ფონზე. მეტის გასაგებად, გადახედეთ Microsoft-ის ოფიციალური დოკუმენტაცია WSL-ის ქვეშ USB მოწყობილობების დაკავშირების შესახებ და usbipd-win-ის GitHub ვიკი სექცია.

მადლობა XDA-ს უფროს წევრს ზოგიერთი_შემთხვევითი_მომხმარებლის სახელი წვერისთვის!