Go Down

Topic: More on the issue with /dev/ttyACM0 in Ubuntu (Read 2869 times) previous topic - next topic


I've found a great number of threads discussing the problem of serial port /dev/ttyACM0 becoming unavailable when using the the Arduino IDE with the UNO on Ubuntu (sounds like it may be happening with other distros as well.)

I've been struggling with this for a number of weeks.  I have updated the serial firmware on my Uno, and occasionally that works.  I've also re-installed the librxtx java drivers and moved them around among the native java libraries on my machine as well as the lib directory for the IDE.

I discovered something yesterday which was perplexing.  I had everything working.  I uploaded the GPS serial sketch from arduino.cc and was able to make it work. The sketch should show GPS NEMA strings input via pin 0.  In order to determine what speed my GPS was outputting data, I gradually increased the speed (Serial.begin(4800); ) in the startup section.  All was well until I set the speed to 38400.  I also increased the speed of the Serial monitor to that speed.

At that speed, the IDE reported that the serial port was no longer available, and threw the error that we have all seen so often...

After more testing, I found out that all I had to do to make the serial port disappear was to set the serial monitor to 38400 or higher.

Can anyone else confirm this?  Since I only have one Uno, and one machine, I don't have anything else to test this on.

By the way - I did start Minicom in a terminal and set that to 38400bps on port /dev/ttyACM0.  Seemed to work fine.  Could this be a problem with librxtx?



Have you been able to get it working again?

If so, does the problem happen if you try a different baud rate above 38400 (e.g. 57600)?  It may be that something in the software stack doesn't recognize 38400 as a valid baud rate. 


Can't seem to get it back at all now.  I just wish there was some repeatable process for getting it to respond.  Seems random.

Your idea is very good.  When (if) I get the connection going again, I'll give it a try.


Okay, that was unexpected.  Deleting preferences.txt gets me back to the point where I can communicate with the Uno again.  Uploaded Blink and it's working. 

Setting the serial monitor to anything above 19200 breaks it all.  /dev/ttyACM0 goes away.  Shutting down the IDE, deleting preferences.txt again and unplugging the UNO gets it all back.  I can even upload a sketch that sets the serial speed to 38400, but if I open the serial terminal to look at it, it all goes away again.

Funny that I was able to use Processing the other day to create the ArduinoScope, which sets the Uno at 100k or so.

Sorry, I guess I'm rambling.  This is driving me insane. I'm going to go curl up in the corner for a while.

Go Up