/usbipd-win

Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

usbipd-win

Build CodeQL MegaLinter REUSE status codecov GitHub all releases

Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2.

How to install

This software requires Microsoft Windows 8.1 x64 / 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:

  • A service called usbipd (display name: USBIP Device Host).
    You can check the status of this service using the Services app from Windows.
  • A command line tool usbipd.
    The location of this tool will be added to the PATH environment variable.
  • A firewall rule called usbipd to allow all local subnets to connect to the service.
    You can modify this firewall rule to fine tune access control.
    ℹ️
    If you are using a third-party firewall, you may have to reconfigure it to allow incoming connections on TCP port 3240.

How to use

Share Devices

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=<BUSID>

Connecting Devices

From another (possibly virtual) machine running Linux, use usbip to claim the USB device:

usbip list --remote=<HOST>
sudo usbip attach --remote=<HOST> --busid=<BUSID>

A list of tested devices can be found on the wiki. Please file an issue if your device is not working.

WSL 2

You can use the usbipd wsl subcommand to share and connect a device with a single command. For example, open a command prompt:

usbipd wsl --help
usbipd wsl list
usbipd wsl attach --busid=<BUSID>

ℹ️
Currently, WSL 2 does not support USB devices by default.
As a workaround, instructions on how to setup a USBIP client for WSL 2 can be found on the wiki.

Andrew Leech has created a convenient GUI for those who prefer that over a CLI, see his GitLab project.

How to remove

Uninstall via Add/Remove Programs or via Settings/Apps.

Alternatively, use the Windows Package Manager:

winget uninstall usbipd

There should be no left-overs; please file an issue if you do find any.