The blink sketch has been working for the Nano ESP32. I could deploy it and run it.
Today it will no longer upload. I get errors:
Sketch uses 285961 bytes (9%) of program storage space. Maximum is 3145728 bytes.
Global variables use 30732 bytes (9%) of dynamic memory, leaving 296948 bytes for local variables. Maximum is 327680 bytes.
dfu-util 0.11-arduino4
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
dfu-util: No DFU capable USB device available
Failed uploading: uploading error: exit status 74
Running on a Mac with latest Monterey OS. IDE 2.1.1. This has been working as I said.
I did do a board update for a related package (bluepad32). I now have esp32_bluepad32 installed (version 3.8.3) Version 3.8.3 appeared today. I had been running 3.7.2 of this and switching boards routinely with the Nano ESP32 working (not under this board umbrella). I will try removing this and then reverting to the old version to see if that makes a difference.
I put verbose setting for upload on inside of preferences. I get a little more info:
Sketch uses 285961 bytes (9%) of program storage space. Maximum is 3145728 bytes.
Global variables use 30732 bytes (9%) of dynamic memory, leaving 296948 bytes for local variables. Maximum is 327680 bytes.
"/Users/jjs/Library/Arduino15/packages/arduino/tools/dfu-util/0.11.0-arduino5/dfu-util" --device 0x2341:0x0070 -D "/private/var/folders/6v/1p1396h55_72kp8gnv3gsnv00000gq/T/arduino/sketches/EEF715EAB967F2FE29ECEFA432AB473E/Blink_FeatherS3.ino.bin" -Q
dfu-util: No DFU capable USB device available
dfu-util 0.11-arduino4
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Failed uploading: uploading error: exit status 74
I'm getting the exact same reply as [jjs3579] but on a Ubuntu AMD Ryzen 9 3900X desktop. The Arduino Nano ESP32 is reported to be on /dev/ttyACM0 and I can do "Get Board Info" and get a correct result. But I cannot upload any sketch. Exit status 74.
On my Ubuntu laptop it works fine. Everything everywhere is the latest version. How to debug this?
I got it. It's an udev rule missing. I would have expected that to be handled, but here's the remedy:
Edit (or create) /etc/udev/rules.d/100-local.rules with sudo command
Add the line below where me is your username. Add yourself to the plugdev group if you are not already in it.
SUBSYSTEM=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0070", OWNER="me", GROUP="plugdev", TAG+="uaccess"
Thanks for taking the time to post an update with your findings @mansson!
Unfortunately I don't think there is a way for Arduino IDE to handle it automatically. The reason is that creating the udev rule file requires superuser permissions and Arduino IDE does not (and should not) have these permissions.
The "Setup Guide" for the Nano ESP32 does include instructions (though poor quality and incomplete) for adding the necessary rule.
There is currently a proposal for adding a "post install script" to the ESP32 boards platform to generate the rule:
If added to the platform, Arduino IDE would automatically execute that script when the user installs or updates the "Arduino ESP32 Boards" platform via the Arduino IDE Boards Manager. However, for the reasons I explained above, it will not actually be able to generate the file, but will instead only print the cryptic message "Please run as root" to the Arduino IDE Output panel:
So, as it stands now, I don't know that the addition of the script improves on the situation very much. I think that the script could be useful if it clearly communicated to the user exactly what they needed to do. Ideally the script would check to see whether an appropriate rule was already in effect, and only print the message if it was actually necessary.