Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Flashing firmware on Mac OS X

    Scheduled Pinned Locked Moved
    Firmware installation
    14
    38
    5.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • droftartsundefined
      droftarts administrators
      last edited by droftarts

      TL/DR:

      See Duet3D firmware flashing documentation under the 'Bossa' and 'MacOS' tabs, here: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards

      Duet 2 WiFi/Ethernet/Maestro, Duet 0.6/0.85, PanelDue:

      • Shumatec 'Bossac' (macOS command line version, run from Terminal) works for Intel and ARM based Macs without needing to install extra packages. See documentation or this post for usage: https://forum.duet3d.com/post/290007
      • ARM-based Macs: Schumatech Bossa (macOS GUI version) have been tested working on a M2 MacBook Pro 14" running MacOS Ventura 13.2.1, using a Thunderbolt Docking Station to provide USB A ports. wxWidgets may have been updated using brew (see below), I can't tell! If you get an error/crash when opening Bossa (GUI), follow the instructions below to install wxWidgets using brew.
      • Intel-based Macs: Shumatech Bossa (macOS GUI version) will only work on Intel-based Apple Macs if you have an up-to-date version of wxWidgets running. You can install/update wxwidgets using brew (see below). (This may be OS version-dependent)

      Duet 3 mainboard 6HC or 6XD:

      • Currently (8th November 2024), no macOS version of bossa/bossac will flash the Duet 3 mainboard 6HC or 6XD. For these, either use a PC or SBC running Windows/Linux/Raspberry Pi OS and follow the documentation to flash firmware, or:
      • Intel-processor-based Macs:
        • Create a Linux Live USB in macOS, and boot from that. You can install and run Bossa without installing Linux on your Mac. See documentation under the 'Bossa' and 'Linux - Debian/Ubuntu/Raspberry Pi OS' tabs, here: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards.
        • Alternatively, I suspect installing VMware Fusion and Windows 11 x64 version, and running the Duet Windows version of Bossa will also work (not tested on Intel Mac).
      • ARM-processor-based Macs: I successfully flashed a couple of 6HC boards by installing VMware Fusion, then Windows 11 ARM 64-bit ARM, installing the Microsoft Visual C++ Redistributible ARM version (or Bossa complains about a missing dll), then installing the Duet Windowss version of Bossa (bossac command line version also worked). This was tested on an M2 MacBook Pro, running macOS Sonoma 14.5. I couldn't install the Duet device drivers, but YAT and Bossa worked fine anyway. (Tested 5th April 2023.)

      Duet 3 Mini 5+

      • Works as described here: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware#duet-3-mini-5-wifiethernet

      --

      I've seen a couple of people having problems with flashing firmware to Duet 2 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!

      Ian

      MGonzalez506 created this issue in shumatech/BOSSA

      open Any ideas on how to install on High Sierra? #76

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      Danalundefined Cwitschundefined Dizzwoldundefined 3 Replies Last reply Reply Quote 3
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        So that's why bossa crashes on launch for me now.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Munce31undefined
          Munce31
          last edited by

          @droftarts said in Flashing firmware on Mac OS X:

          https://brew.sh/

          Thank you so much for this. Saved me a massive headache trying to flash my paneldue v3.0 5".

          1 Reply Last reply Reply Quote 0
          • CrazyCreatorundefined
            CrazyCreator
            last edited by

            With Catalina works too 🙂

            http://www.crazycreatorcube.com

            1 Reply Last reply Reply Quote 0
            • bitsplusatomsundefined
              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).

              1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal @droftarts
                last edited by

                @droftarts said in Flashing firmware on Mac OS X:

                Windows PC [shudder!]

                I knew I liked you for a reason.

                Delta / Kossel printer fanatic

                droftartsundefined 1 Reply Last reply Reply Quote 2
                • droftartsundefined
                  droftarts administrators @Danal
                  last edited by

                  @Danal said in Flashing firmware on Mac OS X:

                  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!

                  Ian

                  mbavaro created this issue in shumatech/BOSSA

                  open MacOS fails programming SAM S70, Windows succeeds #106

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  1 Reply Last reply Reply Quote 0
                  • A Former User?
                    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
                    nvm

                    1 Reply Last reply Reply Quote 0
                    • Cwitschundefined
                      Cwitsch @droftarts
                      last edited by

                      @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: 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?

                      droftartsundefined 1 Reply Last reply Reply Quote 0
                      • MartinNYHCundefined
                        MartinNYHC
                        last edited by

                        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

                        1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @Cwitsch
                          last edited by droftarts

                          @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

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          A Former User? 1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User @droftarts
                            last edited by

                            @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

                            1 Reply Last reply Reply Quote 0
                            • Urbanundefined
                              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.

                              1 Reply Last reply Reply Quote 0
                              • droftartsundefined droftarts referenced this topic
                              • Andy Cohenundefined Andy Cohen referenced this topic
                              • droftartsundefined droftarts referenced this topic
                              • Phaedruxundefined Phaedrux referenced this topic
                              • Dizzwoldundefined
                                Dizzwold @droftarts
                                last edited by Dizzwold

                                @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.

                                droftartsundefined 1 Reply Last reply Reply Quote 0
                                • droftartsundefined
                                  droftarts administrators @Dizzwold
                                  last edited by

                                  @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

                                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                  Dizzwoldundefined 2 Replies Last reply Reply Quote 0
                                  • Dizzwoldundefined
                                    Dizzwold @droftarts
                                    last edited by

                                    @droftarts
                                    Okay, I've managed to install wxwidgets, but the Bossac app won't open;
                                    Screen Shot 2022-09-22 at 10.54.55.png

                                    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
                                    Screen Shot 2022-09-22 at 10.57.29.png

                                    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.

                                    MGonzalez506 created this issue in shumatech/BOSSA

                                    open Any ideas on how to install on High Sierra? #76

                                    1 Reply Last reply Reply Quote 0
                                    • Dizzwoldundefined
                                      Dizzwold @droftarts
                                      last edited by

                                      @droftarts

                                      I've also just thought of something else.

                                      Could the paneldue be flashed by my connected SBC, or another RPi?

                                      dc42undefined 1 Reply Last reply Reply Quote 0
                                      • droftartsundefined
                                        droftarts administrators
                                        last edited by droftarts

                                        @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

                                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                        Dizzwoldundefined 2 Replies Last reply Reply Quote 0
                                        • Dizzwoldundefined
                                          Dizzwold @droftarts
                                          last edited by Dizzwold

                                          @droftarts

                                          Hi Ian,

                                          Thank you for your guidance.

                                          So to copy bossac to the firmware file is;
                                          $cp bossac /User/Downloads/PanelDueFirmware x x x.bin

                                          I 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 directory

                                          bossac -e -w -v -b -R -p /dev/tty.usbmodemFD131 PanelDueFirmware.bin
                                          Erase flash

                                          Done in 1.437 seconds

                                          No such file or directory

                                          Have I now killed the paneldue?

                                          I'd pressed erase earlier.

                                          Dizzwold.

                                          1 Reply Last reply Reply Quote 0
                                          • Dizzwoldundefined
                                            Dizzwold @droftarts
                                            last edited by Dizzwold

                                            @droftarts

                                            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.

                                            droftartsundefined 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA