Ticket #2322 (new defect)
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: | |
| Reproducible: |
Description
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.
Attachments
Change History
Changed 3 years ago by skliarie
- Attachment dmesg_grep_glamo.log added
comment:1 Changed 3 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.

Sandisk 8GB