Closed DeivaSR closed 3 years ago
Can you try this build and check if it improves things: https://github.com/CR6Community/Marlin/files/5619260/firmware-20201201-000916.zip
Can you try this build and check if it improves things: https://github.com/CR6Community/Marlin/files/5619260/firmware-20201201-000916.zip
I tried this build today. Seems like the SD card corruption is still taking place. Exactly the same as what was reported in the initial bug report.
Sorry, I can't reproduce it. Still assuming for now it doesn't happen on stock hardware. For now I suggest disabling power loss recovery.
@CR6Community/developers Any idea?
Hi Sebastiaan
Regarding power loss recovery.
At a guess, I’d say card corruption occurs when a power outage happens during a write operation. IIRC it uses the SD card to record the current position of the print because writing it to EEPROM is too slow, causing blobs in vase mode. If it powered down while doing an SD card write, well, corruption is possible. But we should check the implementation of the write operation first. I would expect it to open the file, write the data, then close the file at every update; this is going to give as small as possible a window for a power failure to cause corruption. Knowing Creality they probably open the file at the start of the print, update continuously, then close at the end of the print.
If I’m right, it means your failure to reproduce it is due to not powering down the printer as the SD card write is in progress. That’d be tricky to achieve.
Cheers JonB
On 3 Dec 2020, at 17:10, Sebastiaan Dammann notifications@github.com wrote:
Sorry, I can't reproduce it. Still assuming for now it doesn't happen on stock hardware. For now I suggest disabling power loss recovery.
@CR6Community/developers Any idea?
— You are receiving this because you are on a team that was mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
@JonBradbury That would make sense if this is Creality-based, but in this case pretty much everything has been written by us or replaced by a default Marlin implementation and in this case power loss recovery is default Marlin. Perhaps @InsanityAutomation has any idea, he is a bit closer to the fire.
@Sebazzz @JonBradbury Could it be possible that, in some cases (e.g. in my case), after printing completes successfully, the file handle to the PLR file that is being written to the SD card is not closed (thus the PLR file remaining in the SD Card), resulting in the corruption?
I found that when Windows prompts that the SD card has some errors, and I perform a Scan and Fix, the PLR file gets removed by Windows during the fix process. Once I have fixed the SD Card and reinsert it to the printer, performing a power cycle will go through without the "Action required... Printer stopped unexpectedly message"
I will add more info to the bug report on what I mentioned above.
p.s. I am running this on stock hardware.
PLR by nature is abusive to sd cards. The function with a continually open write handle defeats the internal wear leveling of the card. It causes shakey cards to fail very quickly and easily. Limiting writes with a z-change limit is critical in mitigation.
Could it be possible that, in some cases (e.g. in my case), after printing completes successfully, the file handle to the PLR file that is being written to the SD card is not closed (thus the PLR file remaining in the SD Card), resulting in the corruption?
Well, the fact is that the CR-6 touch screen firmware has no option to "release media". But... I have never used that either on other printers and yanked that card out of it without consideration (and without issues) 😀
@DeivaSR: Can you test this:
Closed due to inactivity.
I am currently running the Community Firmware Release 4 Alpha (v2.0.7.1). I also have the latest touch screen firmware installed.
Using a SanDisk Ultra MicroSD HC 16GB card (see photo). SD card is formatted as FAT32, with Allocation Size of 4096.
These are the steps that I used to reproduce the issue. It is reproducible for me.
As boot boot screen comes up, message pops up:
Action Required Printer stopped unexpectedly. Resume previous print? dwin technology Resume Cancel (buttons displayed on screen)
This issue is reproducible even after formatting the SD card or using a different SD card. It is not a showstopper. To workaround this, follow the steps below:
[Edit] [4-Dec-2020] Workaround: These are the steps that can be followed to workaround the issue