Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
My MK3S has been a completely reliable since I first assembled it.
However... I upgraded to firmware 3.9.1-3518 a couple of days ago, my printer now randomly fails to bed level.
I had just completed a print, attempted a second print and the print wont level... forces a z calibration and then fails to level again.
I've tried a full factory reset, reloaded the firmware and recalibrated. But still very unreliable.
Cheers
Mark
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
You can always roll back to an older version. 3.9.1 is working quite well for me, so your experience is not universal. Do check the print surface (both sides) and nozzle if it's constantly recalibrating Z.
and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
What I have found is that IF I upgrade firmware, a user must "reset the bios" to default configuration. This means you must run through the ENTIRE setup and calibration process, add back any tweaks you've done (bed level offsets, multipliers, PID cals, machine stepping factors, etc.) So changing firmware is a daunting task that I avoid at all costs.
It would be nice to have a "save my settings" function to know what was changed during that initial setup a year ago when I last changed firmware ... but we don't have that feature.
But sadly, you need to go back to square one; or, if you haven't redone any of that old cal work with the new firmware, revert back and hope the new firmware didn't step on the old stored cal constants (which it generally does).
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
What I have found is that IF I upgrade firmware, a user must "reset the bios" to default configuration. This means you must run through the ENTIRE setup and calibration process, add back any tweaks you've done (bed level offsets, multipliers, PID cals, machine stepping factors, etc.) So changing firmware is a daunting task that I avoid at all costs.
It would be nice to have a "save my settings" function to know what was changed during that initial setup a year ago when I last changed firmware ... but we don't have that feature.
But sadly, you need to go back to square one; or, if you haven't redone any of that old cal work with the new firmware, revert back and hope the new firmware didn't step on the old stored cal constants (which it generally does).
you can use M503 to dump settings (and copy them to a text file) (one other M code specifically for PINDA temp cal retrieval).
Then you can simply re-enter them accordingly if you need to clear/recalibrate.
FWIW I have never had to do a clear and reset after firmware updates, and the EEPROM code is done in such a way that means it should not be necessary as things do not move around.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
@vintagepc
Perhaps the guys have gotten better at not changing pointers and adding vars and constants, but I've had to go through this reset/recal enough times to know changing firmware is a royal pain. And it isn't anything I am doing wrong. I have no clue how you've gotten way with not having corruptions with new firmware.
In the mean time I'll look at M503 to see what it actually does and if it can be useful to do comparisons. If it just dumps hex from nvram, it won't be helpful.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
To get technical, the EEPROM values are laid out in such a way that they do not change, period. All bets are off if you run beta firmwares which may have non-final implementations of new features, but there is simply no way that a proper EEPROM value from a previous final release should not work as-is with a newer final release.
If you look at the actual source files you can see for yourself how it is defined; the parameters have a fixed layout and they only ever add new ones in the remaining free space. They never reorder them or change the meaning unless the existing values are preserved, as that creates a versioning nightmare for users upgrading from <arbitrary old version> to <arbitrary new version>. The Einsy simply does not have the program space to handle giant migration tables like that.
If you are experiencing EEPROM corruption on updates then something else must be causing that outside of just the update process.
M503 prints a text dump of the various settings in the form that would be used to restore them, e.g. M92 <microstep values>.
I have a .txt file in my slicer directory containing both the output of this and my PINDA Temp calibration. I've used it exactly once since then, and that was just to double check the value was still correct.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
Oh - and since it's relevant for timescale to show I'm not just talking about 1-2 successful updates, I've had my MK3 since Dec 2018 and have always been running the latest firmware each release (so all the way back from 3.5.1). The only time I explicitly had to reset and start fresh was when I briefly tried Guy K's 0.9 firmware - and that was due to how microstepping was handled, as the main firmware did not support M350 for X/Y at that time.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
Well - you have been exceptionally lucky or haven't really tweaked any of the common settings. Or I have been exceptionally unlucky in that every attempt to flash new firmware has resulted in a full and complete manual recal, right down to bed level, K-factors, and even the motor sine tables. And I only use stock. I did - for a while - use the N7 mod, but that version always came from the same source. My fw files date back to 3.3.1 (my first update). I think I am at 3.7.1 (it was the first official release to use a 7x7 mesh. I used the fw upgrade to time a full bearing R&R.
Maybe they got better after 3.5 and I've been doing all the cals for nothing rather than suffer the failed prints not doing cals caused prior.
If you have the info - point me to where they save the defines for the NVRAM. Found it.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
I looked at 3.50, 3.7.1, and 3.9.1.
You should check out the eeprom.h defines below the line //Sound Mode, then tell me the updates don't break things. I haven't looked too deep, and what is being broken might not show up as cal factors affecting prints (lots of MMU stuff, and these changes might be all nv that Prusa is using as machine status between power cycles).
But, it would seem that if I do not have an MMU, I MIGHT be safe not doing a reset/recal between 3.7.1 and 3.9.1...
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
And looking back at 3.3.1 - no eeprom.h - but found the code in config.h ... some changes are in there, similar to the changes from 3.7 to 3.9, but without a long look and a compiler to check resulting addresses, hard to say. There are some extrusion multiplier and microstepping changes between builds that might bite a person. I'd need to dig deeper into the code to figure it out.
At this point I'll stick with "You've been lucky to not have had whatever happened to me."
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
I have an MMU, so that would not appear to be a factor, and I've definitely done my fair share of tweaking.
I certainly can't speak to your experience but can't help but think it's unusual. I realize it's purely circumstantial evidence but I suspect if this was a persistent issue then we would see far more prevalent complaints of weirdness or griping about problems/having to recalibrate after upgrades than we do, given the number of active forum users.
BTW... could have saved you the trouble of making that sheet; if you look at the git blame for that file, it shows that most things have not changed in 2+ years, and the few changes since then I spot checked appear not to have a breaking impact. *shrug
https://github.com/prusa3d/Prusa-Firmware/blame/MK3/Firmware/eeprom.h
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
Actually - there have been changes in the past couple years as I pointed out. I'm just not sure they affect calibrations/tweaks. Things before the sound line have been stable since 3.5, but after that line (byte in the eeprom) things wiggle around quite a lot.
I'm a reasonably logical person and I won't discount a bad hex file somewhere in the printers life, sheet happens, but it was very consistent that flashing most ANY firmware left the printer in an unknown state, though many updates. And I always flash using a known good Windows laptop with hex I believe to be an accurate representation of what Prusa intends for the printer (checksums are checked if available)... so I do not think it's been a hardware issue. I've since played with OctoPrint some, and Pronterface some, and the printer's USB port seems stable enough, but I also can't say I'd trust it for long prints. Maybe I have a bad one, or I popped it when connecting a floating notebook ... lol. That'd be a first, but hey, what do I know.
RE: Since upgrading to firmware 3.9.1 my MK3S is completely unreliable
By sheer coincidence, looks like the Pinda probe had gone bad.
Replaced it and am testing again now