Ein Linux System das unter WSL2 läuft kann normalerweise nicht auf USB Geräte zugreifen, die am Windows Rechner angeschlossen sind.
Glücklicherweise gibt es mit USBIPD-WIN ein Open-Source Projekt das sich um diese Problem kümmert. Microsoft hat hier eine Anleitung veröffentlicht, die Beschreibt wie ein USB Gerät an WSL durchgereicht werden kann.
usbipd listDie Ausgabe könnte folgendermassen aussehen:
Connected: BUSID VID:PID DEVICE STATE 1-5 046d:c52b Logitech USB Input Device, USB-Eingabegerät Not shared 1-9 1d50:6089 HackRF One Not shared 1-10 1050:0403 USB-Eingabegerät Not shared 1-13 0b05:18a3 USB-Eingabegerät Not sharedAus der Ausgabe ist ersichtlich, dass mein HackRF One die BUSID 1-9 hat.
usbipd bind --busid 1-9Hier muss jetzt natürlich die im vorherigen Schritt ermittelte BUSID angegeben werden (bei mir 1-9, bei dir höchst wahrscheinlich ein anderer Wert).
usbipd list
nochamls überprüft werden, ob die Zeile mit HackRF One in der Spalte STATE jetzt "Shared" anzeigt.
Jetzt muss das USB Gerät noch mit WSL2 verbunden werden:
usbipd attach --wsl --busid 1-9
Tipp: Bei mir gab es mit der Version 4.1.0 von USBIPD-WIN beim letzten Befehl einen Fehler (usbipd: error: Mounting 'C:\Program Files\usbipd-win\WSL' within WSL failed). Ich musste dann USBIPD-WIN nochmals deinstallieren und stattdessen den Dev-Build 4.1.1 von https://github.com/dorssel/usbipd-win/actions/runs/7813976713 installieren (GitHub Account notwendig).
usbipd detach --busid 1-9
Innerhalb Kali Linux müssen jetzt zuerst die USB Utilities installiert werden:
sudo apt install usbutils
Danach können die angeschlossenen USB Geräte aufgelistet werden:
lsusb
Wenn alles geklappt hat, könnte die Ausgabe etwa folgendermassen aussehen (man beachte die 2. Zeile):
└─$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 1d50:6089 OpenMoko, Inc. Great Scott Gadgets HackRF One SDR Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub