[maemo-users] N900 microSD card I/O errors and corruption

From: Eero Tamminen eero.tamminen at nokia.com
Date: Wed Mar 30 19:24:35 EEST 2011
Hi,

On 03/29/2011 06:32 PM, ext Paul Hartman wrote:
> I've got three microSD cards. They work fine on my PCs, I've done
> read/write tests and data is not corrupted. But, in my N900, two of
> the three are not stable, leading to corruption.

Does it afterwards show as corrupted on the PC too?

> Transcend 8GB class 6 - bad
> Adata 16GB class 10 - bad
> Sandisk 16GB class 2 - good
>
> I suspect maybe the N900 isn't providing enough voltage to the SD card
> and some cards are less tolerant of low-voltage situations than
> others. Does anyone know if it's possible to tell what voltage it is
> using or change the voltage of the SD card in N900?

You aren't by any chance changing the cards by taking the back cover
out without powering off your device first?

Opening the back cover does an emergency shutdown on disks in case
user rips battery out next (that's apparently a common way to get
"phone not reachable" message back to your boss/wife/dog when they
call you, at least in some parts of the world).

If there were writes being done to the card at that time, it may
corrupt.  Power off your device first if you want to be sure you
can switch the card safely.

Also, the back cover has a magnetic latch that's used for detecting
when it's opened. If you have something magnetic next to your phone,
it may cause phone to think that back cover is being opened. See:
	https://bugs.maemo.org/show_bug.cgi?id=8235#c15


	- Eero

> Or if there's some other explanation... maybe I have bad luck, maybe
> the cards are bad but only the N900 can expose it.
>
> dmesg shows things like this:
>
> [33713.501464] mmcblk1: error -110 sending read/write command,
> response 0x900, card status 0xe00
> [33713.501495] mmcblk1: error -110 transferring data, sector 27271168,
> nr 8, card status 0xc00
> [33713.570129] end_request: I/O error, dev mmcblk1, sector 27271169
> [33713.570159] Buffer I/O error on device mmcblk1p4, logical block 0
> [33713.570159] lost page write due to I/O error on mmcblk1p4
> [33754.895355] mmcblk1: error -110 transferring data, sector 30941184,
> nr 16, card status 0xc00
> [33754.895690] end_request: I/O error, dev mmcblk1, sector 30941185
> [33754.895721] Buffer I/O error on device mmcblk1p4, logical block 458752
> [33754.895751] lost page write due to I/O error on mmcblk1p4
> [33754.895812] end_request: I/O error, dev mmcblk1, sector 30941192
> [33754.895843] Buffer I/O error on device mmcblk1p4, logical block 458753
> [33754.895843] lost page write due to I/O error on mmcblk1p4
> [33755.504272] mmcblk1: error -110 transferring data, sector 31203328,
> nr 16, card status 0xc00
> [33755.504638] end_request: I/O error, dev mmcblk1, sector 31203329
> [33755.504669] Buffer I/O error on device mmcblk1p4, logical block 491520
> [33755.504699] lost page write due to I/O error on mmcblk1p4
> [33755.504760] end_request: I/O error, dev mmcblk1, sector 31203336
> [33755.504760] Buffer I/O error on device mmcblk1p4, logical block 491521
> [33755.504791] lost page write due to I/O error on mmcblk1p4
> [33756.204315] mmcblk1: error -110 sending read/write command,
> response 0x900, card status 0xe00
> [33756.204345] mmcblk1: error -110 transferring data, sector 31465472,
> nr 16, card status 0xc00
> [33756.268493] end_request: I/O error, dev mmcblk1, sector 31465473
> [33756.268524] Buffer I/O error on device mmcblk1p4, logical block 524288
> [33756.268554] lost page write due to I/O error on mmcblk1p4
> [33756.268585] end_request: I/O error, dev mmcblk1, sector 31465480
> [33756.268615] Buffer I/O error on device mmcblk1p4, logical block 524289
> [33756.268615] lost page write due to I/O error on mmcblk1p4
> [33756.968139] mmcblk1: error -110 sending read/write command,
> response 0x900, card status 0xe00
> [33756.968200] mmcblk1: error -110 transferring data, sector 31727616,
> nr 16, card status 0xc00
> [33757.027191] end_request: I/O error, dev mmcblk1, sector 31727617
> [33757.027221] Buffer I/O error on device mmcblk1p4, logical block 557056
> [33757.027252] lost page write due to I/O error on mmcblk1p4
> [33757.027313] end_request: I/O error, dev mmcblk1, sector 31727624
> [33757.027313] Buffer I/O error on device mmcblk1p4, logical block 557057
> [33757.027343] lost page write due to I/O error on mmcblk1p4
> [33757.727172] mmcblk1: error -110 sending read/write command,
> response 0x900, card status 0xe00
> [33757.727203] mmcblk1: error -110 transferring data, sector 31989760,
> nr 16, card status 0xc00
> [33757.786773] end_request: I/O error, dev mmcblk1, sector 31989761
> [33757.786804] Buffer I/O error on device mmcblk1p4, logical block 589824
> [33757.786834] lost page write due to I/O error on mmcblk1p4
> [33757.786865] end_request: I/O error, dev mmcblk1, sector 31989768
> [33758.486755] mmcblk1: error -110 sending read/write command,
> response 0x900, card status 0xe00
> [33758.486816] mmcblk1: error -110 transferring data, sector 32251904,
> nr 16, card status 0xc00
> [33758.549682] end_request: I/O error, dev mmcblk1, sector 32251905
> [33758.549774] end_request: I/O error, dev mmcblk1, sector 32251912
> _______________________________________________
> maemo-users mailing list
> maemo-users at maemo.org
> https://lists.maemo.org/mailman/listinfo/maemo-users
>

More information about the maemo-users mailing list