Lost /dev/ttyACM0 port for linking to Uno Wifi Rev2 under Linux [SOLVED]

Linux: Ubuntu 18.04 LTS
Arduino IDE 1.8.19

Yesterday everything worked great regarding the Arduino IDE. I was uploading to the WiFi Rev2, using serial monitor, seeing the UNO data on a webpage, etc.

Today I had to restart the computer and now I have no ACM0 port on the IDE port choices; only ttyS0 is an option. Although I can still see the UNO on the webpage link displaying data so the board is functioning in that regard.

I ran in terminal mode:

sudo ~/.arduino15/packages/arduino/hardware/megaavr/1.8.7/scripts/create_dfu_udev_rule

and

sudo usermod -a -G dialout <username>

Using the command:

sudo systemctl stop ModemManager

I stopped Modemmanager in case it was grabbing the port needed for the IDE.
I went further and disabled modemmanager:

   ed@ed-G41MT-S2PT:~$ sudo systemctl stop ModemManager
   [sudo] password for ed: 
   ed@ed-G41MT-S2PT:~$ sudo systemctl disable ModemManager
   Removed /etc/systemd/system/multi-user.target.wants/ModemManager.service.
   Removed /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service.
   ed@ed-G41MT-S2PT:~$
    

If I plug in a USB cable used with an ESP32 it immediately recognizes the port as ttyUSB0.

Silicon Labs CP210x UART Bridge appears for the ESP32 USB cable when hooked up.

Additional terminal info:

ed@ed-G41MT-S2PT:~$ lsusb
Bus 001 Device 019: ID 046d:c315 Logitech, Inc. Classic Keyboard 200
Bus 001 Device 018: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 017: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 007: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


ed@ed-G41MT-S2PT:~$ cat .arduino/preferences.txt |grep serial
serial.databits=8
serial.debug_rate=9600
serial.parity=N
serial.port=COM1
serial.stopbits=1
ed@ed-G41MT-S2PT:~$ cat .arduino/preferences.txt |grep serial
serial.databits=8
serial.debug_rate=9600
serial.parity=N
serial.port=COM1
serial.stopbits=1

ed@ed-G41MT-S2PT:~$ ls -l /dev/ttyACM0
ls: cannot access '/dev/ttyACM0': No such file or directory
ed@ed-G41MT-S2PT:~$

It appears you may have a bad Arduino but hopefully not. Try another USB cable, they do fail at the most inconvenient time. I have seen charging cables sometimes work. Reason during test those with bad data circuit are sold as charging cables. Try it in another computer and also try a few other Arduinos in the Linux system. It is also possible the USB connector is bad, not sure what arduino you have. ttyS0 shows when there is nothing compatible connected to the USB ports.

I did try other cables. Also moved to another working USB port. When I hook up an ESP32 board the IDE immediately recognizes it as ttyUSB0. I have another Wifi Rev2 installed in a building but I am not wanting to disconnect the field wiring and bring it in for a test just yet.

Its in the post title.

If your board does not show in lsusb, you can check if dmesg reveals something.

It's too long ago that I have used Linux; as far as I can remember the output will be easier to follow if you pipe it through tail (possibly tail -f, not sure).

Solution:

Borrowed a friend's "regular" UNO and plugged it in. The IDE recognized it as ttyUSB02.
I then removed it and reattached the UNO WiFi Rev2 at which point the IDE showed the ttyACM0
port. I have no idea what "woke" the Linux OS or IDE up to see the ACM0. Computer magic I guess....

Ed

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.