Error loading firmware to the nicla vision board

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

Flashing failed.

Hello @ujjwalrathod00700,

Could you try to double press on the reset button before trying to upload your firmware?

Best,

Louis

Hi,
I have tried that too but the error is same.
I am using linux machine.:blush::innocent:

Check if the Linux machine sees the serial port. If not the DFU cannot either. Try the following commands:

On my computer it is:

  • ls -l /dev/ttyUSB*

Depending on your hardware try:

  • ls -l /dev/ttyACM*
  • ls -l /dev/ttyS*
  • ls -l /dev/ttyAMA*
  • ls -l /dev/ttyTHS*
  • ls -l /dev/ttyXRUSB*:

For example, if the command returns: ls: cannot access '/dev/ttyACM*': No such file or directory then there are no ACM ports recognized by Linux.

For example, if the port is recognized by Linux your might see something similar to: crwxrwxrwx 1 root dialout 188, 0 Apr 12 20:07 /dev/ttyUSB0.

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

The drive looks like following

ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Apr 13 10:57 /dev/ttyACM0

Try and install udev:

apt-get install udev

I have tried that but do not help, unfortunately.
So what should I do? are there any options?
I tried reinstall dfu-util again from source.

I then tried to upload the sketch via Arduino cloud and that works…! But not sure, how could I upload edge-impulse firmware

I am not sure but try:

  • Update the file "/etc/udev/rules.d/50-myusb.rules" as suggested in your original post screen capture.

  • Update the bootloader of the Nicla:

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.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", GROUP="plugdev", MODE="0666"

See the following page

https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing

1 Like

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$