[Bug 460857] Re: ftdi serial driver broken in linux-image-2.6.31-14-generic (2.6.31-14.48)
David
david at depowell.com
Wed Dec 30 00:45:05 UTC 2009
Thanks, Kendrik. My linux headers were up to date, and the make went
without error. The make install had one error, but it was only rmmod
saying that the driver wasn't listed in /proc/modules. Otherwise the
patch seemed to go in ok. But it didn't fix all of my problems.
If I type "ls /dev/ttyU*" after a fresh reboot and without any USB devices plugged in, it rightly returns "No such file or directory".
If I plug in the Arduino and type that same line, it returns with "/dev/ttyUSB0". All is well at this point, and is no different from pre-patch.
If I then type "echo hello >/dev/ttyUSB0", the little red LED on the
Arduino briefly flashes and the command prompt returns. This is also
good, and is different from pre-patch. Before the patch, the LED did
not flash.
I didn't try "cat /dev/ttyUSB0" after the patch, because I realized that
the program that I have loaded in the Arduino doesn't write to the
serial port (Doh!). So what I did instead is fire up Eclipse and try to
write to it with AVRDude. It threw out a couple of "programmer not
responding" messages and hung. I closed Eclipse and now AVRDude is
still running. And just like before with cat, I can't kill it from the
command prompt (I've never seen a process that couldn't be forced to end
in Linux before - I thought that was a Windows-only problem).
Unplugging the Arduino doesn't change anything - it still even shows
/dev/ttyUSB0 is there when it's unplugged. Dmesg shows a bunch of
repeating errors, most of which may as well be written in Greek as far
as I'm concerned. Here's a sample:
<code>
[ 1320.980362] INFO: task khubd:40 blocked for more than 120 seconds.
[ 1320.980369] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1320.980374] khubd D 0000000000000000 0 40 2 0x00000000
[ 1320.980382] ffff88021763dbe0 0000000000000046 ffff8801ffca70a0 0000000000015880
[ 1320.980392] ffff880217633110 0000000000015880 0000000000015880 0000000000015880
[ 1320.980398] 0000000000015880 ffff880217633110 0000000000015880 0000000000015880
[ 1320.980404] Call Trace:
[ 1320.980418] [<ffffffff8139eb95>] usb_kill_urb+0x85/0xc0
[ 1320.980427] [<ffffffff81078b30>] ? autoremove_wake_function+0x0/0x40
[ 1320.980433] [<ffffffff8139ee46>] ? usb_get_urb+0x16/0x20
[ 1320.980441] [<ffffffff8139d843>] usb_hcd_flush_endpoint+0x123/0x130
[ 1320.980447] [<ffffffff8139f79a>] usb_disable_endpoint+0x5a/0xa0
[ 1320.980453] [<ffffffff8139f829>] usb_disable_device+0x49/0x130
[ 1320.980461] [<ffffffff8139983a>] usb_disconnect+0xca/0x140
[ 1320.980466] [<ffffffff81399c6a>] hub_port_connect_change+0x8a/0x960
[ 1320.980471] [<ffffffff8139b9d2>] hub_events+0x3a2/0x590
[ 1320.980478] [<ffffffff81527799>] ? thread_return+0x48/0x37f
[ 1320.980483] [<ffffffff8139bbc0>] ? hub_thread+0x0/0x190
[ 1320.980488] [<ffffffff8139bbfa>] hub_thread+0x3a/0x190
[ 1320.980493] [<ffffffff81078b30>] ? autoremove_wake_function+0x0/0x40
[ 1320.980498] [<ffffffff8139bbc0>] ? hub_thread+0x0/0x190
[ 1320.980503] [<ffffffff81078746>] kthread+0xa6/0xb0
[ 1320.980509] [<ffffffff810130ea>] child_rip+0xa/0x20
[ 1320.980514] [<ffffffff810786a0>] ? kthread+0x0/0xb0
[ 1320.980518] [<ffffffff810130e0>] ? child_rip+0x0/0x20
[ 1320.980560] INFO: task avrdude:2547 blocked for more than 120 seconds.
[ 1320.980563] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1320.980566] avrdude D 0000000000000000 0 2547 1 0x00000000
[ 1320.980576] ffff8801d1497c08 0000000000000046 ffff8801ffca70a0 0000000000015880
[ 1320.980583] ffff8801da589a60 0000000000015880 0000000000015880 0000000000015880
[ 1320.980588] 0000000000015880 ffff8801da589a60 0000000000015880 0000000000015880
[ 1320.980594] Call Trace:
[ 1320.980599] [<ffffffff8139eb95>] usb_kill_urb+0x85/0xc0
[ 1320.980605] [<ffffffff81078b30>] ? autoremove_wake_function+0x0/0x40
[ 1320.980623] [<ffffffffa0bf04d1>] ftdi_close+0x31/0x70 [ftdi_sio]
[ 1320.980636] [<ffffffffa0be2909>] serial_down+0x69/0x80 [usbserial]
[ 1320.980645] [<ffffffffa0be2c16>] serial_close+0x76/0xc0 [usbserial]
[ 1320.980660] [<ffffffff812f4249>] tty_release_dev+0x159/0x5f0
[ 1320.980666] [<ffffffff81045d09>] ? __wake_up_common+0x59/0x90
[ 1320.980673] [<ffffffff8104a809>] ? __wake_up_sync_key+0x59/0x70
[ 1320.980678] [<ffffffff812f46f9>] tty_release+0x19/0x30
[ 1320.980684] [<ffffffff81120c00>] __fput+0xf0/0x210
[ 1320.980688] [<ffffffff81120d3d>] fput+0x1d/0x30
[ 1320.980694] [<ffffffff8111cdf8>] filp_close+0x58/0x90
[ 1320.980699] [<ffffffff81060607>] put_files_struct+0x77/0xe0
[ 1320.980704] [<ffffffff810606bf>] exit_files+0x4f/0x60
[ 1320.980708] [<ffffffff81061a0b>] do_exit+0x14b/0x360
[ 1320.980713] [<ffffffff81061c69>] do_group_exit+0x49/0xc0
[ 1320.980717] [<ffffffff81061cf2>] sys_exit_group+0x12/0x20
[ 1320.980727] [<ffffffff81012002>] system_call_fastpath+0x16/0x1b
[ 1714.010686] CE: hpet increasing min_delta_ns to 15000 nsec
</code>
With the intent of full disclosure, I've never actually programmed the
Arduino under Linux before, but I had it all working fine with Eclipse
back during my XP days. I was forced to "upgrade" to Vista and, after
the umpteenth time it told me it couldn't find a suitable driver for
something, decided it was time to jump to Ubuntu. I've had nothing but
trouble trying to get stuff to work since. Especially USB stuff. Maybe
this new machine has a USB hardware problem, I don't know. Some USB
stuff does actually work though.
--
ftdi serial driver broken in linux-image-2.6.31-14-generic (2.6.31-14.48)
https://bugs.launchpad.net/bugs/460857
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to Linux.
More information about the kernel-bugs
mailing list