I have looked and looked at this ttyACM0 thing with linux and tried just about every fix on the net
I also have a Decimilia and Duemilanove running other projects, both of which work out of the box on the same system and default appropriately to /dev/ttyUSB0 - no issues.
This is what happens on my xubuntu 12.04 system and UNO compatible - Freetronics Eleven.
First - permissions set as recommended for groups and files.
Next - Uno is selected as the board, and when it appears (not grayed out), serial port /dev/ttyACM0.
From the beginning;
Connect board to USB
dmesg
[ 1562.488131] usb 3-1: USB disconnect, device number 6
[ 1570.049707] usb 3-1: new full-speed USB device number 7 using xhci_hcd
[ 1570.121549] usb 3-1: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 1570.124259] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
Open IDE (1.0 ubuntu installed or 1.0.1 in user folder)
Serial port /dev/ttyACM0 with a tick
But this is where the trouble starts;
Select File (or File > Sketchbook > 'your favorite sketch')
Serial port grayed out; and this
dmesg
[ 1611.679418] xhci_hcd 0000:0c:00.0: ERROR no room on ep ring
[ 1611.679423] cdc_acm 3-1:1.1: acm_submit_read_urb - usb_submit_urb failed: -12
[ 1611.679426] tty_port_close_start: tty->count = 1 port count = 0.
[ 1615.390878] xhci_hcd 0000:0c:00.0: ERROR no room on ep ring
[ 1615.390893] cdc_acm 3-1:1.1: acm_submit_read_urb - usb_submit_urb failed: -12
[ 1615.390903] tty_port_close_start: tty->count = 1 port count = 0.
Now disconnect USB and reconnect;
Serial port /dev/ttyACM0 with a tick. Compile and upload OK, except for
avrdude: ser_open(): can't open device
"/dev/tty/ACM0" : Input/output error
ioctl("TIOCMET") : Invalid argument
Sometimes the error above doesn't show
Now try selecting the Serial Monitor (bunch of Java errors). Serial port '/dev/tty/ACM0' not found (of course). dmesg output same as previous failure.
This behaviour occurs when connecting and opening the IDE the first time. Second time around is unpredictable as to whether you even get to upload the script.
As I see it, any attempt to use the IDE causes ttyACM0 to become unavailable. I guess, if I understand dmesg output correctly, writing to the device fails, I think?
Reading further, Kernel 3.4 (version from memory) should fix this. Apparently, it's a bug in 3.2, however, some people have found a fix. Interestingly, there is not a lot of consistency to each one.
I have tried a lot of fixes on the net to no avail, except at one point I had it running smoothly. Then looked the other way and sneezed - and of course it broke. Reapplying the previous 'fix' did not fix it.
Hope there's enough here to help, but I guess it's old news anyhow.