SD Card Not Found Mystery

Where can these be found?
This is now happening to me on a board that never did it before and it’s bothering me.

EDIT* Well, put this in the weird column.
I uploaded an old 6.3 version of mine (likely has some modifications, like OLED stuff but that’s about it) but with the proffieboard_default_config. I only edited the font name to something i actually have on the SD, with a gentle boot.wav.
It did not do SD card not found at all. 50 boots.
I went right back to where it was before at 6.7 with a custom config, where I was getting the error within 10 boots consistently…it’s not doing it. At all. 50 boots.

My gut says some memory somewhere had a bug/corrupt/issue and the “sector” got overwritten by the older version, and now it’s ok??

Has this anything to do with the way the SD card now gets the install date written and checked at boot? That is relatively new.

These are questions for @profezzorn.

Hi Brian,
In case you haven’t found them yet, the incrementally older ProffieOS versions can be found here:

I have to say I’m having the issue now on pretty much every board I install, even though I’m only using 5.9. I’ve also recently had one that sometimes exhibits a long delay (a few seconds) between pulling the kill key and playing the boot sound effect. Tried re-flashing the board and replacing the SD card on that one which I thought had fixed it for a while but then it happened again. The saber works fine apart from that.

I’ve no idea if these two issues are linked, but my gut tells me they are - albeit with the caveat that my knowledge on the finer points of this stuff is pretty limited.

So I’ve had some luck switching to kingston canvas select plus sd cards today. 0 error messages and 40 boots in. I also was able to finally make a new config as well but I was able to copy the old config to a new sd card for the first time and have it read with the kingston. So I don’t know what fixed the issue for me for sure but it’s hard to imagine I have 4 new sandisk ultras from different batches that are all not running to spec. I’m pretty new to this but I’m happy to share any info requested.

Just to add this to the mix.
How much would unreliable 3.3v regulators play into this?
As in if less than 3.3V were available at boot sometimes, but enough was there to run the CPU. Not sure that’s possible as I don’t know if they are all-or-nothing types of failures.

Since this issue seemingly mostly coincides with post-pandemic chip production, and possibly certain board manufacturing batches, could components like the 3.3V regulator factor in?

That would depend on the SD card.
If the voltage was low, some SD cards might still work fine.

1 Like

So, I just got back to try to find/fix this SD mystery.
I have a board which have exhibited this problem in the past, but now when I try to replicate it again, I can’t seem to do it. (Tried 50+ times)

I’m not sure if this is good news or bad news though… either:
a) … the problem is fixed in ProffieOS 7.x, maybe because the save code won’t corrupt directory entries anymore, if so: WOOT
b) … something in my setup has changed, and I can’t reproduce the problem anymore, if so: BOOO

But, that leads to an interesting question: For the people who have this problem; does using the latest code from github fix it?

I have mine, I’ll give it a try tomorrow and report back.

It does appear OS7.x resolved the issue for my board too. Tested a dozen times and the SD is recognized each time.

Went back to OS6.7 and also tested OS5.9, with the SD that came from KR with the board 3 out of 5 times I connect to Serial Monitor I get.

Failed to mount SD card.
I2C init..
Motion setup ... done.
Failed to mount SD card.
Failed to mount SD card.
Amplifier off.
Failed to mount SD card.
Welcome to ProffieOS, type 'help' for more info.
ACCEL: {-1.84, -4.00, 1.01} diff={-1.54, -3.12, 0.67} v=3.55 fgl=0.12 accel_={-0.38, -0.89, 0.32} clear=0 millis=6203 swing_speed=22.19 mss={-0.75, -0.07, -0.34} stab=0
EVENT: Clash millis=6203
Booster off.

The other 2 times I get

Sdcard found..
blade= 0
WS2811 Blade with 97 leds.
Simple Blade
Failed to open: presets.ini
Failed to open: presets.tmp
Scanning sound font: TeensySF done
humstart=1890.00
Activating polyphonic font.
version=2.00
swingsensitivity=450.00
maximumhumWelcome to ProffieOS, type 'help' for more info.
Motion disable.
Battery voltage: 0.17
I2C sleeping..

