Flashing firmware on Mac OS X
-
is it the same if you use the command line version bossac ? only skimmed the thread, but looked to be graphics related in the top post
nvm -
@droftarts I am running macOS Catalina and can not run bossa at all!
This is the message I get.
Process: bossa [47376]
Path: /Applications/BOSSA.app/Contents/MacOS/bossa
Identifier: ShumaTech.BOSSA
Version: 1.0 (1.1)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: bossa [47376]
User ID: 501Date/Time: 2020-09-19 13:54:36.827 +0400
OS Version: Mac OS X 10.15.6 (19G2021)
Report Version: 12
Anonymous UUID: 0882F234-69BA-C761-E39C-9AFCC0E1E455Time Awake Since Boot: 760000 seconds
System Integrity Protection: enabled
Crashed Thread: 0
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFYTermination Reason: DYLD, [0x1] Library missing
Is there a way to boot the firmware from a sd card?
Or any other way to re-install a new firm ware version on my duet 2 wifi? -
Had the same problem with Mojave. You need to compile Bossa on your MAC.
https://forum.duet3d.com/topic/17556/duet-3-6hc-firmware-upgrade-flash-locked/10?_=1600511547110
-
@Cwitsch said in Flashing firmware on Mac OS X:
Termination Reason: DYLD, [0x1] Library missing
I think it’s the same problem, with the dependent dynamic library (libpng, libjpeg) missing from Bossa. Try the homebrew instructions, though it’s probably not going to flash a Duet 3. Try @MartinNYHC (thanks!) linked, fixed, compiled version, which I’m going to try at the next opportunity, as I’m still on Mojave. I guess it should work on Catalina too?
Ian
-
@droftarts said in Flashing firmware on Mac OS X:
I think it’s the same problem, with the dependent dynamic library (libpng, libjpeg) missing from Bossa.
bossac from the commandline shouldn't need them libraries? might be worth at try if bulding from source isn't an option
-
@droftarts I installed HomeBrew and installed wxwidgets as described, and BOSSA worked after that. I am running Catalina 10.15.7.
-
-
-
-
-
@droftarts
I managed to get Brew onboard but not wxwidgets.Warning: You are using macOS 10.13.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
old version. -
@dizzwold You got that message when you installed brew, or when you ran
brew install wxwidgets
? 10.13 is quite old now, but I run 10.14 (also not supported any more) and it works fine on that, so could be just a warning.Ian
-
@droftarts
Okay, I've managed to install wxwidgets, but the Bossac app won't open;
I've also followed the following and restarted in recovery mode, terminal, csrutil disable, reboot;
https://github.com/shumatech/BOSSA/issues/76
Still no success.So I'll have to try the command line in terminal, but the page with the directions to do so only half explains how to do this on a mac;
https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_PanelDue
Once I have the usbmodem port details, what do I type in terminal to flash the paneldue. It only continues this information for windows machines?
I'd be very grateful for some help with guys.
-
I've also just thought of something else.
Could the paneldue be flashed by my connected SBC, or another RPi?
-
@dizzwold yes, you can install Bossa on Raspberry Pi, though only command line works. There are more complete instructions for Mac and RPi command line here: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards
I usually copy 'bossac' into the same folder as the firmware I want to update, cd to that folder in terminal, and run it from there. The ‘port’ is the USB port for the PanelDue, usually something like /dev/tty.usbmodem14201. Otherwise the command should look similar to the Windows command. eg
./bossac -e -w -v -b -R -p /dev/tty.usbmodem14201 PanelDueFirmware.bin
Where the flags are:
-e, --erase erase the entire flash starting at the offset
-w, --write write FILE to the flash; accelerated when combined with erase option
-v, --verify verify FILE matches flash contents
-p, --port=PORT use serial PORT to communicate to device; default behavior is to use first serial port
-b, --boot[=BOOL] boot from ROM if BOOL is 0; boot from FLASH if BOOL is 1 [default]; option is ignored on unsupported devices
-R, --reset reset CPU (if supported)You can try using -U (searches for port) rather than specifying the port, but I usually find this doesn't work.
Ian
-
Hi Ian,
Thank you for your guidance.
So to copy bossac to the firmware file is;
$cp bossac /User/Downloads/PanelDueFirmware x x x.binI just tried the following and got the response after typing the above;
./bossac -e -w -v -b -R -p /dev/tty.usbmodemFD131 PanelDueFirmware.bin
-bash: ./bossac: No such file or directory/bossac -e -w -v -b -R -p /dev/tty.usbmodemFD131 PanelDueFirmware.bin
-bash: /bossac: No such file or directorybossac -e -w -v -b -R -p /dev/tty.usbmodemFD131 PanelDueFirmware.bin
Erase flashDone in 1.437 seconds
No such file or directory
Have I now killed the paneldue?
I'd pressed erase earlier.
Dizzwold.
-
Hi Ian,
Thank you again for your help and input.
I figured the above out in the end (or I hope I have).
Here is my example from the terminal. Maybe this will help others.
Mrxxxx's-imac:~ $ bossac -e -w -v -b -R -p /dev/tty.usbmodemFD131 /Users/Mrxxxx/Downloads/PanelDueFirmware-logo-3.4.1-v3-7.0.bin Erase flash Done in 1.302 seconds Write 218036 bytes to flash (426 pages) [==============================] 100% (426/426 pages) Done in 7.088 seconds Verify 218036 bytes of flash [==============================] 100% (426/426 pages) Verify successful Done in 5.581 seconds Set boot flash true Mrxxxx-imac:~ $
Thank you for your help.
One happy smily bunny.
-
@dizzwold Great! Glad you got it sorted.
It looks like you didn't change directory to the /Users/Mrxxxx/Downloads/ folder to run the command. But it also looks like bossac was installed in the /usr/bin/ folder, where it will be automatically found. Running
./bossac ...
just looks in the current folder for the command bossac. That and the firmware filename wasn't "PanelDueFirmware.bin", it was "PanelDueFirmware-logo-3.4.1-v3-7.0.bin"! But you got it sorted, so no worries.At least with the latest version of the PanelDue firmware on it, you can update from DWC now!
Ian
-
Hi Ian,
@droftarts said in Flashing firmware on Mac OS X:
At least with the latest version of the PanelDue firmware on it, you can update from DWC now!
Oh, okay I didn't know that, so that's a bonus.
Again a big thank you for your guidance and help. It is very much appreciated.
Dizzwold.
-
@dizzwold said in Flashing firmware on Mac OS X:
I've also just thought of something else.
Could the paneldue be flashed by my connected SBC, or another RPi?
Version 3 PanelDue boards (which includes all 5i and 7i boards) can be flashed from RepRapFirmware 3.2 and later over the serial connection. You could also flash a PanelDue from a Pi over USB, by running Bossa on the Pi.
Edit - I see that Ian already told you that.
-
Thank you both for you input and help.
Off-subject, is there a tool anywhere to print out the like of the RRF Config tool, Just to state what's on each io connector and on what pins?
Just wondered.Dizzwold.
-
@dizzwold said in Flashing firmware on Mac OS X:
Off-subject, is there a tool anywhere to print out the like of the RRF Config tool, Just to state what's on each io connector and on what pins?
Just wondered.I'm not sure what you mean by this. Can you describe more what you're looking for?
-
Basically some thing to print out (a table or the likes of), listing what's on each connector gathered from the RRF config tool or from DWC?
I'm just being lazy really.
-
@dizzwold not yet, but we're working on being able to read the configuration from the object model.