A problem has surfaced with release 02_08_00 and some SDcards.
02_08_00 briefly went to MINOR auto-update last night. A problem surfaced immediately when some newer units upgraded. They are unable to initialize the SDcard. MINOR was reverted to 02_07_05 but some users were upgraded and so far there are three reports of problems. I’ve removed 02_08_00 from the server to minimize further occurrences until more is known.
It should be noted that 02_08_00 has been in ALPHA then BETA for two months with no reports of this problem. It seems to be a toxic combination of the new release and certain SDcards that so far are associated with the latest manufacturing run.
As of right now:
-
The failure has only been reported on new units shipped in the last month.
-
I have identified bad SDcards that cause the problem and they seem to fail in older units as well.
-
The BAD SDcards seem to work OK with release 02_07_05.
Will post more information as this develops.
The fix may be as simple as new SDcards. If you are having this problem. Drop a reply to this and check back for the resolution.
UPDATE 12/7/22 4:47pm EST (9:47pm GMT): 5 reports to date.
This problem appears to be an incompatibility between something with the cards used in the latest units (shipped the last month or so) and the SD firmware in release 02_08_00 (core 3.2.0). It doesn’t happen with the new cards under release 02_07_05 (core 2.4.0), and it doesn’t happen with the other cards under release 02_08_00.
The immediate resolution appears to be to migrate 02_08_00 back to the 2.4.0 core. Truth be told, despite the many additions and improvements made to the core in 3.2.0, the only noticeable impact on IoTaWatt was that available heap decreased about 2K.
It will take a few days to test this core switch and then it will start over with the ALPHA users. In the meantime 02_08_00 will not be available for download. Look for a 02_08_01 with the 2.4.0 core.
UPDATE: 12/8/22 8:54am EST (1:54pm GMT)
Further research indicates that the problem is related to the “FAT type” code in the SDcard. Previous cards have used code 0x0B, but these new cards use code 0x04. Both are valid FAT32 types, but the underlying FAT drivers in the newer core (release 02_08_00) do not recognize 0x04 as a supported FAT type. It’s not like there is an ISO organization overseeing these codes. It appears to be an ad-hoc industry thing.
So, I’m testing a version of 02_08 using the older core, and I’ve located the code in the new core that checks the FAT type. Will try to integrate modified core module (not sure can do that cleanly) and probably submit a PR to get the official version changed.
This is just something we will have to learn to live with since there are 1,000 units with these 0x04 cards, which work fine in all other respects.