Known issue: unsafe to use external SD card slot
-
Following an investigation of a user report, I am sorry to report that in all versions of RepRapFirmware, the firmware may crash or hang under the following conditions:
- An external SD card is in use; and
- The internal SD card is simultaneously accessed; and
- One access is from Duet Web Control (or a substitute) or from an FTP connection, and the other is a file being printed from an SD card, or from another input channel such as USB or PanelDue.
In RRF 2.x and RRF 3.0, the only likely scenarios are printing or simulating from an external SD card, and simultaneously doing one of the following: loading DWC, refreshing a file list in DWC, uploading or downloading a file in DWC, or using an FTP client to access the internal SD card.
In RRF 3.1 and later with DWC 3.1 or later, just having DWC connected to a Duet while printing or simulating from external SD card can be enough to trigger this problem.
Therefore we advise users of Duet/RRF not to use external SD cards for the time being.
We have identified the cause (lack of thread safety in the SD card software stack when using different SD card channels) and fixed it in the RRF 3.3 source code. We will shortly back-port the fix to the RRF 3.2 code so that we can make it available in a 3.2.x patch release.
Please accept my apologies for any inconvenience that this has caused or will cause you.
-
@dc42 Thanks for letting us know! This is very helpful, as I use the external SD card occasionally, and I have had some strange issues with it that I never looked into.
It seemed to just stop and become unresponsive at random times during the print.
Thanks again!
-
@dc42 I've ported and tested my build for RRF2.x.
I printed very long print (55 hours) from external SD card and it works very well even if I want to use DWC in this same time.If I come across any bugs I"ll let you know