I'm experiencing issues uploading sketches to my Arduino Uno using the Arduino IDE on Zorin OS 17. The Arduino IDE recognizes the board on /dev/ttyACM0
, but I get an Input/output error
when trying to upload. The connection appears unstable, with the board repeatedly disconnecting and reconnecting. I’ve already tried various troubleshooting steps, as detailed below, but the issue persists.
System Information:
- OS: Zorin OS 17 (based on Ubuntu, using Wayland and GNOME)
- Kernel Version: 6.8.0-47-generic
- USB Drivers: Using
cdc_acm
for USB ACM (serial devices) - Arduino Model: Arduino Uno R3 (ID 2341:0043)
- USB Port:
/dev/ttyACM0
- Hardware: HP Pavilion 15 cs2093nl
Steps I’ve Tried:
USB Permissions:
- Added my user to the
dialout
group to ensure access to serial devices.
- Created a udev rule (
/etc/udev/rules.d/99-arduino.rules
) to set appropriate permissions for the Arduino:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0043", MODE:="0666"
- Reloaded udev rules and reconnected the Arduino after this.
- Disabling ModemManager:
- Disabled and stopped
ModemManager
as it sometimes interferes with serial devices.
- Testing the Serial Connection Directly:
- Attempted to connect to
/dev/ttyACM0
usingscreen
, but both programs terminate with[screen is terminating]
or similar messages. - Tried setting the baud rate on
/dev/ttyACM0
directly withstty
, but received anInput/output error
.
- Checking dmesg Logs:
dmesg
logs show repeated messages of the Arduino disconnecting and reconnecting. Here’s a sample:
usb 1-2: reset full-speed USB device number 22 using xhci_hcd
usb 1-2: USB disconnect, device number 22
usb 1-2: new full-speed USB device number 23 using xhci_hcd
cdc_acm 1-2:1.0: ttyACM0: USB ACM device
- USB Cables and Ports:
- Tried different USB cables and ports to rule out a hardware issue with the cable or specific USB port.
- Disable USB Autosuspend:
- Disabled USB autosuspend for the Arduino device to prevent the system from automatically putting it to sleep.
I can see the Arduino listed inlsusb
, and it’s assigned to/dev/ttyACM0
, but attempts to communicate with it fail, leading to repeated disconnects and resets.
The Arduino IDE and related packages were installed via an AppImage. Are there any known compatibility issues with thecdc_acm
driver or with Zorin OS? What else can I try to solve this? It used to work perfectly on windows a couple of weeks ago, so the problem shouldn't be the hardware.