How to get /dev/ttyUSB* to show up?

I’ve been using FTDI usb serial cables on OSX with really no thought for years. Now, I’m trying to get the same cables working on Linux (Linux Mint, Debian Edition 2). What I understand so far is…

1) I need the kernel modules ftdi_sio and usbserial. These weren’t showing up at start up, so I added them to a file in /etc/modules-load.d:

! /etc/modules-load.d $ cat ftdi-serial.conf 
# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

2) I can see that the system is at least seeing something via the lsusb command:

! ~ $ lsusb
Bus 002 Device 005: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
Bus 002 Device 004: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module
Bus 002 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

But alas, ls /dev/ttyUSB* comes up empty.

My first and foremost question is, how do I get to a point where I can open some file using serial (e.g. pyserial) and get data from the device hooked to the other end of the cable?

Some intermediate questions… Is it possible that I’m just looking for the wrong device file? Is it /dev/somethingelse?

Do I need to make my modprobe lines more specific? I saw on some sites that you could extract the vendor/product keys from the lsusb invocation and then use them when modprobe’ing ftdi_sio?

What is the piece of the puzzle I’m missing?

Asked By: Travis Griggs


Argh and grumble. I should have paid better attention to the output of dmesg | grep ftdi. There was ftdi stuff in there, but I didn’t recognize any of it. In particular one brltty was showing up. I should have googled it. At which point I would have discovered this is the “Braille Display” thing. So apparently, default out of the box sets up some braille driver stuff which likes to gobble up the /dev/ttyUSB* before other things.

I removed it and all is well now. I did end up making the modprobe lines more specific (including vendor and product). I have no idea whether that was necessary or not.

Answered By: Travis Griggs
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.