# Font directory not found, SD card not found

**URL:** <https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333>\
**Category:** Proffieboards\
**Created:** [May 4, 2023, 12:16am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333 "2023-05-04T00:16:15Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 4, 2023, 12:16am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/1 "2023-05-04T00:16:15Z")

</div>

One in every 15-20 boots, the saber will give a “font directory/sd card not found” warning. Rebooting the saber fixes this, and aside from this it functions normally. This is the third board I have installed, out of 70-100, with this issue. Notably, it is somewhat consistently booting with the error when left to sit for a day–as in, the first boot up of the day is usual with the error, and then after that it’s every 15-20 boots.

Running: OS7. Have tried OS6.9, and as far back as OS5.9. It is the same on each OS.  
Battery: fully charged  
Tried: multiple SD cards (from the saber armory) all formatted to FAT32  
Fonts: Default and custom fonts  
Config: Various config files including default config files

What do I check next to try and solve?

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 4, 2023, 1:37am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/2 "2023-05-04T01:37:44Z")

</div>

A few months ago, I was debugging a problem very much like this.  
However, the issue I found ended up being sd card corruption, and that issue should be fixed in ProffieOS 7.x, or at least severely reduced.

Now, there are a bunch of things we can do to try to figure out what’s going on here, but since the problem is not happening very often, it’s going to be somewhat time consuming.

1. we could try giving the card more time during startup to see if that helps.
2. we could try turning off all code that writes to the SD card.
3. probably other things that I haven’t thought of yet…

Alternatively, I could trade your board and SD card for one of mine, then I could try debugging it with a logic analyzer and various other tools I have available.

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 4, 2023, 3:31pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/3 "2023-05-04T15:31:45Z")

</div>

I spoke with Khal about the OS7.x update, though it didn’t change the frequency. I’m good to troubleshoot it–it’s in a complex chassis and I’d love to fix it without removal if at all possible.

1. How would we go about giving it more time during startup?

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 5, 2023, 3:27am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/4 "2023-05-05T03:27:09Z")

</div>

Try putting this in your config file:

```auto
#define CONFIG_STARTUP_DELAY 1000

```

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 5, 2023, 9:43pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/5 "2023-05-05T21:43:15Z")

</div>

Updated. Issue after 10th reboot

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 5, 2023, 9:53pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/6 "2023-05-05T21:53:45Z")

</div>

“SD card not found” can mean a few different things, there are a few steps involved in starting the SD, and it might be helpful to know which of these steps actually fail…

Unfortunately most of that code is in the arduino-proffieboard plugin, so it’s a little more involved to change it, but I’m going to see what I can do.

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 5, 2023, 11:17pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/7 "2023-05-05T23:17:28Z")

</div>

I appreciate it!

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 8, 2023, 12:52am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/8 "2023-05-08T00:52:10Z")

</div>

Ok, I’ve added a new define on github master called `VERBOSE_SD_ERRORS`.  
With this define, ProffieOS will use talkie to tell you the actual error code when the sd card doesn’t work. It’s not well tested, so please let me know if you have nay problems with it. (Or if you need help getting the latest code from github.)

The error code might not tell us exactly what happened, but it should narrow it down a bit I hope.

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 8, 2023, 6:42pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/9 "2023-05-08T18:42:40Z")

</div>

Done. It says “SD CHECK SIXTEEN SD CHECK SD CHECK SD”. Something along those lines

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 8, 2023, 7:09pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/10 "2023-05-08T19:09:54Z")

</div>

Well 16 is F\_ERR\_CARDREMOVED, so that tracks, now I just have to check which conditions can cause that particular error code.

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 8, 2023, 8:24pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/11 "2023-05-08T20:24:54Z")

</div>

I think the next step will require me to make a beta version of of the arduino-proffieboard plugin…

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 8, 2023, 9:25pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/12 "2023-05-08T21:25:22Z")

</div>

Let me know what’s needed on my end!

Cheers

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 9, 2023, 5:54am UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/13 "2023-05-09T05:54:04Z")

</div>

Ok, not sure if this is the easiest way to test this or not…

I’m attaching a new, and highly experimental libstm32l433.a file.  
You should already have an libstm32l433.a file somewhere in your arduino15 folder. (Which I think you can find by going to arduino → preferences)  
The idea is to replace that file with this one, upload and see if it helps.

[libstm32l433.a](https://crucible.hubbe.net/uploads/short-url/7eWO7xvroKR4Ur95GXNJ4sh4D70.a) (2.4 MB)

Please let me know if you need more explicit directions, or if maybe I need to actually do this another way to make it simpler.

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 11, 2023, 4:33pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/14 "2023-05-11T16:33:47Z")

</div>

found the file and replaced. Frequency of SD error has increased

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [May 11, 2023, 6:46pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/15 "2023-05-11T18:46:19Z")

</div>

Interesting and weird.  
I’ll take a look and see what else I can come up with.

---

<div class="post-metadata">

**Author:** ![davinium](https://crucible.hubbe.net/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@davinium](https://crucible.hubbe.net/u/davinium)\
**Post date:** [May 11, 2023, 10:55pm UTC](https://crucible.hubbe.net/t/font-directory-not-found-sd-card-not-found/3333/16 "2023-05-11T22:55:05Z")

</div>

Frequency went from approximately 3-4% to 7-8%. In 100 cycles, 7 were SD error. There was no correlation between when each happened. Some were two in a row, some went 15 cycles without. Zero pattern for failure, but a near double increase for rate of failure with new libstm file
