Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2.
This software requires Microsoft Windows 8 / Microsoft Windows Server 2012 or newer; it does not depend on any other software.
Run the installer (.msi) from the latest release on the Windows machine where your USB device is connected.
Alternatively, use the Windows Package Manager:
winget install usbipd
This will install and run a service called usbipd
(display name: USBIP Device Host).
You can check the status of this service using the Services app from Windows.
Additionally, it will add the command line tool usbipd
in your path.
By default devices are not shared with usbip clients.
To lookup and share devices, open a command prompt as an Administrator and use the usbipd
tool.
For example:
usbipd --help
usbipd list
usbipd bind --busid=<bus-port>
From another (possibly virtual) machine running Linux, use usbip
to claim the USB device:
usbip list --remote=<host>
sudo usbip attach --remote=<host> --busid=<bus-port>
A list of tested devices can be found on the wiki. Please file an issue if you your device is not working.
Uninstall via Add/Remove Programs or via Settings/Apps.
Alternatively, use the Windows Package Manager:
winget uninstall usbipd
There should be no left-overs, but if you do find any: please file an issue.
The software glues together the UsbIp network protocol (as implemented by the Linux kernel) and the USB drivers. The installer includes the USB drivers from VirtualBox, which are also licensed under GPL and are properly signed by Oracle. This should play nice with a coexisting full installation of VirtualBox, but that has not been tested extensively.
The software itself consists of an auto-start background service.
The installer also adds a firewall rule called usbipd
to allow all local subnets to connect to the service;
this firewall rule can be tweaked to fine tune access control.
Currently, WSL 2 does not support USB devices by default. A workaround to this limitation is to use usbip. Instructions on how to setup a Linux usbip client can be found here.