serial not responding unless opened as root

im running ardoino 1.0.1 on bodhi linux 1.4.0 (e17 minimalist variant of ubuntu 10.04 lts)
ive been uploading everything to the board fine for about 2 weeks now (maybe 50 total uploads) and then today I uploaded a program fine, tweeked it a little bit and went to reupload it. i couldnt get access to the serial port at all. i searched some threads and opened ardiono preferences and all the serial data was set to what it should be according to all the threads i read. on a whim i opened the ide as root and was able to get access to the serial port and upload and use the monitor.

does anyone know what could have caused this change all of a sudden(no updates other programs running or new software) and how i might be able to get it back so that i dont have to run it as root?

I would check your current groups and the group permissions on the Arduino usb port. From a command prompt:

groups
cd /dev
ls -l ttyA*

Normally, your user will be a member of group dialout.
The "file" /dev/ttyACM0 will have root as owner, and group dialout as read/write.
If you have any questions, post the output.

groups:
adm dialout cdrom plugdev lpadmin sambashare admin

then i change into /dev, ls -l ttyA:
ls: cannot access ttyA: No such file or directory

ffmurray:
im running ardoino 1.0.1 on bodhi linux 1.4.0 (e17 minimalist variant of ubuntu 10.04 lts)
ive been uploading everything to the board fine for about 2 weeks now (maybe 50 total uploads) and then today I uploaded a program fine, tweeked it a little bit and went to reupload it. i couldnt get access to the serial port at all. i searched some threads and opened ardiono preferences and all the serial data was set to what it should be according to all the threads i read. on a whim i opened the ide as root and was able to get access to the serial port and upload and use the monitor.

does anyone know what could have caused this change all of a sudden(no updates other programs running or new software) and how i might be able to get it back so that i dont have to run it as root?

The easiest thing to do is to add a rule to udev (see man udev) as per USBtiny-based AVR Programmer

I've found that sometimes MODE is not enough. I had to make the GROUP="adm" and make sure the UID I'm running it as is in that group. You will have to logout completely to get group changes to be picked up, and use the udev admin program to reload the configuration.

My Linux lappy is sleeping at home, otherwise I'd paste the exact contents I use for Arduino and USBTiny.

You need to figure out the USB ids using the usb utils. It depends on the board.

then i change into /dev, ls -l ttyA:
ls: cannot access ttyA: No such file or directory

That is not ttyA:, it is ttyA*. There is a wildcard (asterisk, not colon) on the end. Is this the port you select as root?
/dev/ttyACM0

edit: Here is mine

tim@tim-desktop:~$ cd /dev
tim@tim-desktop:/dev$ ls -l ttyA*
crw-rw---- 1 root dialout 166, 0 2012-06-09 07:43 ttyACM0
tim@tim-desktop:/dev$

The important stuff is in bold type.