English
Login

Firmware updating issues

(MK2.5S/MK3S+/MMU2S/MMU3)

Relevant for

MMU family
MK3 family
OLD PRODUCTS
Article is also available in following languages
English
Čeština
Polski
Deutsch
Français
Español
Italiano
日本語
 

29 comments

Log in  to post a comment
maxminh
If you are getting the error messages "can't communicate with device", like the one below:

avrdude-slic3r: ser_send(): size/send mismatch
avrdude-slic3r: stk500v2_send(): failed to send command to serial port
avrdude-slic3r: stk500v2_getsync(): can't communicate with device
avrdude-slic3r: Could not open port: COM3

I got the same error messages and did what the link below suggested:

https://www.reddit.com/r/Artillery3D/comments/gylc7x/firmware_update_error_timeout_communicating_with/

Short and sweet version. Press the flash button then turn your printer on immediately right after.
Brodde
Hello.
I have just upgraded an MMU2s to MMU3 and was thinking of upgrading the firmware on my MK3s+ printer to version 3.14.1 according to the instructions.
But I am unable to upgrade the printer's firmware via PrusaSlicer.

I get the following error message in the Output log:

-------
avrdude-slic3r -v -p atmega2560 -c wiring -P COM3 -b 115200 -D -U flash:w:0:C:\Users\Brodde\Downloads\prusa3d_fw_3_14_1_MK3S_3_0_3_MMU3\prusa3d_fw_3_14_1_MK3S_3_0_3_MMU3\MK3S_MK3S+_FW_3.14.1_MULTILANG.hex:i

avrdude-slic3r: Version 6.3-20160220-prusa3d, compiled on Apr 10 2025 at 13:39:24
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch


Using Port : COM3
Using Programmer : wiring
Overriding Baud Rate : 115200
avrdude-slic3r: stk500v2_getsync(): got response from unknown programmer , assuming STK500
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Wiring
Description : Wiring
Programmer Model: STK500
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x90
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x90
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x91
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x91
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x92
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x92
Hardware Version: 0
Firmware Version Master : 0.00
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x9a
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x9a
Topcard : Unknown
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x94
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x94
Vtarget : 0.0 V
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x98
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x98
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x95
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x95
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x96
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x96
avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x97
avrdude-slic3r: stk500v2_getparm(): failed to get parameter 0x97
SCK period : 0.5 us
Varef : 0.0 V
Oscillator : Off

avrdude-slic3r: stk500v2_command(): warning: unknown, code 0x9e

avrdude-slic3r: stk500v2_setparm(): failed to set parameter 0x9e
avrdude-slic3r: stk500v2_command(): unknown status 0xc8
avrdude-slic3r: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude-slic3r: stk500v2_command(): unknown status 0x01
avrdude-slic3r: stk500v2_disable(): failed to leave programming mode

avrdude-slic3r done. Thank you.
------


I can connect to the printer via USB and the COM3 port but the Flashing is not completed successfully...

Is there anyone who can guide me on what I should do to proceed?
maxminh
I got the same error messages and did what the link below suggested:

https://www.reddit.com/r/Artillery3D/comments/gylc7x/firmware_update_error_timeout_communicating_with/

Short and sweet version. Press the flash button then turn your printer on immediately right after.
3DWizard
Trying to update my MK3S (having put it off for ages) but will not work, just get this error log, no idea what to do now.

Error log:
avrdude-slic3r -v -p atmega2560 -c wiring -P COM8 -b 115200 -D -U flash:w:0:C:\Users\Admin\OneDrive\Documents\Prusa\prusa3d_fw_3_14_1_MK3S\prusa3d_fw_3_14_1_MK3S\MK3S_MK3S+_FW_3.14.1_MULTILANG.hex:i

avrdude-slic3r: Version 6.3-20160220-prusa3d, compiled on Apr 10 2025 at 13:39:24
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch


Using Port : COM8
Using Programmer : wiring
Overriding Baud Rate : 115200
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Wiring
Description : Wiring
Programmer Model: AVRISP
Hardware Version: 15
Firmware Version Master : 2.10
Vtarget : 0.0 V
SCK period : 0.1 us

avrdude-slic3r: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude-slic3r: Device signature = 0x1e9801 (probably m2560)
avrdude-slic3r: safemode: hfuse reads as D0
avrdude-slic3r: safemode: efuse reads as FD
avrdude-slic3r: reading input file "C:\Users\Admin\OneDrive\Documents\Prusa\prusa3d_fw_3_14_1_MK3S\prusa3d_fw_3_14_1_MK3S\MK3S_MK3S+_FW_3.14.1_MULTILANG.hex"
avrdude-slic3r: writing flash (248024 bytes):

Writing | avrdude-slic3r: ser_send(): write error: A device attached to the system is not functioning.

avrdude-slic3r: stk500v2_send(): failed to send command to serial port
avrdude-slic3r: stk500v2_command(): can't communicate with device
avrdude-slic3r: stk500v2_paged_write: write command failed
avrdude-slic3r: ser_send(): write error: The I/O operation has been aborted because of either a thread exit or an application request.

etc. etc....
Dallphens
Turn off Bluetooth!
Just thought I would mention this here as it took me forever, and a factory reset, to just find out that I needed to turn off Bluetooth to get the Firmware flash to work on my MK3S+.I was getting this error:
avrdude-slic3r: ser_send(): size/send mismatch
avrdude-slic3r: stk500v2_send(): failed to send command to serial port
avrdude-slic3r: stk500v2_getsync(): can't communicate with device
avrdude-slic3r: Could not open port: COM3
And all I had to do to turn off bluetooth! I had no idea this would be an issue.
 
maxminh
I got the same error messages and did what the link below suggested:

https://www.reddit.com/r/Artillery3D/comments/gylc7x/firmware_update_error_timeout_communicating_with/

Short and sweet version. Press the flash button then turn your printer on immediately right after.
ga
Running ubunto 22.04 slicer wouldn't identify the printer; just showed /dev/ttyACM0
Found an old bug saying a workaround was to do
snap connect prusa-slicer:raw-usb
Did that and then things worked.