For a noob updating firmware on a Duet 3 is very confusing



  • For a new to duet 3 user the guides to updating firmware are very confusing. I start here https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3 and scroll down to "updating Duet 3 firmware which then tells me to go here https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Usual_procedure if using an attached rpi . Here is where it starts getting fuzzy, everything on this page references the Duet 2. It talks about the do's and don'ts if you have this or that firmware. None of which is relevant to me since I have a Duet 3.
    It then tells me to go to the general tab on the settings page in dwc. I go there where I'm told to press the upload files button, the problem is there is no upload files button on the general tab, there is an upload and start button which I'm pretty sure is for uploading a gcode file. There are then alternative methods to update firmware, but I'm thinking if what should be the simplest and easiest way to update is this complicated what will those other ways be like? The same goes for updating dwc, its confusing.
    Hey I feel like a new user to a platform has an obligation to read all of the documentation to educate themselves which will lead them to the solution they are looking for. But I also feel that a manufacturer should write well written guides which address only the product in question and are easy to understand. I've looked for a good video on updating firmware on the Duet 3 but so far have not found one.
    I don't mind asking a question on a forum now and then, that's what forums are for but well written documentation would eliminate many of these questions. Rant off, just frustrated.



  • You have a good point. There are a lot of overlapping documents. And a few buttons have changed since the documents were written. It can be confusing.

    Fundamentally, it is extremely simple. On a Duet2 or 3 stand alone:

    • Get the file you need from https://github.com/dc42/RepRapFirmware/releases
      Hopefully, the file names are self-explanatory enough, by board type.

    • Go to the system tab and click "upload system files".
      That's it. The machine will upload the file, and offer to install it.

    9436d4e9-14fe-4c7a-b9df-98df1343c3cc-image.png

    • For a Duet 3 with Pi, follow the Pi setup document here, and standard Pi commands
      sudo apt-get update
      sudo apt-get upgrade
      Will update all the software, and load the firmware onto the boards.
      You do have a choice as you set up the Pi to be on a "stable" feed or an "unstable" feed. V3 is so new that I recommend the "unstable" for now.

    Note that these are extremely common commands in the Pi world; they may look just as intimidating as any other part of this at the moment... but... if you are a "Pi person" they will already be very much a part of your world.



  • Also, I just added a note at the top of https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Usual_procedure
    to help clarify Duet 2 vs 3.



  • I also added some info about Duet Web Control V2 (DWC2). For the moment, I added it in parens after the main text. This is a bit of a hack, but it will do until somebody edits that page for more clarity.



  • Thanks, I'll try that, I now have another (self inflicted I believe) problem with my raspberry. When I run sudo apt-get update I get E: "deb" is not known on line 2 in source list /etc/apt/sources.list.d/due-bash E: : command is not found . The update command always worked before. I was trying to upload 3.01 rc4



    • Re-run the procedure to set yourself to the unstable channel.
    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
    
    • If that doesn't fix it, take a look in that /etc/apt/trusted.gpg.d and /etc/apt/sources.list.d directories and see if there is stuff that got messed up.

    • And the ultimate fallback is:

    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_DuetPi

    Get the image listed there and etch a new SD.

    • For what is worth, these are the (somewhat obscure) notes of everything I do to a D3 pi when I re-image it. It says it is a ".g" file, treat it as a text file in your favorite editor. Most of the lines that DO NOT start with a "#" can be copy/pasted to the Pi to get things done fast.

    You may NOT want some of the later steps... Like there is almost no reason to set up to build (i.e. compile) the DuetSoftwareFramework. I'd skip that.

    Anyway, the beginning of that file is a good guide, with lots of copy paste stuff.

    01 Steps.g



  • Thanks, those 6 steps seems to have fixed it. going to stop for tonight while I'm ahead. Thanks again.



  • Thanks for 01 Steps.g. I implemented everything including line 69 but the install does not complete. I will try again. I will be using a camera to monitor prints does this operate off of the Duet usb port or some other way?
    For some reason DWC 2.0.7 does not stick. I update to 2.0.7 but if I close out of DWC and then reopen it's back to 2.0.4



  • @luckyflyer said in For a noob updating firmware on a Duet 3 is very confusing:

    Thanks for 01 Steps.g. I implemented everything including line 69 but the install does not complete. I will try again. I will be using a camera to monitor prints does this operate off of the Duet usb port or some other way?
    For some reason DWC 2.0.7 does not stick. I update to 2.0.7 but if I close out of DWC and then reopen it's back to 2.0.4

    OpenCV is only needed if the camera is going to be accessed from scripts for multi tool alingment and similar. If the camera is "just a camera", there are a ton of little utilities for RPi that work. I haven't really researched any of them.



  • @luckyflyer said in For a noob updating firmware on a Duet 3 is very confusing:

    For some reason DWC 2.0.7 does not stick. I update to 2.0.7 but if I close out of DWC and then reopen it's back to 2.0.4

    That sounds like a browser cache thing, maybe??

    If you SSH into the Pi itself, you can look around in /opt/dsf/ and be sure there is only one directory called dwc2 containing all the web stuff. Also, the 'ls' command shown below should produce an extremely similar result, in particular the symlink on the last line should be there, the 'www -> ../dwc2'

    There is no easy way (that I know) to tell the DWC release of the the files sitting in /opt/dsf/dwc2.

    pi@duet3:~/PythonDSF $ ls -al /opt/dsf/sd
    total 24
    drwxr-xr-x 6 pi pi 4096 Nov  5 12:16 .
    drwxr-xr-x 6 pi pi 4096 Nov  5 12:16 ..
    drwxr-xr-x 2 pi pi 4096 Sep 23 11:20 filaments
    drwxr-xr-x 2 pi pi 4096 Mar 13 16:50 gcodes
    drwxr-xr-x 2 pi pi 4096 Mar 16 21:30 macros
    drwxr-xr-x 2 pi pi 4096 Mar 17 22:10 sys
    lrwxrwxrwx 1 pi pi    7 Oct 22 06:00 www -> ../dwc2
    


  • I did find a partial answer to "What release of DWC is on the Pi virtual SD card?". It only works if you know the release number...

    pi@duet3:~/PythonDSF $ cat /opt/dsf/dwc2/js/app.*.js | grep -o -P '.{0,17}.2\.0\.7.{0,6}'
    JSON.parse('{"a":"2.0.7"}')},
    

    If that release is not found, the second line will not be there.



  • Thanks again Danal



  • This is probably not a great way to search, it could very easily break if the internals of the web page change... but for now, this will show the version number without needing to know it in advance.

    cat /opt/dsf/dwc2/js/app.*.js | grep -o -P '.{0,0}.e\.exports=JSON\.parse.{0,18}'
    

    Output for 2.0.7 will be:
    {e.exports=JSON.parse('{"a":"2.0.7"}')}



  • So I decided to start over and reflash the pi sd card since I couldn't get opencv to install correctly. I followed the steps guide up to line 62. However DWC 2.0.7 is still not sticking, it's back to 2.0.4 with relaunch of DWC. I install using the 2.0.7 DuetWebControl-SBC.zip from the system page in DWC.

    With 2.0.7 installed and displaying as 2.0.7 in DWC I run,
    pi@duet3:~/PythonDSF $ cat /opt/dsf/dwc2/js/app..js | grep -o -P '.{0,0}.e.exports=JSON.parse.{0,18}'
    I get,
    -bash: pi@duet3:~/PythonDSF: No such file or directory
    When I run,
    pi@duet3:~/PythonDSF $ cat /opt/dsf/dwc2/js/app.
    .js | grep -o -P '.{0,17}.2.0.7.{0,6}'
    I get,
    -bash: pi@duet3:~/PythonDSF: No such file or directory.
    Any thoughts on this? Also how do I copy from terminal to get the black outline?


  • Moderator

    @luckyflyer said in For a noob updating firmware on a Duet 3 is very confusing:

    Also how do I copy from terminal to get the black outline?

    I can help with that! Use the ‘code’ format from the text formatting bar above the message you’re typing. Looks like </>

    Ian



  • @luckyflyer said in For a noob updating firmware on a Duet 3 is very confusing:

    /app..js

    missing an astersik in between the two periods there



  • First, I apologize. I just copy pasted a terminal session, which made it not very apparent what to copy... I've edited it to make it more clear.

    Second, the problem you are seeing is from my lack of clarity... you copied part of the command prompt. Try the edited version above.

    Third, to get the boxes around code you copy/paste int this forum, just like @droftarts said, you can use the "</>" icon above (when you are posting, it will appear above). OR, you can type three back-tick-quotes "`" both before and after the code. Like this

    ```
    Example code a=5
    More lines
    ```

    Will display like this:

    Example code a=5
    More lines
    


  • Ok, ran the above line and got what you did only twice, ran it twice just to be sure.

    {e.exports=JSON.parse('{"a":"2.0.7"}')}
    {e.exports=JSON.parse('{"a":"2.0.7"}')}
    

    It was all red like yours, so I don't understand why 2.0.7 is reverting back to 2.0.4 and should I even really care that it's not sticking. I suspect that I should because there may come a time when it will be necessary to update dwc to take advantage of additional features and or bug fixes.
    And everyone thanks for helping me out, I'll get it, it may take awhile. 🖖



  • @luckyflyer said in For a noob updating firmware on a Duet 3 is very confusing:

    so I don't understand why 2.0.7 is reverting back to 2.0.4 and should I even really care that it's not sticking

    Yeah, this needs to be tracked down. If there is 2.0.7 on the (virtual) SD, then the 2.0.4 is coming from somewhere else. Browser cache, etc.

    First debugging suggestion: When you see the 2.0.4, try opening the printer in a completely different browser. Edge, or Safari, or something.



  • @Danal said in For a noob updating firmware on a Duet 3 is very confusing:

    sudo chown root:root /etc/apt/sources.list.d/duet3d-unstable.list

    Thank you for posting this "how to". Try as I might, I wasn't able to locate the exact details to install the unstable lists. Following steps 1 thru 6, then "sudo apt-get update" followed by "sudo apt-get upgrade" gets you the latest RC candidate.

    I would also mention, users may want to backup their functional install from the system area in the Web control, select all & right click "download as ZIP" prior to doing this in case you want to revert back.



  • Given a system that already have the stable list those 6 steps could be simplified to echo "deb https://pkg.duet3d.com/ unstable armv7" | sudo tee /etc/apt/sources.list.d/duet3d-unstable.list



  • @bearer is correct. That is the only 'add' needed.

    And, I realize that there is LOTS of documentation and knowing which piece to use is a challenge when starting from ground zero. The other way to get on the unstable feed is to execute these commands. Copy/Paste 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



  • I happy to report that 2.0.7 is now reliably displaying at every power up, initially it was not, I did nothing to cause it to do so but glad anyway. I have now put Duet 3 and all associated paraphernalia back into their respective boxes since I have no printer to attach them to. My Sec-kit was ordered 3 months ago and has now been delayed some more, don't know when I'll get it. I set Duet 3 up on the workbench to familiarize myself with it and (for the most part) have had fun getting it configured. I'm certainly not up to full speed on the Duet but a lot better than when I started, I have noticed a willingness to help others on this forum which for a guy like me makes the difference between success and failure.

    I'm starting to research the Jubilee, looks like a great printer and more versatile but for more than 2x the cost of the sec-kit. Also if I did decide on the Jubilee I wonder would all of the parts be available now that we are in the age of Corona. Interesting times for sure.



  • Hello, I need some help/explanations too.
    Just got myself a duet3, seller already provided SD with some files. I want to run it in standalone mode (no RPi).
    I decided to upgrade firmware via USB as on guide: https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Updating_Duet_3_main_board_firmware
    Steps that I've followed:

    1. Downloaded and installed BOSSA
    2. Shorted ERASE header with jumper
    3. Connected duet3 via USB to laptop (WIN 10 64bit)
    4. Windows correctly sees board: BOSSA Program Port (COM4)
    5. I wanted to download latest firmware from: https://github.com/dc42/RepRapFirmware/releases Release 3.01-RC5
    6. Here is where problems start. There are many files, and it isn't clear which is correct. I've tied to download all .bin files (Duet3Firmware_MB6HC, Duet2CombinedFirmware etc. ) When I want to use BOSSE and write I got "file does not exist"
      Capture.PNG
      No idea what I am doin wrong, "send help" 🙂

    Kind regards,



  • @Mandragora STRONGLY recommend you start a new thread.


Log in to reply