Windows 10 Build 16176 (April 2017) brought support for
- USB ↔ serial adapters to Windows Subsystem for Linux
- non-NTFS, USB and Flash drives became mountable in WSL
Here’s how to use USB-serial adapters in WSL:
- Plug USB ↔ serial adapter into the PC
Look in Windows Device Manager under Ports to see the COM port number. See troubleshooting notes below if it doesn’t show there. Let’s assume it’s COM 5 for this example.
If the device doesn’t show under USB Devices → Ports in Windows Device Manager, the following steps will not work!
- in your WSL terminal, (assuming your device is on COM5 for this example), type
chmod 666 /dev/ttyS5
- in serial communications, you must know a priori the baud rate your device communicates at, or nothing will work. Here we assume your device works at 115200 baud.
stty -F /dev/ttyS5 115200
- You can connect to serial devices using PuTTY with WSL if you have X11 installed on WSL or using
screen /dev/ttyS5 115200
- COM port number can change upon plugging in the same device, especially if replugging into a different physical USB port on the PC.
- If plugging in a different unit of the same type of device, it may likely also get a new COM port number (e.g. two Red Pitayas, even if sequentially plugged into the same USB port, may well get different COM port numbers).
WSL USB-serial troubleshooting
If your device doesn’t show up in Device Manager → Ports, see if it was mistakenly enabled as a Mouse or Human Interface Device. If so, unplug and replug your device.
If it still fails to show up as a Port, instead showing up as mouse or HID, try right-clicking and Disabling the device and unplug/plug it once more.
If it still fails, maybe you’re lacking the Windows driver. Try it in a native Linux PC and see if the device works there.