Ticket #2322 (new defect)

Opened 9 years ago

Last modified 9 years ago

Sandisk 8GB MicroSDHC locks up under stress

Reported by: skliarie Owned by: openmoko-devel
Priority: normal Milestone:
Component: unknown Version: unspecified
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:


I have an Sandisk 8GB MicroSDHC card that works ok for small write operations (a megabyte or less), but once I start to stress writing buffers (e.g. cat /dev/zero > file), the SDHC locks up hard and following error appears in dmesg:

<6>[ 9479.220000] glamo-mci glamo-mci.0: Error after cmd: 0x4120
<3>[ 9479.220000] mmcblk0: error -110 sending read/write command, response 0x0, card status 0x400900

The kernel is provided by the android-on-freerunner week-2009-44 (cat /proc/version):
Linux version 2.6.29-rc3-mokodev (serdar@…) (gcc version 4.2.1) #1 PREEMPT Sat Oct 24 16:06:35 CEST 2009

To fix that, I had to do the following:
cd /sys/module/glamo_mci/parameters/
echo 5000000 > sd_max_clk
echo 3 > sd_drive

After the change, the write speed is acceptable 2.800 MBytes/s. (using uSD-USB adapter the write speed is 18MB/s).

Please fix the kernel to automatically downrate on such cards. (The previous value of the sd_max_clk was 16666666).

Find attached dmesg of the kernel boot (grep glamo) with the SD card.


dmesg_grep_glamo.log (2.0 KB) - added by skliarie 9 years ago.
Sandisk 8GB

Change History

Changed 9 years ago by skliarie

Sandisk 8GB

comment:1 Changed 9 years ago by skliarie

The "echo 5000000 > sd_max_clk" worked for me when the card was mostly empty. Once I started filling it up, is started locking up again. I then emptied the SD and now again it takes lots of writes to lock up the card (but it still locks up eventually).

I guess this has something to do with nature of SD media that needs to move blocks around so it would be able to erase a full block.

comment:2 Changed 9 years ago by skliarie

I have replaced the problematic "SanDisk? 8GB class 2" microSD card with "SanDisk? 8GB class 4" microSD card and now everything works perfectly.

Write speed is decent 2700KB/s.

Note: See TracTickets for help on using tickets.