Utiliser un port USB dans WSL
Aller à la navigation
Aller à la recherche
Accès à un périphérique USB (COM) depuis WSL2
Pré-requis
- Windows 10 ou 11 avec WSL2 installé
- Périphérique USB connecté (ex: convertisseur USB-Série)
- Outil [[1]] installé sur Windows
- (Optionnel) Désinstallation du filtre USBPcap si installé avec Wireshark
Étapes
1. Lancer PowerShell en mode administrateur
- Appuyer sur la touche Windows
- Taper PowerShell
- Clic droit → Exécuter en tant qu’administrateur
2. Lister les périphériques USB disponibles
usbipd list
Exemple de sortie :
Connected: BUSID VID:PID DEVICE STATE 2-3 1a86:7523 USB-SERIAL CH340 (COM3) Shared (forced) 2-5 1c7a:05a1 EgisTec Touch Fingerprint Sensor Not shared 2-10 8087:0033 Intel(R) Wireless Bluetooth(R) Not shared Persisted: GUID DEVICE c92d89c5-835f-48e0-9253-c3e6479422c3 USB Serial Converter
3. Partager le périphérique avec WSL
usbipd bind --busid 2-3 --force # --force necessaire si wireshark est installé
usbipd attach --wsl --busid 2-3
Si WLS est arrêtée seule la dernière ligne "attach" doit être relancée.
4. Vérifier dans WSL
ls /dev/ttyUSB*
Le périphérique devrait apparaître comme /dev/ttyUSB0 ou similaire.
Test de communication
Avec screen
sudo apt install screen
screen /dev/ttyUSB0 115200
Quitter avec : Ctrl + A puis K → Y
Avec Python (pyserial)
sudo apt install python3-pyserial
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
ser.write(b'*IDN?\n') # Exemple de commande SCPI
response = ser.readline()
print("Réponse:", response.decode().strip())
ser.close()
Remarques
- Le port COM3 de Windows peut correspondre à /dev/ttyUSB0 dans WSL2
- USBPcap peut interférer avec usbipd-win → désinstallation recommandée si non utilisé