Flashing firmware on Mac OS X
I've seen a couple of people having problems with flashing firmware to Duet Wifi/Ethernet/Maestro on Apple Mac OS X, at least using the GUI version of BOSSA. Should you have inadvertently pressed the 'erase' button on your Duet, or have some other need to flash the firmware, you would probably end up having to do it using a Windows PC [shudder!] to flash the firmware. However, I seem to have got this working on my MacBook Pro (Retina, 15-inch, Late 2013), running macOS Mojave (10.14.5).
First of all, you need to use BOSSA (Windows and Mac only - https://github.com/shumatech/BOSSA/releases), as there's no Mac version of SAM.BA (Windows and Linux only - https://www.microchip.com/DevelopmentTools/ProductDetails/Atmel SAM-BA In-system Programmer). The version of the command line tool 'bossac' that ships with the Arduino IDE supports the SAM3X8E in Duet 0.6/0.85, but not the SAM4E8E of the Duet Wifi/Ethernet, or the SAM4S8C of the Maestro.
However, once you have downloaded the .dmg and copied BOSSA to your applications folder (and allowed it to run in Security settings), it does not work or crashes when launched. This thread shows a common error message: How did the firmware update evaporate from my board?, relevant part:
Application Specific Information: dyld: launch, loading dependent libraries Dyld Error Message: Library not loaded: /usr/local/opt/libpng/lib/libpng16.16.dylib Referenced from: /Applications/BOSSA.app/Contents/MacOS/bossa Reason: image not found
The main problem seems to be that a dependent dynamic library (libpng, libjpeg) has not been included in the current version (BOSSA 1.9.1 at time of writing), and either an old version is bundled with Mac OS X, or it is missing. It may also be that you have installed software that causes an old version of the library to be installed. There's a discussion about the issue here, which also provides the solution: https://github.com/shumatech/BOSSA/issues/76#issuecomment-450497888
To fix this, first install (or update) Brew: https://brew.sh/
Then run 'brew install wxwidgets' which will install compatible versions of libpng/libjpeg/libtiff in /usr/local/opt and will allow the GUI version of BOSSA to launch correctly.
I've only tested this in Mojave, but I think it should work with older Mac OS X versions too. If anyone can try this out and see if it works, I'll update the documentation. Unfortunately, I didn't try the command line version of bossac (v1.9.1) before doing this, but that is also working for me without issue. 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. But having the GUI version working is nice!
So that's why bossa crashes on launch for me now.
Munce31 last edited by
CrazyCreator last edited by
With Catalina works too
bitsplusatoms last edited by
Thank you. This is still an issue for the version I downloaded on 2020-03-20 and tried to run on Catalina (10.15.3).
Danal last edited by
I knew I liked you for a reason.
Aww, you're making me blush!
On topic, I've tried every combination of things to flash Duet 3 on Mac, but have not succeeded. I ended up resorting to a Windows 7 PC (which I do have, just don't like to admit it), where it flashed first time, no problem. I think the Mac version of Bossa is to blame; there's an issue already raised on Github about it, that I added to: https://github.com/shumatech/BOSSA/issues/106
Please try flashing with Mac and post to that issue; perhaps if enough people do, they'll fix it!
A Former User last edited by A Former User
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
Cwitsch last edited by
@droftarts I am running macOS Catalina and can not run bossa at all!
This is the message I get.
Process: bossa 
Version: 1.0 (1.1)
Code Type: X86-64 (Native)
Parent Process: ??? 
Responsible: bossa 
User ID: 501
Date/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-9AFCC0E1E455
Time 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_NOTIFY
Termination 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?
MartinNYHC last edited by
Had the same problem with Mojave. You need to compile Bossa on your MAC.
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?
A Former User last edited by
Urban last edited by
@droftarts I installed HomeBrew and installed wxwidgets as described, and BOSSA worked after that. I am running Catalina 10.15.7.