I tried to upload the edge-impulse firmware to Arduino-nicla vision board but could not upload the firmware to the device. I get the following error.
I have arduino-cli installed on my PC and it’s also there is path
dfu-util: No DFU capable USB device available
Failed uploading: uploading error: exit status 74
I have had checked that the board is showing up in the list of connected usbs. I also tried uploading arduino sketch but it gave me the same error. It works on the Windows platform though. But why not on Linux? I think issue is with arduino cli. The cli is installed and is in the path env variable. But if I do the same command with sudo then the cli is not found in path error pops up…!
bash flash_linux.sh
You’re using an untested version of Arduino CLI, this might cause issues (found: 0.32.2, expected: 0.18.x)
Finding Arduino Mbed core…
Finding Arduino Mbed OK
Finding Arduino Nicla Vision…
Finding Arduino Nicla Vision OK
Flashing board… If you receive a ‘Permission denied’ error, you can set up udev rules via:
printf ‘KERNEL==“ttyUSB[0-9]",MODE=“0666”\nKERNEL=="ttyACM[0-9]”,MODE=“0666”’ | sudo tee -a /etc/udev/rules.d/50-myusb.rules
(unplug the device for this to take effect)
TOUCH: error during reset: setting DTR to OFF: broken pipe
dfu-util 0.10-dev
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 dfu-util / Tickets
dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
dfu-util: Cannot open DFU device 2341:035f found on devnum 23 (LIBUSB_ERROR_ACCESS)
dfu-util: No DFU capable USB device available
Failed uploading: uploading error: exit status 74
Flashing failed. Here are some options:
If your error is ‘incorrect FQBN’ you’ll need to upgrade the Arduino core via:
$ arduino-cli core update-index
$ arduino-cli core install arduino:mbed_nicla@3.2.0
Otherwise, double tap the RESET button to load the bootloader and try again
Cool, now I got it solved.
I was about to install the Arduino IDE 2.0. and read a line regarding udev rules to add.
So without installing new IDE I just updated the rules with following line and it started working.
This kind of error is prevalent nowadays seems. I have Thingy:53 which I wanted to connect and got error.
ujjval@ujjval-ThinkPad-T580:~/Downloads$ edge-impulse-daemon
Edge Impulse serial daemon v1.15.1
Endpoints:
Websocket: wss://remote-mgmt.edgeimpulse.com
API: https://studio.edgeimpulse.com/v1
Ingestion: https://ingestion.edgeimpulse.com
[SER] Could not find any devices connected over serial port
[SER] Retrying in 5 seconds
[SER] Connecting to /dev/ttyACM1
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for > (timeout: 5000) onConnected
[SER] Serial is connected, trying to read config...
^Z
[3]+ Stopped edge-impulse-daemon
ujjval@ujjval-ThinkPad-T580:~/Downloads$ edge-impulse-daemon
Edge Impulse serial daemon v1.15.1
Endpoints:
Websocket: wss://remote-mgmt.edgeimpulse.com
API: https://studio.edgeimpulse.com/v1
Ingestion: https://ingestion.edgeimpulse.com
[SER] Connecting to /dev/ttyACM1
[SER] Failed to connect to /dev/ttyACM1 retrying in 5 seconds Error Resource temporarily unavailable Cannot lock port
[SER] You might need `sudo` or set up the right udev rules
[SER] Failed to connect to /dev/ttyACM1 retrying in 5 seconds Error Resource temporarily unavailable Cannot lock port
[SER] You might need `sudo` or set up the right udev rules
^Z
[4]+ Stopped edge-impulse-daemon
ujjval@ujjval-ThinkPad-T580:~/Downloads$