Add USB Device Support
This ask is specifically for adding USB Device support to WSL - i.e. exposing USB busses and devices to the OS.
This is NOT an ask for adding the ability to communicate with external USB peripherals like phones, IoT boards, etc. - those asks are elsewhere:
Adjusting status to re-open this ask as there are many types of USB device that aren’t storage/serial that y’all are asking for.
1. Please be sure to articulate why you feel your particular device support is required
2. Note that non-developer/testing/etc. type scenarios are unlikely to get traction
I would love to see support for devices like RTL-SDR, Ettus B210 USRP, etc.
I'm running WSL 2 and it's otherwise great.
Need support for Ettus USRP B200 device.
Support for NVidia Jetson's in recovery mode
TK1: lsusb -d 0955:7140
TX1: lsusb -d 0955:7721
TX2: lsusb -d 0955:7c18
I would like to interface with serial IOT devices like arduino and espruino.
I develop embedded USB devices that use the LibUSB driver. Although I can compile all my firmware on Windows under WSL I can't flash or test it's functionality under Windows.
Libusb support would allow me to use exclusively Windows and WSL
Joe McGuire commented
I am trying to get onboard with WSL; however, pass-through USB device access is a key piece of functionality that makes it difficult to make the jump from a virtual machine. I need access to DAQs and other debugging USB tools to run automated scripts developed in Unix/Linux. I'm in full agreement with Erich here.
Erich Beyer commented
I would like to access DAQ and debugging devices from WSL, so my coworkers can use from windows the same scripts we develop in Linux.
The two major devices we use are "Labjack" brand DAQs and "Total Phase" brand protocol debuggers.
If the windows USB stack could pass-through selected devices to the Linux kernel, udev or similar could make these devices available to user-space applications running in WSL.
Similar features exist in Oracle and Vmware's hypervisors.
Support for Intel's Movidius Neural Compute Stick 2 would be greatly appreciated; it would make development a lot easier than the hassle of setting up dual-boot!
I would like to have USB camera support.
Stefan Lasiewski commented
For those of you asking for USB Smartcard support in WSL, please vote for and promote the following issue:
hope accessing Android devices via ADB
Using WSL with Ubuntu for cross-compiler development. Full USB support is much needed for In-Circuit Debuggers and Flashers such as Segger JLink, ST-Link, etc.
For me, one of the great things about wsl is being able to do a lot of my monte carlo development work with it. But, there are lots of times where I need to move files between WSL and a cluster via USB key. It would be nice if I could keep my usb keys in a linux only format and not exfat for security and journaling purposes.
I was wanting to interface a USB tuner stick to get at the raw signal data. The data looks like a stream of A-D samples at about 1 million sample/second.
Accessing other A-D devices would also be very useful.
Michael Cramer commented
This was so I could mount a usb with my ssh keys on it so I could use ssh from bash, but putty is better anyways probably, so I'm not sure I would even use it.
USB serial communication, as 3G/4G dongles for the networking and VOIP support. Bluetooth USB dongles. There are some software on Linux with no Windows analogues. It would be perfect solution if one could use any USB device on Win-linux if it is generally possible.
I would like to see support for security tokens, specifically ones supporting opensc (via libusb). This would allow ssh agent to use the secure key store.
Ilias G commented
I would like to see support for two types of devices:
1) Programming FPGAs (typically done over JTAG)
2) Accessing Android devices via ADB
Both are typical development scenarios, where Linux tools are better/more common/more supported.
This was marked completed, but there's still no access to USB serial communications. USB bluetooth dongles, LAN connectors and other peripherals are not directly accessible from Ubuntu.
One way to do this is to allow the user to selectively bypass Windows recognition of a device, and instead make them available to the linux subsystem.
Another is to provide services, one service at a time, like mounting usb sticks, and bluez library support.... that call through to Windows api's.
The first is generic and will work with any USB device. The second is specific to each type of device.