I am using the IDE 2.2.1 with an Uno R4 WiFi. Sometimes, for no reason that is apparent to me, the IDE cannot upload to the Uno giving the message:
Cannot perform port reset: TOUCH: error during reset: opening port at 1200bps: Serial port busy
No device found on ttyACM0
Fehlgeschlagenes Hochladen: Hochladefehler: exit status 1
The board is connected to ttyACM0 according to the Message
"Ln10, Col 1 Arduino UNO RWiFi on /dev/ttyACM0"
in the green line at the bottom of the IDE and in the "Select board and port" box in the IDE.
I've tried unplugging and replugging the usb, double clicking the reset button and restarting the IDE to no avail. Then after going away for a while and restarting the IDE uploads as it should. This is very frustrating.
This error occurs when some other application or process has the serial port open, in which case Arduino IDE can not open the port as needed to perform the upload.
The question then is: what is it that has the port open? The technique described here might allow you to determine that:
In the most simple case, this will be some other application such as a standalone terminal, or even the Serial Monitor of another Arduino development tool (e.g., Arduino Cloud, Arduino IDE 1.x, arduino-cli monitor).
Arduino IDE is designed to be smart enough to automatically juggle the port usage between its own Serial Monitor and Serial Plotter and the upload process, so having the IDE's Serial Monitor or Serial Plotter open while also uploading via that IDE should not cause this error. However, it is possible a bug could cause that system to not be working as intended so don't disregard Arduino IDE if it does unexpectedly appear as the process using the port during your investigations.