Marlin: EEPROM checksum mismatch

Created on 14 Dec 2016  路  9Comments  路  Source: MarlinFirmware/Marlin

Today, dec 14, after updating to latest codes (I was behind a couple of weeks) i now get error on M501

Send: M501
Recv: Error:EEPROM checksum mismatch
Recv: echo:Hardcoded Default Settings Loaded

I tried to save, reset, save again etc, nothing works.

Most helpful comment

@MoonshineSG @Kaibob2
@thinkyhead has prepared a different solution for resolving it.
https://github.com/MarlinFirmware/Marlin/pull/5524 (Report EEPROM data size, not final index)

All 9 comments

I can confirm. Do you have set #define EXTRUDERS 2 or any other value than 1?
If so, try setting #define EXTRUDERS 1 this fixed the whole EEPROM behaviour in my test right now.
It would be nice if you could confirm this.
I suppose this happened somewhere here #5448
Maybe @thinkyhead can take a look at it.

This in configuration.h

// This defines the number of extruders
// :[1, 2, 3, 4]
#define EXTRUDERS 2

// Enable if your E steppers or extruder gear ratios are not identical
//#define DISTINCT_E_FACTORS

results in

2

on connection with Pronterface.

This in configuration.h

// This defines the number of extruders
// :[1, 2, 3, 4]
#define EXTRUDERS 1

// Enable if your E steppers or extruder gear ratios are not identical
//#define DISTINCT_E_FACTORS

results in
1
on connection with Pronterface.

@Kaibob2 yes, the error occurs with 2 extruders and once I change to #define EXTRUDERS 1 the EEPROM is loaded without error.

This is what I expected
@thinkyhead Would you mind taking a look at your EEPROM refinement. Like it is now it's a PITA to print with any other extruder than E0 :(

It would also be nice to have the ability to hardcode the PID values for each extruder.
And the home offset would also be a candidate for hardcoding it.

Until this is fixed i reverted to configuration_store.cpp V27

@MoonshineSG @Kaibob2
I also confirmed it when EXTRUDERS 2 and disabled DISTINCT_E_FACTORS.
And this is quick fix.
https://github.com/esenapaj/Marlin/commit/7f7162005b7d377a74cf25aca9f0da16e8500972~~

EDIT: This method cames of a bad stock.

@esenapaj Tested right now. Works perfect. All values are stored and recovered after reset.
Good job!! Please make a PR out of it that it get's merged asap.

@MoonshineSG @Kaibob2
@thinkyhead has prepared a different solution for resolving it.
https://github.com/MarlinFirmware/Marlin/pull/5524 (Report EEPROM data size, not final index)

updated and the fix works.
Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ahsnuet09 picture ahsnuet09  路  3Comments

otisczech picture otisczech  路  3Comments

ceturan picture ceturan  路  4Comments

W8KDB picture W8KDB  路  4Comments

Bobsta6 picture Bobsta6  路  3Comments