Serial port (ttyACM0) not found any more on Linux Mint (Ubuntu)

So, until two hours ago everything worked perfectly between Linux Mint (Ubuntu) and Arduino Uno. Then, all of a sudden, the serial port was not found any more by Linux.

So far I have tried, all to no avail:

  • Rebooting a few times.
  • Connecting while holding Arduino’s reset button (since someone suggested that the Arduino sending too much data through the Serial port might be a problem for Ubuntu).
  • Connecting a USB-stick to the USB-port to test it, with no problems.

While things still worked, dmesg for connecting read:

[  359.852517] usb 3-4: new full speed USB device using xhci_hcd and address 0
[  359.899964] xhci_hcd 0000:0f:00.0: WARN: short transfer on control ep
[  359.904000] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.905991] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.907999] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.909969] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.911996] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.914037] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[  359.922033] xhci_hcd 0000:0f:00.0: WARN: short transfer on control ep
[  359.930989] xhci_hcd 0000:0f:00.0: WARN: short transfer on control ep
[  359.933195] usb 3-4: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[  359.981193] cdc_acm 3-4:1.0: ttyACM0: USB ACM device
[  359.986115] usbcore: registered new interface driver cdc_acm
[  359.986119] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

Now, it only says:

[ 1448.477731] usb 3-4: new full speed USB device using xhci_hcd and address 0
[ 1448.514765] xhci_hcd 0000:0f:00.0: WARN: short transfer on control ep
[ 1448.518760] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[ 1448.520759] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[ 1448.522757] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[ 1448.524756] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[ 1448.526717] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint
[ 1448.528793] xhci_hcd 0000:0f:00.0: WARN: Stalled endpoint

What else can I try?

– Shir Khan

Update: It works again, after a lot of trying around. Here's what I did:

First part:

  • Disconnecting everything from the Arduino.
  • Setting a jumper between GND and RESET.
  • Disconnecting the external power source! (This seems to have been crucial.)
  • Plugging the USB connector out and in again.

In particular, doing only the first two things seems not to have been sufficient.

After that, ttyACM0 was recognized again, but uploading sketches still did not work.

Second part:

Set up the Loop-Back test, and try sending messages from the Serial Monitor. Observation: Messages are being sent, RX and TX blink, but no messages arrive. However, for each message there comes "xhci_hcd (...) ERROR no room on ep ring" in dmesg.

Then, I did, in an order I can't remember exactly, a lot of restarting of both computer and Arduino, plugging the connector out and in again, and restarting xhci_hcd with sudo modprobe -r xhci_hcd && sudo modprobe xhci_hcd.

... until it suddenly started working again.

Conclusion: Still no idea what exactly the problem was, but it seems that even if one restart does not work, a few dozen of them seem to do the trick.

-- Shir Khan

Had the same problem, everything working OK and then suddenly a disabled Port option.

What I did was I connected another Arduino which connected fine, and then back to the first one (which connected again).