I appear to be having a very similar experience - No detection of an Arduino Duemilanove in the IDE but it's detected by the OS as ttyUSB0.
I originally downloaded Arduino IDE 0021 for Ubuntu 10.10 (64 bit edition). Everything worked great - detection, flashing, etc. Life was good.
I recently did a "do-release-upgrade -d" to get the latest revision of Ubuntu, Natty Narwhal 11.04 (64 bit edition). Since the upgrade, detection of my Arduino - no workie. I plugged in the same Arduino to another laptop and it works well enough to program it to spin a servo.
I'd prefer to use version 0021, so that I can add my own libraries, however, before anyone suggests to install the package Ubuntu provides...already attempted. I leveraged apt-get to install arduino/arduino-core/librxtx-java and it's the same ol' song as before - detection in the OS as ttyUSB0 but no detection in the Arduino IDE.
I'd prefer to troubleshoot this because I believe this may be a systemic issue that could very easily be impacting other users. The sense I get is that this issue may be a bug or a combination of bugs between the Arduino IDE/Java and/or Ubuntu (Perhaps a kernel or module bug in ftdi_sio or my favorite package to hate, apparmor). Here are the steps I've tried so far:
Java Details (PLEASE NOTE-I'VE TRIED ALL JAVA SELECTIONS BELOW WITH THE SAME RESULTS IN THE ARDUINO IDE):
# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
- Selection Path Priority Status*
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
- 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode*
- 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode*
Kernel details:
# uname -a
Linux 2.6.37-6-generic #17-Ubuntu SMP Mon Nov 22 20:05:19 UTC 2010 x86_64 GNU/Linux
CPU details:
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz
stepping : 5
cpu MHz : 1199.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips : 5320.25
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
FTDI/USB Serial Modules:
# lsmod | grep ftdi
ftdi_sio 34351 0
usbserial 38523 2 ftdi_sio,mct_u232
Unplugging and re-plugging in the device returns the following response from dmesg:
[158887.476756] usb 1-1.2.2.3.4: new full speed USB device using ehci_hcd and address 50
[158887.606373] ftdi_sio 1-1.2.2.3.4:1.0: FTDI USB Serial Device converter detected
[158887.606444] usb 1-1.2.2.3.4: Detected FT232RL
[158887.606449] usb 1-1.2.2.3.4: Number of endpoints 2
[158887.606454] usb 1-1.2.2.3.4: Endpoint 1 MaxPacketSize 64
[158887.606460] usb 1-1.2.2.3.4: Endpoint 2 MaxPacketSize 64
[158887.606464] usb 1-1.2.2.3.4: Setting MaxPacketSize 64
[158887.606905] usb 1-1.2.2.3.4: FTDI USB Serial Device converter now attached to ttyUSB0
Here's the block device that exists in Ubuntu 11.04
# ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 2010-11-26 17:40 /dev/ttyUSB0
Here is the user associated with the "dialout" group:
# grep dialout /etc/group
dialout:x:20:cerberus
Output from lsof on the PID of Arduino IDE 0021 (I believe the warning is due to lsof's interaction with the gnome virtual file system (gvfs). I guess gvfs prefers to act like a donkey:
# lsof -p 9166
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/cerberus/.gvfs
- Output information may be incomplete.*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
arduino 9166 cerberus cwd DIR 252,1 4096 22812793 /usr/local/arduino-0021
arduino 9166 cerberus rtd DIR 252,1 4096 2 /
arduino 9166 cerberus txt REG 252,1 109736 7864352 /bin/dash
arduino 9166 cerberus mem REG 252,1 1572232 11534645 /lib/libc-2.12.1.so
arduino 9166 cerberus mem REG 252,1 141072 11534670 /lib/ld-2.12.1.so
arduino 9166 cerberus 0u CHR 136,1 0t0 4 /dev/pts/1
arduino 9166 cerberus 1u CHR 136,1 0t0 4 /dev/pts/1
arduino 9166 cerberus 2u CHR 136,1 0t0 4 /dev/pts/1
arduino 9166 cerberus 10r REG 252,1 408 22813770 /usr/local/arduino-0021/arduino
Strace Returns Nothing of Value:
strace -p 9166
NOTE: I tried to obtain information from STDERR/STDOUT while executing ./arduino from a terminal emulator however nothing displayed in my terminal (No issues displayed about /var/lock, etc).
The last thing I checked was apparmor because it's notorious for breaking stuff. I ran the following commands:
/etc/init.d/apparmor teardown && /etc/init.d/apparmor stop
Here are the remaining profiles:
# apparmor_status
apparmor module is loaded.
0 profiles are loaded.
0 profiles are in enforce mode.
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode :
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
I wonder if I need to unload the module because the Arduino IDE still won't detect /dev/ttyUSB0, ugh.
Any other suggestions or things to try? Any help would be greatly appreciated.
Best Regards!