tmkane
February 9, 2023, 5:52am
1
Attempting to upload to Pro Mini via FTDI "Basic" as well as FTD1232 constantly fails. Any further attempt to use any FTDI breakout fails because "ACCESS is Denied". "Any", here, means changing to any another FTDI unit. On occasion, full reboot (W10/64) may unblock the ports.
Note1: changing FTDI units (resulting in a change in the USB port) does NOT make the "new" port available.
Note 2: uploads (and attempts to "Burn Bootloader") fail on failure to find programmer and/or no sync.
Hi @tmkane . This bug is being tracked by the Arduino IDE developers here:
opened 07:07AM - 23 Dec 22 UTC
topic: code
type: imperfection
### Describe the problem
In order to upload to an Arduino board via a serial … port, the upload tool (e.g., [**AVRDUDE**](https://github.com/avrdudes/avrdude)) must be able to open the port. This is not possible if another process already has control of the port.
Arduino IDE's "Serial Monitor" and and "Serial Plotter" components also use the serial port of the board. Arduino IDE handles this potential conflict of port usage automagically by closing the port in Serial Monitor/Plotter when an upload process is triggered, then opening it again after the upload is finished. This means no special action is needed from the user to upload while Serial Monitor/Plotter is open.
🐛 The upload fails with an "`Access is denied`" error under the following conditions:
- The board uses an FTDI FT232R USB chip
- Arduino IDE is running on a Windows machine
- Serial Monitor or Serial Plotter is open
I've been using Arduino IDE 2.0.3 with Nano without issues when uploading on Ubuntu. Now I've tried it on Windows 11, and most of the time, it gives me this error:
```text
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\macie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\\.\COM5": Access is denied.
```
But I can see logs from the serial monitor in Arduino IDE -> serial monitor.
### To reproduce
#### Equipment
A board or other device that has an [FTDI FT232R USB chip](https://ftdichip.com/products/ft232rl/)
The [classic **Arduino Nano**](https://docs.arduino.cc/hardware/nano) is a common board that uses this chip.
FT232R modules ([example](https://docs.arduino.cc/retired/other/usb-serial-converter)) or cables ([example](https://www.sparkfun.com/products/9717)) are also often used to upload to boards such as the [**Arduino Pro Mini**](https://www.sparkfun.com/products/11113) that don't have an integrated USB chip.
The fault can be reproduced even if the FT232R-based device is not an Arduino board. In this case, the upload is expected to fail, but it would fail with a "`not in sync`" error instead of "`Access is denied`".
#### Steps
1. Select **File > New Sketch** from the Arduino IDE menus.
1. Connect the Arduino board to your computer.
1. Select the board and port from the Arduino IDE menus.
1. If the Serial Monitor view is not already open, select **Tools > Serial Monitor** from the Arduino IDE menus to open it.
1. Select **Sketch > Upload** from the Arduino IDE menus.
1. Wait for the upload process to finish.
🐛 The upload fails:
```text
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\macie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\\.\COM5": Access is denied.
```
1. Click the **X** icon on the "**Serial Monitor**" view tab in the bottom panel.
1. Select **Sketch > Upload** from the Arduino IDE menus.
1. Wait for the upload process to finish.
🙂 The upload is successful.
1. Select **Tools > Serial Plotter** from the Arduino IDE menus.
1. Select **Sketch > Upload** from the Arduino IDE menus.
1. Wait for the upload process to finish.
🐛 The upload fails:
```text
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\macie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\\.\COM5": Access is denied.
```
1. Close the "**Serial Plotter**" window.
1. Select **Sketch > Upload** from the Arduino IDE menus.
1. Wait for the upload process to finish.
🐛 The upload fails:
```text
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\macie\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\\.\COM5": Access is denied.
```
**ⓘ** This unexpected result is caused by a separate bug: https://github.com/arduino/arduino-ide/issues/1423
### Expected behavior
Serial Monitor and Serial Plotter do not interfere with upload process.
### Arduino IDE version
#### Original report
2.0.3
#### Last verified with
692f29f
### Operating system
Windows
### Operating system version
Edition Windows 11 Pro
Version 22H2
Installed on 07/11/2022
OS build 22621.963
Experience Windows Feature Experience Pack 1000.22638.1000.0
### Additional context
I bisected the introduction of the fault to df8658e
---
I have no problems uploading sketches on Arduino IDE 1.8.19 from Microsoft Store on the same system. I can quit 2.0.3, start 1.8.19, and it's working immediately.
---
I cannot reproduce the fault on Linux (Ubuntu 22.04) or macOS (Ventura).
---
I cannot reproduce the fault when using native USB boards (e.g., [**Leonardo**](https://docs.arduino.cc/hardware/leonardo), [**MKR**](https://docs.arduino.cc/#mkr-family)) or boards that use other models of dedicated USB chip (e.g., ATmega16U2 on Uno and Mega, WCH CH340 on derivative boards).
#### Workaround
##### Serial Monitor
1. Click the **X** icon on the "**Serial Monitor**" tab in the bottom panel of the Arduino IDE window to close the tab:

1. Upload the sketch.
1. Open **Serial Monitor** again if needed (by clicking the icon on the IDE toolbar or the **Tools > Serial Monitor** menu item) after the upload is finished.
##### Serial Plotter
1. Close the "**Serial Plotter**" window.
1. If the "**Serial Monitor**" view is not already open, select **Tools > Serial Monitor** from the Arduino IDE menus to open it.
**ⓘ** We must do an open/close cycle on **Serial Monitor** as a workaround for [a bug](https://github.com/arduino/arduino-ide/issues/1423) in **Serial Plotter**
1. Click the **X** icon on the "**Serial Monitor**" tab in the bottom panel of the Arduino IDE window to close the tab:

1. Upload the sketch.
1. Open **Serial Monitor** and/or **Serial Plotter** again if needed after the upload is finished.
#### Additional reports
- https://forum.arduino.cc/t/arduino-nano-not-able-to-upload-comx-port-access-denied/1081669/15
- https://forum.arduino.cc/t/elusive-uno-upload-error-access-is-denied/1067785/5
- https://forum.arduino.cc/t/port-issues-with-ide-2-0-3/1069090
### Issue checklist
- [X] I searched for previous reports in [the issue tracker](https://github.com/arduino/arduino-ide/issues?q=)
- [X] I verified the problem still occurs when using the latest [nightly build](https://www.arduino.cc/en/software#nightly-builds)
- [X] My report contains all necessary details
If you have a GitHub account, you can subscribe to that issue to get notifications of any new developments related to this subject.
The workaround is to close the "Serial Monitor " tab in the bottom panel of Arduino IDE each time before making an upload:
Click the X icon on the "Serial Monitor " tab in the bottom panel of the Arduino IDE window to close the tab:
Upload the sketch.
Open Serial Monitor again if needed (by clicking the icon on the IDE toolbar or the Tools > Serial Monitor menu item) after the upload is finished.
tmkane
February 11, 2023, 1:58am
3
I will check out a Github account. Thanks. Aswell, I will watch for comments from the IDE development people.
You are welcome. I'm glad if I was able to be of assistance.
Regards,
Per
tmkane
February 11, 2023, 7:42pm
5
Added info: On my screen (IDE 2.0.3 / Windows 10/64) the "X" is not as shown above. An 'x' appears at the right of the "output serial" line, and selecting it does not clear the USB block.
But, I tried (and succeeded) in clearing the USB block by using the IDE Tool menu and selecting "Serial Monitor" to turn off the Serial Monitor, and thereby gain access to the USB port.
The screenshot shows two tabs in the bottom panel:
They work just like tabs in your web browser or other applications.
If you haven't done anything to generate output, or have already closed the Output view, then you won't have an Output tab. The two tabs might also occur in the opposite order, depending on which order you opened them in, or the order you dragged them into.
I'm glad you succeeded after all.
Selecting Tools > Serial Monitor from the Arduino IDE menus or clicking the Serial Monitor button on the IDE toolbar are other ways of closing the Serial Monitor view if it is already open. The important thing to note is that these toggle Serial Monitor, so if it is already closed then doing that will open Serial Monitor instead of closing it.
system
Closed
August 10, 2023, 8:55pm
7
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.