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 :
BUSID VID:PID DEVICE STATE 5-1 2341:0043 Arduino Uno Not shared 5-2 1a86:7523 USB-SERIAL CH340 Not shared
3. Partager le périphérique avec WSL
Si USBPcap est installé, ajouter l’option --force :
usbipd bind --busid 5-2 --force
usbipd attach --wsl --busid 5-2
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 9600
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é