My (external) SD card is being weird.
I'm in TWRP, since a Lineage OS dirty flash (one without a wipe first) bricked my phone. Using the TWRP file manager, or the terminal, it doesn't matter, moving files to it fails. Copying files to it fails. Deleting files from it fails. Formatting it fails. mkfs.ext2 from the terminal fails (vseek error). mkfs.fat doesn't print any error, it may be returning a nonzero exit code but I can't check. I've mounted and unmounted it multiple times, it doesn't seem to help.
I've checked, and there's no hardware switch on the external SD card for read-only. Since it's vfat, I've tried fsck.fat to no avail. Mounting it as rw didn't really do anything, everything still fails (it was still mounted as rw afterwards, so it didn't switch into read-only mode). All of that was tested from the terminal.
I'm not sure what's going on. This is a perfectly reasonable SanDisk Ultra MicroSD card, that has worked before. Here's the fsck output (I hit backspace on the first option, sorry for the
~ # fsck.fat /dev/lock/mmcblk1p1 fsck.fat 3.0.28 (2015-05-16) 0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1^H2 FATs differ but appear to be intact. Use which FAT ? 1) Use first FAT 2) Use second FAT ? 1 Reclaimed 7 unused clusters (229376 bytes). Perform changes ? (y/n): y /dev/block/mmcblk1p1: 310 files, 7718/973584 clusters
My particular phone is a Samsung Galaxy Note 3, Verizon variant. I just rooted it and want to try a clean flash of Lineage OS but I need the ROM on an SD card for that. Either that or I can start a Windows VM to flash a ROM like that.
Edit: Lineage OS works. I was able to install 15.1, Android Oreo 8.1. External SD card still doesn't allow writing, even from inside the OS. Still shows the exact same filesystem.
Still looking for an answer to this question. I'd like to use my 32GB SD card please.