SOLVED Updating Firmware on Duet 3?



  • I have Duet 3 board, which I run in standalone mode. I can connect to it using the Web interface version 1.22.6; content of the www directory is from Duet 2 SD card. I'd like to use the latest firmware, so I try to update:

    I downloaded the file Duet3iap_sd_MB6HC.bin to sys.
    (At https://github.com/dc42/RepRapFirmware/releases/tag/3.0beta10 it says "Duet3iap_sd_MB6HC.bin is the IAP file for Duet 3 production main boards running in standalone mode (without a connected RPi), used when updating firmware via DuetWebControl served from the local Ethernet port").

    I then get file Duet3Firmware_MB6HC.bin from the above page, and download it to the board. I get prompted "You have just uploaded a firmware file. Would you like to update your Duet now?". I click Yes. The response is: "M997 S0 Error: Firmware binary "Duet3Firmware_MB6HC.bin" not found". The sys folder
    gets a file named "Duet3Firmware.bin".

    What am I doing wrong?



  • You shouldn't need to reload the IAP file. They change very infrequently. I have not reloaded mine (as vs. the base image file that Duet provides for the SD). I would remove the Duet3iap_sd_MB6HC.bin from sys, and try again.

    All file names SHOULD be handled correctly. I've done an upgrade with the Duet3Firmware_MB6HC.bin from that link, via DWC, and I don't remember anything odd about it.

    Nonetheless, if nothing else works, put the Duet3Firmware_MB6HC.bin file in 0:/sys yourself and issue "M997 S0" manually.

    Let us know.



  • And, if all else fails, format a fresh SD (not quick format), FAT32, and then image it per the instructions (and image) found here

    Then do the upgrade via DWC.

    That's the path I followed, and it worked.

    Of course, keep any files like config.g, or whatever, in which you've invested work!!



  • Thank you! The problem is/was that the download renamed the file "Duet3Firmware_MB6HC.bin" to "Duet3Firmware.bin", yet the M997 command wanted "Duet3Firmware_MB6HC.bin". I renamed it back, and then manually issued "M997 S0". This worked.

    Btw, DWC reports the firmware version as "3.0beta10 (2019-09-12b1)", yet people refer the newest version as 1.0.4.0. ?



  • 1.0.4.0 is the current version of DuetSoftwareFramework, the software running on the SBC in the non-standalone mode.


  • administrators

    @JuKu said in Updating Firmware on Duet 3?:

    Thank you! The problem is/was that the download renamed the file "Duet3Firmware_MB6HC.bin" to "Duet3Firmware.bin", yet the M997 command wanted "Duet3Firmware_MB6HC.bin". I renamed it back, and then manually issued "M997 S0". This worked.

    Btw, DWC reports the firmware version as "3.0beta10 (2019-09-12b1)", yet people refer the newest version as 1.0.4.0. ?

    Old versions of DWC do this renaming because they don't know about the new naming convention for RRF on Duet 3. So you need to upload the firmware file, decline the invitation to install it, then send M997.

    Btw I find that the IAP for Duet 3 isn't yet 100% reliable, so sometimes I have to resort to USB and Bossa.



  • USB and Bossa seems to be the only way that works with the current versions of the DSF and firmware. When you execute M997, you get

    M997 S0
    Error: Failed to find IAP file /opt/dsf/sd/sys/Duet3iap_spi_MB6HC.bin
    

    Duet3iap_spi_MB6HC.bin isn't in the distribution.



  • Pretty simple to use usb and bossa with M999 PERASE, no need to manually use the erase jumper. But ofc DWC is even simpler 👍


  • administrators

    @gtj0 said in Updating Firmware on Duet 3?:

    USB and Bossa seems to be the only way that works with the current versions of the DSF and firmware. When you execute M997, you get

    M997 S0
    Error: Failed to find IAP file /opt/dsf/sd/sys/Duet3iap_spi_MB6HC.bin
    

    Duet3iap_spi_MB6HC.bin isn't in the distribution.

    That file should be included. I'll follow that up.


  • Moderator

    @gtj0 said in Updating Firmware on Duet 3?:

    Duet3iap_spi_MB6HC.bin isn't in the distribution.

    This file together with some others has been moved from duetsd to the new additional package reprapfirmware. It seems that documentation has not yet caught up.



  • @wilriker said in Updating Firmware on Duet 3?:

    @gtj0 said in Updating Firmware on Duet 3?:

    Duet3iap_spi_MB6HC.bin isn't in the distribution.

    This file together with some others has been moved from duetsd to the new additional package reprapfirmware. It seems that documentation has not yet caught up.

    I see the deb package added in DSF but I'm not seeing the bin file nor any means to create it.


  • Moderator

    @gtj0 AFAIK it's auto-generated by a filesystem watchdog on the package server.



  • Well that's not too open-source friendly.



  • @dc42 said in Updating Firmware on Duet 3?:

    Duet3iap_spi_MB6HC.bin

    Any update on this file?



  • @brendon
    apt said

    pi@duet3:~ $ sudo apt-get upgrade
    The following packages have been kept back:
      duetsoftwareframework
    

    so i said

    pi@duet3:~ $ sudo apt-get upgrade duetsoftwareframework
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following NEW packages will be installed:
      reprapfirmware
    The following packages have been kept back:
      libgl1-mesa-dri mesa-va-drivers mesa-vdpau-drivers
    The following packages will be upgraded:
      duetsoftwareframework
    1 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
    Need to get 433 kB of archives.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:1 https://pkg.duet3d.com unstable/armv7 armhf reprapfirmware all 1.1.0.1-1 [431 kB]
    Get:2 https://pkg.duet3d.com unstable/armv7 armhf duetsoftwareframework armhf 1.1.0.1 [1,706 B]
    Fetched 433 kB in 1s (520 kB/s)
    Reading changelogs... Done
    Selecting previously unselected package reprapfirmware.
    (Reading database ... 75827 files and directories currently installed.)
    Preparing to unpack .../reprapfirmware_1.1.0.1-1_all.deb ...
    Unpacking reprapfirmware (1.1.0.1-1) ...
    Preparing to unpack .../duetsoftwareframework_1.1.0.1_armhf.deb ...
    Unpacking duetsoftwareframework (1.1.0.1) over (1.0.3.3) ...
    Setting up reprapfirmware (1.1.0.1-1) ...
    Sending update request to DCS... Done!
    Setting up duetsoftwareframework (1.1.0.1) ...
    pi@duet3:~ $ echo M115 | sudo /opt/dsf/bin/CodeConsole
    Connected!
    FIRMWARE_NAME: RepRapFirmware for Duet 3 v0.5 FIRMWARE_VERSION: 3.0beta10+2 ELECTRONICS: Duet 3 prototype v0.5 FIRMWARE_DATE: 2019-09-28b1
    pi@duet3: $ ls /opt/dsf/sd/sys
    config.g                  Duet3Firmware_TOOL1LC_11.bin  Duet3iap_spi_MBP05.bin
    Duet3Firmware_EXP3HC.bin  Duet3Firmware_TOOL1LC.bin     dwc2settings.json
    Duet3Firmware_MB6HC.bin   Duet3iap_sd_MB6HC.bin
    Duet3Firmware_MBP05.bin   Duet3iap_spi_MB6HC.bin
    

    which seems to have sorted it out and upgraded the firmware all one go



  • Interesting, I didn't see the The following packages have been kept back: message. I ran the suggested code and it looks like the firmware is all up to date! Thanks for the support!!!


Log in to reply