Forum: PC Hard- und Software WSL mit USB in Windows10


von J. S. (jojos)


Lesenswert?

Ich möchte meine gcc toolchain unter WSL2 etwas pflegen, das kompilieren 
geht unter WSL signifikant schneller. Mit VSCode ist die Integration 
sehr geschmeidig und mit der cmake-tools Extension habe ich mich auch 
angefreundet. USB geht auch, hängt sich aber nach mehr oder weniger 
Minuten ab: es macht Tada und das USB Device (STLink) ist im WSL nicht 
mehr sichtbar. Es kann wieder neu zugeordnet werden, dann haben sich 
aber die devices im WSL geändert, aus ttyACM0 wird z.B. ttyACM1. Warum 
passiert das, kennt hier jemand das Problem? Und das ganze udev scheint 
auch noch nicht im WSL zu funktionieren, die udev rules werden ignoriert 
und ich muss mit chmod jedesmal die Rechte ändern um auf USB zugreifen 
zu können.
Ich benutze Win10 21H2, läuft WSL mit einem Win11 besser?

von 🐧 DPA 🐧 (Gast)


Lesenswert?

Windows mounted diverse proprietäre Libraries & ein proprietäres init in 
die Container rein. WSL = Frankenlinux. Man kann systemd usw. in einem 
eigenen PID Namespace starten, aber dann gehen andere Dinge nicht mehr 
(z.B. eine .exe aus der WSL aufrufen). Was das proprietäre zeugs alles 
macht, weiss nur MS.

von J. S. (jojos)


Lesenswert?

ich bin etwas weiter gekommen, mein Windows war alt bzw. gibt es ein 
Feature Update 22H2, jetzt ist die USB Verbindung stabil.
udev funktioniert auch, es gab einen Hinweis in
https://learn.microsoft.com/de-de/windows/wsl/connect-usb
1
After updating your rules run udevadm control --reload. If you get an error that "Failed to send reload request: No such file or directory", run sudo service udev restart then run it again.

Das muss man scheinbar immer machen weil erst das WSL gestartet und 
danach USB zugeordnet wird.

Windows 11 wäre trotzdem noch interessant, damit soll WSL auch GUI 
Programme starten können.

von J. S. (jojos)


Angehängte Dateien:

Lesenswert?

J. S. schrieb:
> Windows 11 wäre trotzdem noch interessant, damit soll WSL auch GUI
> Programme starten können.

nach dem Update auf Win10 22H2 laufen auch Desktop Apps in Fenstern, 
Windows 11 ist entgegen erster Ankündigungen nicht nötig. Das ist schon 
sehr cool, eine Ubuntu Shell oder die Desktop Apps starten sehr fix ohne 
einen kompletten Rechner in einer VM booten zu müssen.
Auch die USB Brücke lief jetzt 24h durch, das ist jetzt richtig gut zu 
gebrauchen.

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

gibt's irgendne Anleitung wie ich usb passthrough in WSL2 aktiviere? 
Diese hier hat nicht funktioniert (Windows 10)

https://github.com/dorssel/usbipd-win

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?


von Alexander (alecxs)


Lesenswert?

muss ich eigenen Kernel compilieren?
scheitert bereits an der version Ubuntu 20.04 LTS

_Running uname -a from within WSL should report a kernel version of 
5.10.60.1 or later. You’ll need to be running a WSL 2 distro._
1
ubuntu:~$ uname -a
2
Linux ubuntu 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

von J. S. (jojos)


Lesenswert?

Nein, das ist im Kernel mittlerweile drin. Starte mal ein ‚WSL —update‘

von Alexander (alecxs)


Lesenswert?

Da kommt nur das
_Um automatischen Kernel-Updates zu erhalten, aktivieren Sie die Windows 
Update-Einstellung: „Empfangen von Updates für andere 
Microsoft-Produkte, wenn Windows aktualisiert wird“._

von J. S. (jojos)


Lesenswert?

bin da bei Version 5.15.74.2-microsoft-standard-WSL2
Das sind alles sehr neue Features, da muss alles frisch sein damit es 
funktioniert.

ok, wird daran liegen das ich mich für das Windows Insider Programm 
eingeschrieben habe, und da auf dem 'Release Preview' Pfad.

Ob es einen anderen Weg gibt, k.A.
Vielleicht hierüber:
https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

ich bin jetzt auf 5.10.102.1 und kann nun auch usbipd sehen, aber 
verbinden klappt nicht. im WSL USB Gui zeigt es mir gar nichts an, 
nichtmal das was ich unter usbipd sehe.
https://gitlab.com/alelec/wsl-usb-gui#screenshot
1
C:\WINDOWS\system32>usbipd wsl attach --busid 8-1
2
3
C:\WINDOWS\system32>usbipd wsl list
4
BUSID  VID:PID    DEVICE                                                        STATE
5
3-4    046a:b090  USB-Eingabegerät                                              Not attached
6
3-5    1bcf:0005  USB-Eingabegerät                                              Not attached
7
4-2    14cd:168a  USB-Massenspeichergerät                                       Not attached
8
8-1    2717:ff48  POCO M3, ADB Interface                                        Not attached

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

hast du alles Schritt für Schritt nach dieser Anleitung gemacht?
https://learn.microsoft.com/de-de/windows/wsl/connect-usb

auch die linux-tools müssten installiert und aktuell sein. Das 'sudp 
apt-get update' hat die bei mir nicht automatisch mit aktualisiert, 
musste ich explizit beim update angeben, warum auch immer.

Das GUI tool kannte ich noch nicht, sehr praktisch weil ich mir soviele 
Befehle nicht mehr merken kann. Im Moment mache ich das in der 
Powershell, die speichert die Historie auch über Rechnerneustarts 
hinweg.

Beim ersten attach eines USB Gerätes muss das mit Admin Rechten 
erfolgen, aber das erscheint auch so als Meldung wenn man das in einer 
Shell ohne Adminrechten ausführt.

: Bearbeitet durch User
von Alexander (alecxs)


Angehängte Dateien:

Lesenswert?

Alles klar, der Fehler saß vorm Bildschirm, danke. Habe nun noch mal 
alle linux-tools deinstalliert (waren mehrere Versionen), apt upgrade 
durchlaufen lassen und linux-tools-5.15.0-53-generic installiert. GUI 
funktioniert auch - mit Adminrechten

von Alexander (alecxs)


Lesenswert?

Leider konnte das WSL kein F2FS Dateisystem lesen, da der Kernel das 
nicht unterstützt. Nun musste das Windows einem richtigen Linux weichen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.