I did a bit more testing to see if I could nail down the failure pattern a bit. Here’s what I found.
- Logging seems to consistently work iff sd_bench works
- When sd_bench fails, it first fails with a write error, and subsequent attempts return a failure to read the benchmark file. When inspecting the sd card with a pc afterwards, there is a benchmark.tmp file on it.
- Rebooting sometimes fixes it and sometimes breaks it, but a repeating tests back to back tend to give the same results until it is rebooted. However, this doesn’t seem to hold over longer time periods, and/or actual flights, and “restart until it works, then fly” still yielded no log at the end of the flight.