USB to Serial woes...

I have this little USB-Serial dongle that I am trying to attach the BeagleBoard-MX

It has a Cygnal CP2102 chip on it, which appears to use the generic usb-serial driver.

The dmesg sees it fine when I boot:

[ 24.359466] usb 2-2.5: New USB device found, idVendor=10c4, idProduct=803b

[ 24.366455] usb 2-2.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[ 24.373809] usb 2-2.5: Product: Pololu USB01B USB to Serial Adapter

[ 24.380126] usb 2-2.5: Manufacturer: Silicon Labs

[ 24.385223] usb 2-2.5: SerialNumber: 003001577

I was able to register it properly using modprobe.

[ 34.883728] usbcore: registered new interface driver usbserial

[ 34.890319] USB Serial support registered for generic

[ 34.895507] usbserial_generic 2-2.5:1.0: generic converter detected

[ 34.905120] usb 2-2.5: generic converter now attached to ttyUSB0

[ 34.917327] usbcore: registered new interface driver usbserial_generic

[ 34.930419] usbserial: USB Serial Driver core

But, I can’t send data across it. When I try to just push something out of /dev/ttyUSB0, or connect to it using minicom, it behaves like it is connected and sending correctly, but no data shows up on the other side of the link. I tested the dongle by attaching it to my windoze box, and the link works fine there. It seems like some kind of driver plumbing issue. Is there something more I need to do to get this up and going? Do I need to attach /dev/ttyUSB0 to a pseudo-terminal or something?

Any hints or ideas?



Hm - I have always set minicom /dev/ttyUSBx, where x is either 0 or 1 depending on what other damage I have been doing to my host - dmesg here says it should be /dev/ttyUSB0. Are you able to connect it to anything else to test whether the cable is the problem?

I am going to try some more experiments today to see if I can get anything out of it. I think there is definitely something weird with the usbserial driver, because when I try to change the baud rate on the port using stty, it throws an error.

This is what it looks like when I probe it using stty:

root@beagleboard:~# stty -a -F /dev/ttyUSB0

speed 9600 baud; rows 0; columns 0; line = 0;

intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ;

eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;

werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts

-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff

-iuclc -ixany -imaxbel -iutf8

opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0

isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt

echoctl echoke


However, when I change the speed:

root@beagleboard:~# stty -F /dev/ttyUSB0 38400

stty: /dev/ttyUSB0: unable to perform all requested operations


There is something funky going on there.

I found this thread on the Ubuntu forums about this chip, and it seems like the right direction, but it looks like I need to do a Kernel rebuild in order to try it.

Now I need to figure out how to build the Kernel on the beagleboard, and not just use the nice narcissus build I am running.

Is there some nice little cookbook page that can show me how to get setup to re-build the kernel?


you can make a loopback by connecting RX with TX. Anything you type will be echoed back.

2010/10/27 Jeff Osier-Mixon <>