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 Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to