-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Crash when Saving Settings #22524
Comments
The same problem temporaly exists with my Ender 5 with BTT SKR mini E3 V2. |
Like to see its not just me then! |
For some extra output when loading / saving EEPROM, define in your configuration: #define DEBUG_EEPROM_READWRITE
#define EEPROM_CHITCHAT Then you can connect via serial console, change some settings, and try |
Hello everyone. Displaymode: Marlin Text Action: Z-Leveling with wizard to set the offset of the BL-Touch > Successful Error with high probability so reproducible (occurred here with 4 of 5 attempts) Other variant, which does not create however more the message for logging: Action: Start print job
Error reproducible with relative certainty (occurred here on 5 out of 5 attempts). I hope I can help with this information in troubleshooting ;) |
Try building Marlin using the |
Another thing to test: If you save settings using |
I have an SKR Mini E3 V2 here but it uses the GD32F103RET6 processor, so I may not be getting the same results as you are seeing. So far, just powering the board over USB and using the config supplied by @rstalde (plus |
I've had this a few times since we switched to an STM32 environment - but never had a chance to debug or gather more data. I always save via M500 from USB - sometimes it works, sometimes it causes a response like:
I also have the SKR Mini E3 v2 - but not sure what chip it is - I guess the only way I can tell is via the printing on the MCU? I don't believe this is a very recent problem - as I saw it early on after switching maple -> stm32 - but figured I'd done something weird to cause it. |
One strange symptom on this board is that when I connect to USB with a serial console the UI becomes very sluggish. As soon as I disconnect the serial console it returns to normal. |
I don't see this on mine - but I have it powered normally - ie not via USB... |
Hi guys, Result: I hope I could help with the troubleshooting ... Addendum: I normally don't use a computer at the USB interface of the mainboard, so that I wouldn't notice the indicated performance drops. |
The cause for sluggish screen drawing / encoder response is still unknown. It's not specifically related to a serial console connection, nor directly related to playing beeps, so I'll have to do more testing to see where the firmware is spending most of its time. |
If you need more tests from my side, ask me ... |
Hello All, The following lines have been commented out: // Onboard I2C EEPROM //RST commented out for test.
//#if NO_EEPROM_SELECTED
// #define I2C_EEPROM
// #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
// #undef NO_EEPROM_SELECTED
//#endif Test: Result: I then took a look at the datasheet of the used EEPROM:
The IC is operated with 3.3V, so for 100kHz. I hope I could help with this information. |
Hi guys Has anyone been able to determine with which frequency is written to the chip? |
I think I'm getting my mainboards confused... I actually think the BL24CXX is for the Creality v4.2.x boards, not the BTT boards sigh... |
@rstalde — With those lines in the pins file commented out, does the firmware end up picking and using a different type of EEPROM, such as one with an SPI interface or flash-based EEPROM emulation? From the comment above, the pins file wants to use The firmware generally shouldn't just crash but possibly something is running a long loop and failing to reset the watchdog, or maybe i2c is getting hung up, as i2c is an interrupt-driven interface. Or maybe there is a conflict, which could be revealed using I'll quickly compile your configs with those lines commented-out in the pins file, and see what EEPROM code ends up getting included, if any. Maybe the OP @Doormat1 would like to help do some troubleshooting also. |
I see… With those lines commented we get this instead: #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE (0x800U) // 2KB
#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE // 2KB
#endif |
As a troubleshooting test, try setting the @thisiskeithb — Are we sure that BTT SKR Mini E3 V2 (#18088) always comes with a 4K EEPROM with i2c interface? |
As far as I know, but @bigtreetech will need to confirm. The two SKR Mini E3 V2 boards I have here (genuine STM32 RE and RC variants) work with the default EEPROM settings from the pins file. |
@thinkyhead, |
@thinkyhead, For testing, I used the following gcode: M500 Result: 2 test runs, No error! :) :) :) Second Test: The built-in EEPROM is an AT24C32 (position U12 between TFT- and Neopixel connector) So this looks like a possible solution for now. |
Hi guys |
Thinkyhead: Would forcing a 2K EEPROM size for everyone be OK? @bigtreetech: Are there different EEPROM chips/sizes on the SKR Mini E3 V2 boards? |
On my board is a 32 K-Bit (4 K-Byte) EEPROM ... |
Just wanted to chase this up and see what the current consensus is? The difficult part is, I haven't reproduced it in my system since - so it may well be an intermittent issue. |
Don't think it is incidental, I have the same issue but didn't have time yet to flash a new instance with the adjusted EEPROM size. I started to notice it a week ago when I finally upgraded Marlin to 2.0.9 cannot remember this issue with 2.0.7 Edit: Changing EEPROM size to 2KB -> Nothing changed, still crashing while saving EEPROM mid print. (Even got M112 printed halted errors) I enabled the EEPROM debug config and got some inconsistent errors back.
Second try:
Third try:
Fourth try:
With all tries I only changed the heating temperature of the preheat constants, so none of the mentioned fields where changed. Do you want me to open a new issue? However specs, the expected, actual behavior & reproduce steps are the same. |
Hi @ChrisToxz, I am not the programming expert, but I know relatively well with hardware ;). |
It would also be helpful to know:
|
Hello people, // Define pins for EEPROM #ifndef I2C_SCL_PIN Compiled with Visual Studio Code V. 1.60.0 with "Auto Build Marlin". The first test (25 times M500 , G4 P1000 , M31) ran without errors. If this was the reason for the error, then BTT may sponsor me the next upgrade for the trouble ... (nonsense, joke ;)) PS: |
Hello people, The implementation in the PINS file currently looks like this: // Onboard I2C EEPROM I think this solves the originally reported problem. |
This also worked for me.
|
Today I tested the brand new version 2.0.9.2 in the configuration described above (BTT-SKR Mini E3 V2.0 in Ender 5). |
Same problem BTT-SKR Mini E3 V2.0 on an Ender 3 Pro. |
@GeorgeDLake, you can use the file "..\Marlin\src\pins\stm32f1\pins_BTT_SKR_MINI_E3_V2_0.h" from the archive "BTT-E5-V2092.zip" (See my post from October 3 and previous). Please leave a comment here (and also other people) if this solved the problem, as the error may be very sporadic and cannot be reproduced reliably. |
This looks to have solved it for me. I've 2 x Ender 3 Pro running SKR Mini E3 V2.0 and TH3D's Unified v2.34a firmware based on Marlin 2.0.9.1 and was having this problem constantly, specifically when saving Z offsets the 2nd time while priniting. No issues now on either printer after a handful of prints. |
See #22919. |
#22919 was merged. Closing. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Did you test the latest
bugfix-2.0.x
code?Yes, and the problem still exists.
Bug Description
When I change something like my z offset value mid print, if I save the change to eeprom using the save settings command on the menu it causes my printer to restart and loads up the firmware values rather than the previous eeprom values.
I am using an skr mini e3 v2 board and have used the bugfix code.
Bug Timeline
New
Expected behavior
Values are saved and the printer continues on
Actual behavior
Printer restarts and loads firmware values not eeprom
Steps to Reproduce
Babystep the printers first layer,
click save settings,
printer dies.
Version of Marlin Firmware
Bugfix 2.0.x
Printer model
Ender 3 pro
Electronics
SKR Mini E3 v2
Add-ons
No response
Bed Leveling
ABL Linear grid
Your Slicer
Cura
Host Software
OctoPrint
Additional information & file uploads
Marlin.zip
The text was updated successfully, but these errors were encountered: