On Linux, missing udev[1] rules can result in failed uploads, as Arduino IDE (and other development tools) will not be able to access the board when it resets to bootloader mode.
The board package typically includes a script that is run during installation, which sets the appropriate udev rules. If this script didn’t run correctly, or if the rules were removed, they can be configured by running the script manually:
Boards | Related error output | Instructions |
---|---|---|
Nano RP2040 Connect | Failed uploading: uploading error: exit status 1 |
Set udev rules for Arduino Mbed OS boards |
GIGA R1 WiFi |
dfu-util: Cannot open DFU device 2341:0366 found on devnum 24 (LIBUSB_ERROR_ACCESS) dfu-util: No DFU capable USB device available Failed uploading: uploading error: exit status 74
|
|
Nicla Sense ME |
Error: unable to open CMSIS-DAP device 0x2341:0x60 Error: unable to find a matching CMSIS-DAP device Failed uploading: uploading error: exit status 1
|
|
Portenta H7 Portenta H7 Lite Portenta H7 Lite Connected |
dfu-util: Cannot open DFU device 2341:035b found on devnum 26 (LIBUSB_ERROR_ACCESS) dfu-util: No DFU capable USB device available Failed uploading: uploading error: exit status 74
|
|
Nano Every |
avrdude: jtagmkII_getsync(): sign-on command: status -1 avrdude: jtagmkII_getsync(): timeout/error communicating with programmer (status -1) Failed uploading: uploading error: exit status 1
|
Set udev rules for Arduino megaAVR boards |
UNO WiFi Rev2 |
avrdude: usbdev_open(): cannot open device: Permission denied avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2145 Failed uploading: uploading error: exit status 1
|
|
UNO R4 WiFi UNO R4 Minima Portenta C33 |
Failed uploading: uploading error: exit status 1 dfu-util: Cannot open DFU device PID:VID found on devnum X (LIBUSB_ERROR_ACCESS) dfu-util: No DFU capable USB device available Failed uploading: uploading error: exit status 74
|
Set udev rules for Arduino Renesas boards |
Set udev rules for Arduino Mbed OS boards
The following boards require udev rules:
- Nano RP2040 Connect (mbed_nano)
- GIGA R1 WiFi (mbed_giga)
- Nicla Sense ME (mbed_nicla)
- Portenta H7 (mbed_portenta)
- Portenta H7 Lite (mbed_portenta)
- Portenta H7 Lite Connected (mbed_portenta)
You can set the udev rules by running post_install.sh
as root.
Follow these steps:
-
Go to the post_install.sh file for Arduino Mbed OS Boards on GitHub.
-
Download the file to your computer.
-
Open your Download folder in Terminal:
-
On Ubuntu: Open the Files application and navigate to your Download folder. Right-click on an empty area inside the folder (not on a file) and select Open in Terminal.
-
Open Terminal, and navigate to your Download folder:
cd ~/Downloads
-
-
Run this command:
sudo ./post_install.sh
-
If prompted, enter your password, and press Enter again.
Try uploading your sketch again.
Set udev rules for Arduino megaAVR boards
The following boards require udev rules:
- UNO WiFi Rev2
- Nano Every
You can set the udev rules by running post_install.sh
as root.
Follow these steps:
-
Go to the post_install.sh file for Arduino megaAVR Boards on GitHub.
-
Download the file to your computer.
-
Open your Download folder in Terminal:
-
On Ubuntu: Open the Files application and navigate to your Download folder. Right-click on an empty area inside the folder (not on a file) and select Open in Terminal.
-
Open Terminal, and navigate to your Download folder:
cd ~/Downloads
-
-
Run this command:
sudo ./post_install.sh
-
If prompted, enter your password, and press Enter again.
Try uploading your sketch again.
Set udev rules for Arduino Renesas boards
The following boards require udev rules:
- UNO R4 WiFi (Arduino UNO R4 Boards)
- UNO R4 Minima (Arduino UNO R4 Boards)
- Portenta C33 (Arduino Renesas Portenta Boards)
You can set the udev rules by running post_install.sh
as root.
Follow these steps:
-
Go to the post_install.sh file for Arduino Renesas Boards on GitHub.
-
Download the file to your computer.
-
Open your Download folder in Terminal:
-
On Ubuntu: Open the Files application and navigate to your Download folder. Right-click on an empty area inside the folder (not on a file) and select Open in Terminal.
-
Open Terminal, and navigate to your Download folder:
cd ~/Downloads
-
-
Run this command:
sudo ./post_install.sh
-
If prompted, enter your password, and press Enter again.
Try uploading your sketch again.