Duet3 Mini 5+ Firmware with SBC
I am in a total pickle now.
Last night installed a beta firmware due to assist DC42 in nailing down a issue.
I need to go back to 3.2.2 as it works.
Downloaded 3.2.2 and I get this error as a file is missing and I do not know where to find it on GitHub
M997 S0 Error: M997: Failed to find IAP file /opt/dsf/sd/firmware/Duet3_SBCiap32_Mini5plus.bin
Tried Sudo update commands because I am running a SBC, this does not work.
Please could someone help get back to where I was before I installed the Beta.
@paulhew Open a terminal on the SBC, either via SSH or locally on the Pi itself and run
sudo ln -s /opt/dsf/sd/sys/Duet3_SBCiap32_Mini5plus.bin /opt/dsf/sd/firmware/Duet3_SBCiap32_Mini5plus.bin
Then try to run M997 again.
@chrishamm Thanks for the speedy reply
I get this when I run the command.
i@RailCoreII:~ $ sudo ln -s /opt/dsf/sd/sys /opt/dsf/sd/firmware sudo: unable to resolve host RailCoreII: Name or service not known
@paulhew That message doesn't make a lot of sense, can you try to execute my updated command and see what happens? This is what I get:
pi@Ender3Pro:~ $ sudo ln -s /opt/dsf/sd/sys/Duet3_SBCiap32_Mini5plus.bin /opt/dsf/sd/firmware/Duet3_SBCiap32_Mini5plus.bin ln: failed to create symbolic link '/opt/dsf/sd/firmware/Duet3_SBCiap32_Mini5plus.bin': File exists
Unsurprisingly I get that error message because I'm already on the latest unstable version.
@paulhew The command christhamm suggested copies (actually, makes a symbolic link) of the /sys/Duet3_SBCiap32_Mini5plus.bin IAP file in the /firmware folder. RRF 3.3 uses the firmware folder for updates, so that's where the files need to be.
Instead of running this command, if you upload another copy of Duet3_SBCiap32_Mini5plus.bin in DWC, it should put it in the /firmware folder, then you can flash firmware. Because DWC 3.2.2 doesn't show the firmware folder, you can check the file is there by sending:
If you are on the 'unstable' feed, and you run 'sudo apt-get update & apt-get' from a terminal on the SBC, it will reinstall the beta firmware. To change back to the stable feed, see https://github.com/Duet3D/DuetSoftwareFramework#2-apt-package-feed
Basically, all you should need to do is edit the /etc/apt/sources.list.d/duet3d.list file. Open a terminal on the SBC, either via SSH or locally on the Pi itself and run:
sudo nano /etc/apt/sources.list.d/duet3d.list
Edit the only line, changing 'unstable' to 'stable':
deb https://pkg.duet3d.com/ stable armv7
Exit, save, then run
sudo apt-get update & apt-getto get everything back on the stable branch. You may still need to update the firmware on the boards, though.
MGJosh last edited by
@PaulHew that message could be from an incomplete hostname change - on a Pi, I always change the hostname in /etc/hostname and /etc/hosts (last line, 127.0.1.1 or 127.0.0.1 - whichever was originally "raspberrypi" or the default hostname); when I've forgotten the /etc/hosts change, I think I remember seeing errors like yours.
For anyone else who comes across this post looking to fix updating firmware on their Duet3 Mini5+ in SBC mode - my Mini5+ was running RRF 3.2.2 (either that's what it came with, or that's what the SBC image installed - don't recall), and no amount of playing with the apt update && apt upgrade cycles or packages would work. So I took @droftarts information, downloaded the "Duet3_SBCiap32_Mini5plus.bin" from /opt/dsf/sd/firmware on the Pi (using WinSCP), and then uploaded it through the DWC. This finally let me update the firmware.
I'm not saying this was the correct choice, and that it won't cause issues down the line, but...firmware updating has been very frustrating, and I'm extremely relieved I finally got this going.
@mgjosh Thank you for the reminder, I need to update this!
sudo: unable to resolve host RailCoreII: Name or service not known
The error message I was getting was due to an error in the hosts file.
DWC name was correct but the hosts file in /etc/... was incorrect.
Edited the file and all is working again.
The entry in the host file was RailCore II, spaces not allowed in Linux, change to RailCoreII and all started working correctly.