Hi,
There was an issue reported by Cliff Brake some time ago regarding
Sandisk 2Gb SD card behavior.
(http://www.mail-archive.com/linux-mmc@xxxxxxxxxxxxxxx/msg00982.html)
It seems I have similar issue with Sandisk 2Gb microSD:
CMD18 read last 8 blocks available (512 bytes each). After the reception
of last bytes of last block cmd12 is send to stop transmit. But while
command is send card continue transmit. And the first byte received is
data error token with valid value 0x8 - out of range. Then 0fxff follows
and 8-th byte should be response to cmd12. The problem is: 2Gb sandisk
card send 0xc2 and refuse accept any other commands - e.g. it responds
with 0x4 to subsequent cmd17. But other card (no name) responds with 0
instead of 0xc2.
8 ff ff ff ff ff ff ff c2 3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [Sandisk (SU02G)]
8 ff ff ff ff ff ff ff 0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [other card (SD02G)]
I can catch this condition, but it's not clear how to resume - card
keeps sending 0x4 (illegal command) response.
Is this a known issue? I'm using rather old 2.6.19 code (with some
backports form upstream), but I didn't find proper fix in later code.
Workaround I use at the moment - report smaller disk size - violating
block is not read and card can be mounted (m.b. with warnings related to
cheat with size).
Any help would be highly appreciated!
--
Thanks,
Pavel Kiryukhin
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html