Resetting the Arduino Uno R3 Atmega16U2

anatolw:
my uno r3 stopped responding after setting the baudrate to 14400 and started to create a new serial (/dev/ttyACM*) port with each reset.

Last time I looked (about 3 years ago when Teensy started and all Arduino boards were still FTDI), multiple software issues all combined in a terrible way.

1: Linux cdc_acm driver didn't support 14400 and 28800 baud settings.

2: The RXTX library behaves badly when an unsupported baud rate setting is configured.

3: Arduino remembers and applies the old setting before giving you the serial monitor window, and won't accept a new setting after RXTX starts misbehaving.

The net result was choosing either of these baud rates made the board forever inaccessible. The only way to fix it was editing the prefs file to change back to a supported baud rate.

One of the many patches Teensyduino installs is a tiny bit of code which silently turns 14400 into 19200 and 28800 into 38400 if Linux is in use, and a Teensy board is selected. I'd pretty much forgotten about this little problem until now....

Hopefully this explanation helps?