If I put the same SD in a different saber it works fine and if I use an SD from a different saber it also appears to work fine, so it seems a combination of the board and the SD that can from KR together on OS5 or OS6 result in the SD card not being seen but on OS7.x this goes away.

I’ll hold onto the board and SD to test further if needed.

I’m dealing with this today. On OS 6.7 via serial monitor just after flashing, I get SD Failed to Mount.

I re-flashed with OS 5.9, no issue. I then re-flashed with OS 6.7, SD Failed to Mount in Serial Monitor. I then unplugged the proffieboard from computer, then plugged it back in, opened serial monitor, and I have full functionality. Haven’t tried it on battery yet, getting ready to install this saber for my Monday Live Video.

Have batteries been looked at on this? just thinking maybe a particular battery type might be slow to provide full voltage or something?

Some people have tried multiple batteries (with no indication that the battery made any difference), but it hasn’t been ruled out definitively.

The only board that ever exhibited for me did it without being installed (no battery), just connecting to Serial Monitor the SD is not found, attempt same SD in other boards and it works every time. In testing today I swapped with my test saber and the SD from faulty board worked fine in test saber and the old SD from test saber worked fine in faulty board. So, at least in my experience it seems like a combination of the specific board, specific SD (that shipped with it) and OS. No other board has ever exhibited for me (13 different sabers) and several others I installed and sold. So for this board battery was never in the equation.

@profezzorn When did the latest OS version go up in Github? I finally had it happen twice today loading in a 5.7(9?) config and fonts using 6.7. I’ll download the newest master and try it again.

The battery in my case is NOT the culprit since I pull the battery when running code and it’s fully charged. Same w the process I load the SD. I pull the SD, empty it, clear the trash, run SD Card Formatter, reload the fonts, then since it’s a Mac finish off clearing out the duplicate ghost files.

The GitHub master is always the latest development version, which becomes beta and then a full official release after testing.
Rinse and repeat.

Just putting this back out there @profezzorn. Is it possible these changes started all this SD missing stuff somehow? (hope not)

Doesn’t seem likely, since some people have reported this problem with the default_proffieos_config.h, which doesn’t use your prop.

Regardless of prop used, I thought maybe something about the moving startup calcs in ProffieOS.ino:

"I think what you need to do is to move the calculationsfor PROFFIEOS_STARTUP_DELAY (

#if PROFFIEOS_SD_STARTUP_DELAY > CONFIG_STARTUP_DELAY

) further up in ProffieOS.ino (before the prop file is included), then you can use PROFFIEOS_STARTUP_DELAY which will have the right delay value."

I don’t think so;

  1. it shouldn’t change anything
  2. we’ve made several attempts to bisect the problem by trying older/newer versions of the code to see what works and what doesn’t, and we’ve never found a clear culprit that way.

It seems more and more likely that this problem is entirely caused by sd card corruption caused by having more and more saving to the sd card. So far, I have no reports of this still happening on OS7 with the new saving code, but we’ll find out for sure once we go to alpha/beta testing.

Just a note, on my only board that experienced this from KR, it presented with the default OS and config without any .ini files or .tmp files ever written. The board came as a pair with my Thrawn Hunters. As soon as I received the boards and plugged into Serial Monitor (before ever wiring or anything) it was not able to see SD on one board, the exact same SD unchanged in 2nd board worked fine every time. It was only this one board that presented but it had no changes, uploads or saved files.

I wonder if there might be a design or manufacturing error with one of the components on the problematic boards, such that components that were made in a particular batch all experience the problem? That wouldn’t necessarily explain why os version seems to have an effect, but if it’s a problem with the silicon itself…. I guess it’s conceivable that there could be weird effects that seem to have no explanation. Like suppose a particular block of memory on the cpu is bad, and with os 6.whatever the sd card code just happens to be stored there, so when the cpu tries to access it, it gets an error and can’t see the sad card. But in os 7, because it is x bytes larger than 6.?, the sd card code gets shifted to a good block of memory and thus the problem does not manifest. I suppose this could be tested by taking the code for the offending os version, and adding something to it to change its size to cause a shift in its position in memory. Just spitballing here.