winget install --id=dorssel.usbipd-win -e
Host locally connected USB devices to other (possibly virtual) machines.
Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2.
This software requires Microsoft Windows 10 (x64 only) / Microsoft Windows Server 2019, version 1809 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:
usbipd
(display name: USBIP Device Host).usbipd
.PATH
environment variable.usbipd
to allow all local subnets to connect to the service.[!NOTE] If you are using a third-party firewall, you may have to reconfigure it to allow incoming connections on TCP port 3240.
By default devices are not shared with USBIP clients. To lookup and share devices, run the following commands with administrator privileges:
usbipd --help
usbipd list
usbipd bind --busid=<BUSID>
Sharing a device is persistent; it survives reboots.
[!TIP] See the wiki for a list of tested devices.
Attaching devices to a client is non-persistent. You will have to re-attach after a reboot, or when the device resets or is physically unplugged/replugged.
From another (possibly virtual) machine running Linux, use the usbip
client-side tool:
usbip list --remote=<HOST>
sudo usbip attach --remote=<HOST> --busid=<BUSID>
[!NOTE] Client-side tooling exists for other operating systems such as Microsoft Windows, but not as part of this project.
[!TIP] In case you have used
usbipd
with WSL 2 before, the following has changed since version 4.0.0:
- You have to share the device using
usbipd bind
first.- You no longer have to install any client-side tooling.
- You no longer have to specify a specific distribution.
- The syntax for the command to attach has changed slightly.
You can attach the device from within Windows with the following command, which does not require administrator privileges:
usbipd attach --wsl --busid=<BUSID>
[!TIP] See the wiki on how to add drivers for USB devices that are not supported by the default WSL 2 kernel.
For those who prefer a GUI over a CLI, the following is available:
Uninstall via Add/Remove Programs or via Settings/Apps.
Alternatively, use the Windows Package Manager:
winget uninstall usbipd