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:
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.
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> kernel/ hung_task_ timeout_ secs" disables this message. b95>] usb_kill_ urb+0x85/ 0xc0 b30>] ? autoremove_ wake_function+ 0x0/0x40 e46>] ? usb_get_ urb+0x16/ 0x20 843>] usb_hcd_ flush_endpoint+ 0x123/0x130 79a>] usb_disable_ endpoint+ 0x5a/0xa0 829>] usb_disable_ device+ 0x49/0x130 83a>] usb_disconnect+ 0xca/0x140 c6a>] hub_port_ connect_ change+ 0x8a/0x960 9d2>] hub_events+ 0x3a2/0x590 799>] ? thread_ return+ 0x48/0x37f bc0>] ? hub_thread+ 0x0/0x190 bfa>] hub_thread+ 0x3a/0x190 b30>] ? autoremove_ wake_function+ 0x0/0x40 bc0>] ? hub_thread+ 0x0/0x190 746>] kthread+0xa6/0xb0 0ea>] child_rip+0xa/0x20 6a0>] ? kthread+0x0/0xb0 0e0>] ? child_rip+0x0/0x20 kernel/ hung_task_ timeout_ secs" disables this message. b95>] usb_kill_ urb+0x85/ 0xc0 b30>] ? autoremove_ wake_function+ 0x0/0x40 4d1>] ftdi_close+ 0x31/0x70 [ftdi_sio] 909>] serial_ down+0x69/ 0x80 [usbserial] c16>] serial_ close+0x76/ 0xc0 [usbserial] 249>] tty_release_ dev+0x159/ 0x5f0 d09>] ? __wake_ up_common+ 0x59/0x90 809>] ? __wake_ up_sync_ key+0x59/ 0x70 6f9>] tty_release+ 0x19/0x30 c00>] __fput+0xf0/0x210 d3d>] fput+0x1d/0x30 df8>] filp_close+ 0x58/0x90 607>] put_files_ struct+ 0x77/0xe0 6bf>] exit_files+ 0x4f/0x60 a0b>] do_exit+0x14b/0x360 c69>] do_group_ exit+0x49/ 0xc0 cf2>] sys_exit_ group+0x12/ 0x20 002>] system_ call_fastpath+ 0x16/0x1b
[ 1320.980362] INFO: task khubd:40 blocked for more than 120 seconds.
[ 1320.980369] "echo 0 > /proc/sys/
[ 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] [<ffffffff8139e
[ 1320.980427] [<ffffffff81078
[ 1320.980433] [<ffffffff8139e
[ 1320.980441] [<ffffffff8139d
[ 1320.980447] [<ffffffff8139f
[ 1320.980453] [<ffffffff8139f
[ 1320.980461] [<ffffffff81399
[ 1320.980466] [<ffffffff81399
[ 1320.980471] [<ffffffff8139b
[ 1320.980478] [<ffffffff81527
[ 1320.980483] [<ffffffff8139b
[ 1320.980488] [<ffffffff8139b
[ 1320.980493] [<ffffffff81078
[ 1320.980498] [<ffffffff8139b
[ 1320.980503] [<ffffffff81078
[ 1320.980509] [<ffffffff81013
[ 1320.980514] [<ffffffff81078
[ 1320.980518] [<ffffffff81013
[ 1320.980560] INFO: task avrdude:2547 blocked for more than 120 seconds.
[ 1320.980563] "echo 0 > /proc/sys/
[ 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] [<ffffffff8139e
[ 1320.980605] [<ffffffff81078
[ 1320.980623] [<ffffffffa0bf0
[ 1320.980636] [<ffffffffa0be2
[ 1320.980645] [<ffffffffa0be2
[ 1320.980660] [<ffffffff812f4
[ 1320.980666] [<ffffffff81045
[ 1320.980673] [<ffffffff8104a
[ 1320.980678] [<ffffffff812f4
[ 1320.980684] [<ffffffff81120
[ 1320.980688] [<ffffffff81120
[ 1320.980694] [<ffffffff8111c
[ 1320.980699] [<ffffffff81060
[ 1320.980704] [<ffffffff81060
[ 1320.980708] [<ffffffff81061
[ 1320.980713] [<ffffffff81061
[ 1320.980717] [<ffffffff81061
[ 1320.980727] [<ffffffff81012
[ 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.