Firmware update woes. Duet3



  • I have been having a hell of a time updating the firmware. The firmware wiki is geared to Duet2s and there isnt a Duet3 specific fall back, so I think I may be missing some steps or something. When I update via the web interface, it says "wait while updates are installed" and then it never finishes. When I update via Bossa, it writes and verifies, but then I cannot connect to the duet through the Pi/GPIO and I get a "DCS is unavailable".

    Here is what I have been trying EXACTLY (painful I know) so maybe someone can spot my error.

    I disconnect the Pi from the GPIO.
    I jumper the erase pins.
    I apply Vin and power the board.
    I remove the jumper.
    I plug the usb into the board.
    I fire up Bossa and select the port, select Duet3Firmware_MB6HC.bin (I cant find documentation explaining when to use Duet3_SDiap_MB6HC.bin)
    I tick: Erase all, Boot to Flash, Lock
    I click Write
    It Writes
    I click Verify.
    It Verifies.
    I close Bossa, unplug the USB.
    I power down the board and reconnect the Pi to the GPIO.
    Power up the board.
    Access the pi Web interface.
    Receive DSC error.
    Drink.

    I changed the board over to stand alone mode, and it never connected to the ethernet, so I used Ponterface, and found Ethernet was disabled. So I enabled it via M552 S1, and now stand alone is working correctly and reporting the updated firmware. If I try to connect the Pi again, I still receive the same error. Can anyone tell me where I am balling this process up?



  • @Demi said in Firmware update woes. Duet3:

    I have been having a hell of a time updating the firmware. The firmware wiki is geared to Duet2s and there isnt a Duet3 specific fall back, so I think I may be missing some steps or something. When I update via the web interface, it says "wait while updates are installed" and then it never finishes. When I update via Bossa, it writes and verifies, but then I cannot connect to the duet through the Pi/GPIO and I get a "DCS is unavailable".

    Here is what I have been trying EXACTLY (painful I know) so maybe someone can spot my error.

    I disconnect the Pi from the GPIO.

    Not necessary,

    I jumper the erase pins.
    I apply Vin and power the board.
    I remove the jumper.
    Be sure you've given it a solid 10 or 20 seconds in erase mode.

    Also, sometimes, you may need to press the reset button, maybe even more than once, after removing the erase jumper.

    Having said that, given below, you bossa port is appearing, so you are doing all above correctly.

    I plug the usb into the board.
    I fire up Bossa and select the port, select Duet3Firmware_MB6HC.bin (I cant find documentation explaining when to use Duet3_SDiap_MB6HC.bin)

    The iap file is to allow the board to update itself. It is not needed for bossa style updates.

    And... what is the source of the Duet3Firmware_MB6HC.bin file? From where are you getting it?

    I tick: Erase all, Boot to Flash, Lock
    I click Write
    It Writes
    I click Verify.
    It Verifies.
    I close Bossa, unplug the USB.
    I power down the board and reconnect the Pi to the GPIO.
    Power up the board.
    Access the pi Web interface.
    Receive DSC error.
    Drink.

    I changed the board over to stand alone mode, and it never connected to the ethernet, so I used Ponterface, and found Ethernet was disabled. So I enabled it via M552 S1, and now stand alone is working correctly and reporting the updated firmware. If I try to connect the Pi again, I still receive the same error. Can anyone tell me where I am balling this process up?

    It sounds like you are correctly updating the firmware loaded into flash on the board. It also sounds like that firmware is not compatible with the DSF (duet software framework) on the Pi.

    Can you run an M115 via the USB?

    Please run sudo apt list duetcontrolserver -a on the Pi and copy the results here. You can run it with or without the -a flag.



  • Oh, and do you have any expansion or tool boards?



  • @Danal said in Firmware update woes. Duet3:

    It also sounds like that firmware is not compatible with the DSF (duet software framework) on the Pi.
    I thought that too, but when I remove the SD card from the pi and put it in the board, it works, but Ethernet is disabled on every startup and I have to send M552 S1 to get it to connect again. I added it to the config.g (M552 S1) but it doesnt enable it, and I still have to connect via Pronter and send it.
    Can you run an M115 via the USB?

    SENDING:M115
    FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.01-RC7 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2020-04-14b3
    

    Source for bin: https://github.com/dc42/RepRapFirmware/releases/tag/3.01-RC7



  • @Danal
    No. No expansion boards.


  • administrators

    1. A SD card must NOT be present in the Duet 3 when connecting a Raspberry Pi to it
    2. RRF 3.01-RC7 is incompatible to the latest stable DSF release. You have to stick with 3.0 until the next stable version is out
    3. Firmware updates generally do not need to be installed manually. This is done automatically when the system components (packages) of the DuetPi OS are updated

    If you can confirm all of the above, please check the wiring between the Pi and the Duet 3 once more and send the output of M122 from the Duet 3 itself (connect via USB).



  • https://forum.duet3d.com/topic/15551/duet3-pi-flashing-diag-led-after-wiring-24v-dcs-is-unavailable/80

    This thread seems to be following a similar issue. I have been getting my pi imagine from:
    https://pkg.duet3d.com/DuetPi-lite.zip

    From the Start Here guide.



  • Chris is the author of much of this, and anything he says (instantly!!) overrides anything I say. I am a technically literate end user who sometimes tries to help.

    As he said, RC7 is going to be incompatible with certain releases (including the latest stable) of DSF.

    Also, as he said, installing firmware with bossa is really a fallback procedure. Once you get to the point where DSF, DWC, and the Firmware are all at releases that talk to each other, you should never have to bossa.

    One of the reasons why I wanted the output of sudo apt list duetcontrolserver -a is it will tell us what DSF release is installed, and which feed your Pi is on.



  • @chrishamm
    Thanks for the help everyone.

    "A SD card must NOT be present in the Duet 3 when connecting a Raspberry Pi to it"
    It is not, Im using the same card for both the board and the pi, and bouncing back and forth.

    "RRF 3.01-RC7 is incompatible to the latest stable DSF release. You have to stick with 3.0 until the next stable version is out"
    Okay, if I am understanding correctly, the GPIO control method cant be used at this time with the newest firmware. No biggie for me, the intent is to run the board through USB control from a pi running Repitier as a front panel. I was just doing basic setup with the pi in this config.

    "Firmware updates generally do not need to be installed manually. This is done automatically when the system components (packages) of the DuetPi OS are updated"

    How is this accomplished? Do I need to SSH into the pi and update, or do I need to flash a new OS to the SD card for the pi? The only reason I went down this road was I was having issues with deployprobe.g not being called for M401 and related. These Duet3s are being used in a production facility, and Im the guy that got picked to implement them, so I really do appreciate how quickly you all have jumped in to help me. Im at pucker factor 5.5.



  • @Demi said in Firmware update woes. Duet3:

    @chrishamm
    Thanks for the help everyone.

    "A SD card must NOT be present in the Duet 3 when connecting a Raspberry Pi to it"
    It is not, Im using the same card for both the board and the pi, and bouncing back and forth.

    Good.

    "RRF 3.01-RC7 is incompatible to the latest stable DSF release. You have to stick with 3.0 until the next stable version is out"
    Okay, if I am understanding correctly, the GPIO control method cant be used at this time with the newest firmware.

    If I understand your statement correctly... no... "the GPIO method" is available at every release, if DSF and the firmware match. Longer answer: Tthe firmware (on the Duet board itself) and the DSF (DuetSoftwareFramework) on the Pi must be at release levels that are compatible with each other. We know that you have RC7 on the firmware. We don't know, at this moment, what DSF you have.

    Further complicating this answer: There is a "stable" release path on the install servers, and an "unstable". I don't know which one you chose back at the time you built the SD card. If you used the "out of the box" card, you are on "stable".

    To finish this thought: We MAY need to bossa one more time. After that, everything will keep itself in sync.

    No biggie for me, the intent is to run the board through USB control from a pi running Repitier as a front panel. I was just doing basic setup with the pi in this config.

    This may be a unique requirement of your production environment, but... generally everybody in Duet land recommends against this. It un-does most of the advanced function of the Duet (web, onboard files, onboard monitoring), and leaves you with an expensive board that is forced to be dumb.

    Anyway, not all that relevant to the learning curve here...

    "Firmware updates generally do not need to be installed manually. This is done automatically when the system components (packages) of the DuetPi OS are updated"

    How is this accomplished? Do I need to SSH into the pi and update,

    Correct. ssh into Pi, then sequence is always:

    sudo apt update
    sudo apt upgrade

    (or, if for some reason you don't want the Pi to upgrade itself 'sudo apt upgrade duetsoftwareframework')

    These Duet3s are being used in a production facility, and Im the guy that got picked to implement them, so I really do appreciate how quickly you all have jumped in to help me. Im at pucker factor 5.5.

    We will get you going. 🙂



  • @Demi said in Firmware update woes. Duet3:

    "Firmware updates generally do not need to be installed manually. This is done automatically when the system components (packages) of the DuetPi OS are updated"
    How is this accomplished?

    It does depend on the DuetSoftwareFramework (or probably specifically duetcontrollserver) already working; if you have an incompatible firmware on the Duet apt update will not update the firmware.

    Specifically apt update will also update the package RepRapFirmware, and as part of its script it will ask the Duet board to run the update just like you would run M997 S1 from a console - but if the board isn't connected or otherwise unable to communicate with the running version of DSF the update will not succeed, and as far as I know it will not retry - but once communication is sorted you can run M997 S1 as it will read the firmware file that was part of the RepRapFirmware update.



  • @Danal said in Firmware update woes. Duet3:

    We know that you have RC7 on the firmware. We don't know, at this moment, what DSF you have.

    Ohhhh. Headslap. Alright standby, working on it now. Yeah I know the front panel deal is weird. Its a long and strange story, but we have some printers that were purchased that already have front panels that underperformed in their shipped state, and a safety requirement that they can be controlled physically. Ill update the pi and report back in 5.



  • Before:

    
    pi@duet3:~ $ sudo apt list duetcontrolserver -a
    Listing... Done
    duetcontrolserver/stable,now 1.2.4.0 armhf [installed,automatic]
    duetcontrolserver/stable 1.2.3.0 armhf
    duetcontrolserver/stable 1.2.2.1 armhf
    duetcontrolserver/stable 1.1.0.5 armhf
    duetcontrolserver/stable 1.0.4.1 armhf
    duetcontrolserver/stable 1.0.3.1 armhf
    
    

    After
    sudo apt-get update
    sudo apt-get upgrade:

    
    pi@duet3:~ $ sudo apt list duetcontrolserver -a
    Listing... Done
    duetcontrolserver/stable,now 1.2.4.0 armhf [installed,automatic]
    duetcontrolserver/stable 1.2.3.0 armhf
    duetcontrolserver/stable 1.2.2.1 armhf
    duetcontrolserver/stable 1.1.0.5 armhf
    duetcontrolserver/stable 1.0.4.1 armhf
    duetcontrolserver/stable 1.0.3.1 armhf
    
    

    Its...the same? DCS error persists. Restarting.



  • Thanks @bearer, very good clarification!



  • @Demi said in Firmware update woes. Duet3:

    Its...the same?

    need to switch to the unstable packge list.

    edit:

    #comment out stable list
    sudo sed -i '/ stable/s/^/#/g' /etc/apt/sources.list.d/duet3d.list
    #add unstable list
    echo "deb https://pkg.duet3d.com/ unstable armv7" | sudo tee /etc/apt/sources.list.d/duet3d-unstable.list
    


  • Yep, or regress the firmware on bossa. I believe forward is better, I'm going to give him instructions for that.



  • You guys are awesome. Im a babe in the woods over here, and thank you Danal for anticipating that I didnt know how to switch to the unstable package list. Lol. I sure didnt.
    Trying it now.



  • Yeah, you probably found it on the Wiki, here is a cut paste, you can just run these exactly as shown:

    wget -q https://pkg.duet3d.com/duet3d.gpg
    wget -q https://pkg.duet3d.com/duet3d-unstable.list
    sudo mv duet3d.gpg /etc/apt/trusted.gpg.d/
    sudo mv duet3d-unstable.list /etc/apt/sources.list.d/duet3d-unstable.list
    sudo chown root:root /etc/apt/trusted.gpg.d/duet3d.gpg
    sudo chown root:root /etc/apt/sources.list.d/duet3d-unstable.list
    

    AFTER those run, one more time:

    sudo apt update
    sudo apt upgrade duetsoftwareframework
    


  • Once all that finishes, Duet Web should suddenly work.

    A reset should not be required... but... if things still won't connect, first action is power cycle. That sequence above is pretty solid.



  • Oh, whoops. I may have jumped the gun. I ran with Bearers instructions, followed with an update/upgrade. Now returning:

    pi@duet3:~ $ sudo apt list duetcontrolserver -a
    Listing... Done
    duetcontrolserver/unstable,now 1.3.2 armhf [installed,automatic]
    duetcontrolserver/unstable 1.3.1 armhf
    duetcontrolserver/unstable 1.3.0 armhf
    duetcontrolserver/unstable 1.2.5.0 armhf
    duetcontrolserver/unstable 1.2.4.0 armhf
    duetcontrolserver/unstable 1.2.3.1 armhf
    duetcontrolserver/unstable 1.2.3.0 armhf
    duetcontrolserver/unstable 1.2.2.1 armhf
    duetcontrolserver/unstable 1.2.2.0 armhf
    duetcontrolserver/unstable 1.2.1.0 armhf
    duetcontrolserver/unstable 1.2.0.0 armhf
    duetcontrolserver/unstable 1.1.0.5 armhf
    duetcontrolserver/unstable 1.1.0.4 armhf
    duetcontrolserver/unstable 1.1.0.3 armhf
    duetcontrolserver/unstable 1.1.0.2 armhf
    duetcontrolserver/unstable 1.1.0.1 armhf
    duetcontrolserver/unstable 1.1.0.0 armhf
    duetcontrolserver/unstable 1.0.4.1 armhf
    duetcontrolserver/unstable 1.0.4.0 armhf
    duetcontrolserver/unstable 1.0.3.5 armhf
    duetcontrolserver/unstable 1.0.3.3 armhf
    duetcontrolserver/unstable 1.0.3.2 armhf
    
    

    Restarting.



  • Our instructions looked different but did the same things. Your status looks GOOD



  • @Danal said in Firmware update woes. Duet3:

    but did the same things

    almost; but chrishammn never confirmed or denied if stable and unstable list should co-exist after not too long ago asking someone to remove the stable list.



  • Once everything is back up, just for fun, try this from the Pi ssh session

    echo "m115" | sudo /opt/dsf/bin/CodeConsole
    

    Mine returns:

    FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.01-RC7 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE
    _DATE: 2020-04-14b3
    

    and the fact that it returns anything indicates the Pi and the Duet are connected.



  • @bearer said in Firmware update woes. Duet3:

    @Danal said in Firmware update woes. Duet3:

    but did the same things

    almost; but chrishammn never confirmed or denied if stable and unstable list should co-exist after not too long ago asking someone to remove the stable list.

    Ah, very interesting. Should we update the documentation in the "getting started"?



  • @Danal said in Firmware update woes. Duet3:

    Should we update the documentation in the "getting started"?

    i re-read it after his comment, and i guess it could be interpreted as either or, and the rest of us missed that. (but i suspect english is not the native language for me nor the author of the text so ymmw). however adding the key in both scenarios would indicate one or the other. if the text were to be changed replacing all the key stuff with wget -qO - https://pkg.duet3d.com/duet3d.gpg | sudo apt-key add - would probably be worth while as well.

    clarifying if it is an issue and making the instructions clearer would probably be a good thing in any case.


Log in to reply