Fixing your bricked MMU2 guide
I ran today after upgrading to v1.0.6 also into these problems that my MMU2 was basically bricked.
By reading this forum I found how to fix it (thanks forum) but I now now also how to upgrade successfully to from 1.0.5 to 1.0.6 .
Maybe best to write a easy manual for less technical people on how to fix and update.
Fixing your bricked mmu2:
- When you boot or reset your prusa, you will see inside the MMU2 a flikkering orange light for a few seconds, if so follow this guide, otherwise it is something else
- open prusa slicer -> configuration -> Flash printer firmare
- select in Firmware image the old firmware file on your disk (v1.0.5)
- Now reboot or reset (by pressing X) your whole prusa, when the orange led inside is flashing press "flash" on your pc (be FAST)
- You will now see the board flashing successfully and it will work again
Upgrade to v1.0.6
- now your have 1.0.5 running again, time to upgrade it in the same way and the standard way does not work
- open prusa slicer -> configuration -> Flash printer firmare
- select in Firmware image the NEW firmware file on your disk (v1.0.6)
- Now reboot or reset (by pressing X) your whole prusa, when the orange led inside is flashing press "flash" on your pc (be FAST)
- TADAA... you are now on v1.0.6!
I hope this can help a lot of people!
RE: Fixing your bricked MMU2 guide
actually i think it just bricked mine. i've been trying to get past the "cannot write" when lfashing the firmware to it.
it say this now:
prusa3d_fw_MMU2board_1_0_6.hex"
avrdude-slic3r: writing flash (20844 bytes):
Writing | #######avrdude-slic3r: error: programmer did not respond to command: set addr
###avrdude-slic3r: error: programmer did not respond to command: write block
# ***failed;
####################################### | 100% 2.15s
avrdude-slic3r: failed to write flash memory, rc=-1
avrdude-slic3r: safemode: hfuse reads as FF
avrdude-slic3r: safemode: efuse reads as D8
avrdude-slic3r: safemode: lfuse changed! Was ff, and is now d
and it's just hanging there.
RE: Fixing your bricked MMU2 guide
@rgordon0
Are you trying to flash from an Ubuntu system ? You might have this issue
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/140
I believe I had this as well. After removing/uninstalling modemmanager it worked for me.
RE: Fixing your bricked MMU2 guide
I had that issue with the modem manager the last time I updated it, and thought I had resolved it. I'll double-check later.
Meanwhile, I was able to install the 1.0.6 firmware successfully using a Mac connected to it. So I'm back operational, and now back to getting annoyed with the "MMU Needs Attention" messages again.
RE: Fixing your bricked MMU2 guide
I had the same problem and bricked mine. I fixed it stooping the daemon temporary with:
sudo service ModemManager stop
... Flash the MMU2S ...
Connect the cable, prepare the software (1.0.6), press the side button and inmediatly after that press the flash button.
...
sudo service ModemManager start
I am running on Ubuntu 16.04
I hope this help.
RE: Fixing your bricked MMU2 guide
I am running Ubuntu 19.10, no ModemManager, but was failing to flash the 1.0.6 firmware using PrusaSlicer.
Errors would be like:
Writing | ##############avrdude-slic3r: error: programmer did not respond to command: set addr
avrdude-slic3r: error: programmer did not respond to command: write block
# ***failed;
I was able to recover and flash from the command line using avrdude.
The mmu will go into boot mode for 5 seconds after the reset on the mmu board is pressed.
During that time first call a chip erase using avrdude from the command line:
avrdude -v -p atmega32u4 -c avr109 -P /dev/ttyACM0 -b 57600 -e
Then repeat the reset and do the actual programming (this is a single line command)
avrdude -v -p atmega32u4 -c avr109 -P /dev/ttyACM0 -b 57600 -U flash:w:/home/tflint/Documents/Prusa/prusa3d_fw_MMU2board_1_0_6.hex:i
Note that my programming command differs from the one sent by PrusaSlicer in that it does NOT contain the -D flag, which disables autoerase.
Here is from the manpage for avrdude:
-D
Disable auto erase for flash. When the -U option with flash memory is specified, avrdude will perform a chip erase before starting any of the programming operations, since it generally is a mistake to program the flash without performing an erase first. This option disables that. Auto erase is not used for ATxmega devices as these devices can use page erase before writing each page so no explicit chip erase is required. Note however that any page not affected by the current operation will retain its previous contents.
-e
Causes a chip erase to be executed. This will reset the contents of the flash ROM and EEPROM to the value ‘0xff’, and clear all lock bits. Except for ATxmega devices which can use page erase, it is basically a prerequisite command before the flash ROM can be reprogrammed again. The only exception would be if the new contents would exclusively cause bits to be programmed from the value ‘1’ to ‘0’. Note that in order to reprogram EERPOM cells, no explicit prior chip erase is required since the MCU provides an auto-erase cycle in that case before programming the cell.