Connect a microcontroller or Arduino USB port to WSL 2 so you can flash firmware or run serial tools from Linux.
Share a USB security key or smart card from a Windows host into a Linux virtual machine running under WSL 2.
Access a USB camera or sensor from inside WSL 2 for development with tools like OpenCV.
Requires Windows 10 or newer with WSL 2 already installed, USB device must be manually re-attached from WSL 2 after each reboot.
This project lets you share a USB device connected to a Windows machine with another computer or virtual machine running Linux. The most common use case is connecting a physical USB device, such as a microcontroller, a camera, or a security key, into a Linux environment running under WSL 2 (Windows Subsystem for Linux) on the same Windows PC. Normally, WSL 2 runs Linux inside a virtual machine on Windows, which means it cannot directly see USB devices plugged into the Windows host. This software bridges that gap by running a background service on Windows that makes USB devices available over the network using a protocol called USBIP. The Linux side can then attach to that service and use the device as if it were plugged in locally. Installation is straightforward: you run an installer file or use the Windows Package Manager command winget install usbipd. The installer adds a background service, a command-line tool, and a firewall rule. From there, you use simple commands to list your USB devices, mark one as shared, and then attach it from the Linux side. Sharing a device persists across reboots, though you need to re-attach on the Linux side after a reboot or if the device is unplugged. For WSL 2 users specifically, attaching a device can be done entirely from within Windows with a single command, without needing administrator rights on the Linux side. A list of GUI tools and IDE integrations is available in the project wiki for those who prefer not to use a command line. The software supports Windows 10 and Windows Server 2019 or newer. It is released under the GPL-3.0 license.
← dorssel on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.