Jump to content

Linux & Launchpad - backchannel UART broken on latest kernel

Recommended Posts

It seems that something bad has happened with latest kernel on linux - at least on the version I am using. Looks like the cdc_acm driver is completely busted in the latest version. See bellow logs ..


Does anyone has this issue? I am 100% is not the launchpad, works under Windowz. Also I am 10% is not something stupid like permissions :) . I want to check first, if anyone else has it then I-ll ding the linuxusb-dev group to check with them.


I use Ubuntu 12.04 64 bit - uname =

Linux obellix 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:25:57 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


The picocom session is this


calin@obellix:~$ sudo picocom /dev/ttyACM0 
picocom v1.4

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
escape is      : C-a
noinit is      : no
noreset is     : no
nolock is      : no
send_cmd is    : ascii_xfr -s -v -l10
receive_cmd is : rz -vv

FATAL: cannot open /dev/ttyACM0: Input/output error


The FATAL matches the "tty_port_close_start: tty->count = 1 port count = 0." in dmesg .


Jul 25 23:04:05 obellix kernel: [ 3635.690997] usb 7-1: new full-speed USB device number 5 using uhci_hcd
Jul 25 23:04:05 obellix kernel: [ 3635.902227] cdc_acm 7-1:1.0: This device cannot do calls on its own. It is not a modem.
Jul 25 23:04:05 obellix kernel: [ 3635.902232] cdc_acm 7-1:1.0: No union descriptor, testing for castrated device
Jul 25 23:04:05 obellix kernel: [ 3635.902251] cdc_acm 7-1:1.0: ttyACM0: USB ACM device
Jul 25 23:04:15 obellix kernel: [ 3645.949792] generic-usb 0003:0451:F432.000C: usb_submit_urb(ctrl) failed
Jul 25 23:04:15 obellix kernel: [ 3645.949805] generic-usb 0003:0451:F432.000C: timeout initializing reports
Jul 25 23:04:15 obellix kernel: [ 3645.950374] generic-usb 0003:0451:F432.000C: hiddev0,hidraw2: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:00:1d.1-1/input1
Jul 25 23:07:09 obellix kernel: [ 3820.261188] tty_port_close_start: tty->count = 1 port count = 0.

Link to post
Share on other sites

I think I may have answered my own question ... Clearly something is hosed with the cdc_acm module. Just after posting I realized that I still have around few older kernels on my machine. So a quick reboot into


Linux obellix 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


and I managed to connect successfully, then plug unplug killed the serial again.

Link to post
Share on other sites

Man thanks for the tip .. I built the patched kernel module and the UART works a treat now.


BTW here is the link to the thread that has the references to the patch. http://www.43oh.com/forum/viewtopic.php?f=38&t=2866#p21040


The link to the file is http://www8.zippyshare.com/v/10251460/file.html - if you have to re-build the module make sure you do first a dos2unix on all files - looks like the zip was created on Windows and all endlines are "broken" in the driver files. In rest all good

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...