Serial Port grayed out

Just got my Arduino Mega 2560 R3. Was able to load Blink and play with updating it to change the frequency of the blink etc. Moved on to a sketch with Serial.Write... Now I CAN upload from Windows but CANNOT from my Ubuntu box where I really need to work.

Any ideas on what to do to get uploading working on Ubuntu?

Arduino 1.0.1 on Ubuntu 12.04.1

Log from Arduino Window:
Binary sketch size: 1,624 bytes (of a 258,048 byte maximum)
Binary sketch size: 1,624 bytes (of a 258,048 byte maximum)
processing.app.SerialException: Error opening serial port '/dev/ttyACM0'.
at processing.app.Serial.(Serial.java:178)
at processing.app.Serial.(Serial.java:77)
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
at processing.app.Sketch.upload(Sketch.java:1706)
at processing.app.Sketch.exportApplet(Sketch.java:1662)
at processing.app.Sketch.exportApplet(Sketch.java:1634)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2355)
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.(Serial.java:163)
... 10 more
processing.app.debug.RunnerException: Error opening serial port '/dev/ttyACM0'.
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:101)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
at processing.app.Sketch.upload(Sketch.java:1706)
at processing.app.Sketch.exportApplet(Sketch.java:1662)
at processing.app.Sketch.exportApplet(Sketch.java:1634)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2355)
at java.lang.Thread.run(Thread.java:679)

Device is created:

ls -la /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Oct 7 20:55 /dev/ttyACM0

have access:

groups | grep -o '\bdialout\b'
dialout

Communicating with Arduino: the following causes the Rx diod to flicker indicating it's getting a signal
echo ciao > /dev/ttyACM0

When I try to upload a script a file gets created:LCK..ttyACM0. I can delete this file but can't upload.

Are you using the IDE downloaded from the Arduino site or the Ubuntu repository? If the latter, try downloading and running the version from the Arduino site. It is working well here. The repository version did not work that well.

Download and unpack it into a local directory, and run the arduino shell script in that directory to run the new version.

Some nice person did this : http://blog.markloiseau.com/2012/05/install-arduino-ubuntu/

The troubleshooting section is your likely promlem, ie your user doesn't have rights to access the serial ports.

I tried the re=istall - nothing
I tried the access the user to the port - nothing.

Then
"
I am not sure if I have any better advise than SurferTim. The only crazy longshot is open your Arduino IDE, go to File->Preferences then click on path hyperlink to preference.txt file near the bottom of the preferences window. Open and view the preference.txt file and find "serial.debug_rate". Verify that it is set to 9600."

My file was set to 28800.

Setting it back to 9600 fixed the issue!!!!!

Massive celebration!!!!

Thank you.

Glad it worked. It was my best guess to save me re-installing Ubuntu.

Anyone know why Linux tries to run @ 14400-28800 while WinDoze is 9600?

Neither of my Ubuntu installs have that baud rate. If you installed the version from your repository, maybe that is where it picked up the bad preferences.txt file?
Both my installs show:
serial.debug_rate=9600

It is odd that the re-installation did not clear out the preference file. I guess it is just one of those enigmas wrapped in bacon.

Dear all, I had the same problem with the Ubuntu repository IDE and tried to fix the issue by changing the baud to 9600 in Preferences.txt. It seems however that each time I restart the IDE or upload a sketch Preferences.txt is changed by arduino again to a value of 38440. I tried to change the owner to root in order to avoid arduino from changing it, but it cannot start if it has no access to Preferences.txt.

The 1.0.2 IDE from the site works fine and does not modify that value in Preferences.

Cheers

When you change it, is the Arduino IDE open?

Download the Software to Downloads
Then open up terminal and type :
cd Downloads
then,
tar xzvf arduino-1.0.5-linux64.tgz
then,
cd arduino-1.0.5
plug in your Arduino (even UNO and Mega)
then type,
sudo ./arduino
this gives reply
[sudo] password for yourusername:
type in the password

This loads Arduino IDE with Serial Port problem resolved

There is another way:
After installing Arduino IDE, plug in your Arduino, open up terminal and type
sudo arduino
This too solves the problem

Try to add your user to tty and dialout. Execute the following commands:

sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName

Log off and log on again for the changes to take effect!

I've found it here: Arduino Playground - Debian. It worked for me.

Cheers.

I had this same issue. Simple way to solve it is:

  1. Run terminal
  2. Type "sudo arduino"
  3. Type password
  4. It's works!
    That's all. You must just run it as administrator:D

Can I ask the OP, if any of these values differ from mine on Ubuntu?

serial.databits=8
serial.debug_rate=9600
serial.parity=N
serial.port=COM1
serial.stopbits=1
sketchbook.path=/home/ubuntu/Arduino
software=ARDUINO

especially the one on Bold?

dezeta's sugestion worked for me

sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName

and LOGOUT/LOGIN your session

solved! thanks

I know this is an old thread, but I recently had this issue on an Ubuntu laptop and found that my preferences.txt indeed had a baud rate other than 9600. From my reading (I can't find the link now) I found that this is due to the bootloader's baud rate. Some versions of the bootloader use a baud rate other than 9600. That is the reason for the IDE installing with an odd baud rate.

The reason that running the IDE as an administrator works is because on linux, even if your user is part of the dialout group, the user is not allowed to change the port settings. However, the IDE will try to change the baud to another rate when it knows that the boot loader requires it. As an admin (sudo) you are able to change the port, but not otherwise.

Thus, I changed the baud rate in my preferences.txt and all is well. No need for sudo.

Another possible reason for it it is closing serial monitor at a baud rate different than 9600, closing the ide and re-open the ide. The serial monitor will give an exception, upload will fail and "serial port" in the menu will be greyed out.

The solution it's to file->preferences->more preferences in arduino.txt , click the link , close the ide, and edit serial.debug _rate to "serial.debug_rate=9600"
Re open the ide, all should work again!