Comment accéder à un périphérique USB à distance depuis Windows (ou via WSL) ?
Si vous êtes sous Windows et que vous cherchez un moyen de partager un périphérique USB soit sur le réseau, à d’autres machines, soit à des machines virtuelles Hyper-V ou WSL 2, il vous faut faire ce qu’on appelle de l’USB-IP. Cela peut vous permettre de partager un scanner ou une ancienne imprimante entre plusieurs ordinateurs sur un même réseau.
C’est ce que permet cet utilitaire (bien connu des linuxiens) nommé usbipd dont une version Windows est à télécharger ici. Vous pouvez également l’installer via Winget avec la commande suivante :
winget install usbipd
Une fois installé, l’outil s’utilise en ligne de commande et permet à tous les appareils dispo sur le réseau de se connecter au périphérique USB de votre choix. Rassurez-vous, par défaut, rien n’est partagé. Il faudra lister les périphériques avec la commande :
usbipd list
Vous obtiendrez alors une liste de vos périphériques. Ils auront un ID genre : 3-1, 3-5..etc. Pour le mettre sur le réseau, vous devrez alors lancer la commande suivante :
usbipd bind --busid=X-X
(Remplacez x-x par 3-5 par exemple)
Ensuite, pour vous connecter, utiliser la commande suivante sur le système distant :
usbip list --remote=HOST
Et remplacez HOST par l’IP de la machine et voilà, vous aurez accès au périphérique USB comme si vous l’aviez branché sur votre propre machine. Après en fonction de votre réseau, sachez quand même qu’il peut y avoir quelques petits soucis de latence ou de bande passante.
Vous pouvez également utiliser la sous-commande “usbipd wsl” pour partager et connecter un périphérique avec une seule commande sous WSL2. Notez qu’il est possible de faire ça via une interface graphique avec cet outil.
Amusez-vous bien !