I forgot to mention that I'm running Ubuntu 12.04 LTS 64 bit. I'm not sure if the 64 bit is a problem or not.
I checked which groups my account belongs to, and dialout is definitely included.
I'm having permissions issues with my device, that's why I tried running as sudo.
I installed the 1.0.1 version from the arduino page. If I call the arduino script from the command line as my a normal user, the Arduino IDE indicates (in the bottom right corner) "Arduino Uno on /dev/ttyACM0" (which is accurate). Unfortunately, if I click Tools->Serial Port only /dev/ttyS0 is available. I see the following print out to the command line when I launch the Arduino IDE:
$ arduino
RXTX Warning: Removing stale lock file. /var/lock/LCK..ttyACM0
RXTX Error: Unable to remove stale lock file: /var/lock/LCK..ttyACM0
I see the same behavior with Arduino IDE version 1.0 that I installed via Ubuntu's package manager.
If I instead call the Arduino IDE with sudo from the command line, I see the following in the command line:
$ sudo arduino
RXTX Warning: Removing stale lock file. /var/lock/LCK..ttyACM0
When I run the Arduino IDE as root from the command line, the IDE correctly indicates (in the bottom right corner) that my arduino is located at /dev/ttyACM0. Now when I go to Tools->Serial Port I see two options, /dev/ttyS0 and /dev/ttyACM0 (which is checked by default, sweet!). Unfortunately, I see the following error at the command line when I try to upload the blink example:
$ sudo arduino
Binary sketch size: 1010 bytes (of a 32256 byte maximum)
processing.app.SerialException: Error opening serial port '/dev/ttyACM0'.
at processing.app.Serial.<init>(Serial.java:146)
at processing.app.Serial.<init>(Serial.java:76)
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:75)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:88)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:66)
at processing.app.Sketch.upload(Sketch.java:1664)
at processing.app.Sketch.exportApplet(Sketch.java:1624)
at processing.app.Sketch.exportApplet(Sketch.java:1578)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2314)
at java.lang.Thread.run(Thread.java:679)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:213)
at processing.app.Serial.<init>(Serial.java:136)
... 9 more
processing.app.debug.RunnerException: Error opening serial port '/dev/ttyACM0'.
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:99)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:88)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:66)
at processing.app.Sketch.upload(Sketch.java:1664)
at processing.app.Sketch.exportApplet(Sketch.java:1624)
at processing.app.Sketch.exportApplet(Sketch.java:1578)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2314)
at java.lang.Thread.run(Thread.java:679)
This is very frustrating. What is going on? I am still able to successfully reprogram my arduino on my Mac. It looks like there is some kind of permission error on the serial port...?