I have a Samsung S7 running LineageOS 14.1 (=Nougat 7.1). Since purchase I've used it with a 60GB Samsung SD card. I know that fake SD cards are out there, so on this one I bought direct from Amazon as vendor, rather than as middleman, to be more sure it was indeed a Samsung card. The card has always been formatted within the phone itself, and as portable storage.
Recently, a number of errors make me suspect the card could have a fault. An ADB push that failed halfway... a TWRP restore that couldn't read the source file... both with IO error of some kind, etc. The card is probably under warranty, but that's useless unless I can confirm a fault.
The trouble is, I'm not sure how to test whether or not that's so. Most questions about card testing seem to relate to data recovery, and use fsck which tests the file system rather than sector-by-sector testing the card itself as a storage device (the approach wouldn't quite be the same for these). They don't provide an automated way to test the full card itself. I don't want to plug it into Windows for testing, since that doesn't actually test if it's good in my phone- I'd like to test it in the phone itself. The one test app I've found, "SD Card Test Pro", limits testing to a 4GB file on FAT32, but there isn't an option in Lineage to format a portable SD card with anything else.
What is my best way to test it?
Ideally I'd like a good quality test, a bit like memtest or other memory testers - a way to try and fill the card, and report any "difficult" sectors that didn't write first time, or any that don't read/verify correctly - and then repeat this 2 or 3 times with different/random bit patterns to catch "hard to get" issues which depend on previous RW data.
I'm happy to run in terminal/adb rather than an app, if it's easy to do.
But I'll settle for anything that's generally seen as a good test to catch and identify faulty cards.
What should I do?