The SD slot on the Lenovo X220 is doesn't seems to work on
Linux-3.3.0-rc2. I haven't use SD for a while, so don't know which
linux version will work on the X220.
# cat .config
CONFIG_MMC=m
CONFIG_MMC_DEBUG=y
CONFIG_MMC_CLKGATE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
# lspcpi -v
0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 04) (prog-if 01)
Subsystem: Lenovo Device 21da
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f1500000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 00
Kernel driver in use: sdhci-pci
Kernel modules: sdhci-pci
# dmesg
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
sdhci-pci 0000:0d:00.0: found 1 slot(s)
sdhci [sdhci_add_host()]: mmc0: Auto-CMD23 unavailable
sdhci: =========== REGISTER DUMP (mmc0)===========
sdhci: Sys addr: 0x00000000 | Version: 0x00000502
sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci: Present: 0x01f70000 | Host ctl: 0x00000000
sdhci: Power: 0x00000000 | Blk gap: 0x00000000
sdhci: Wake-up: 0x00000000 | Clock: 0x00000000
sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci: Caps: 0x21e832b2 | Caps_1: 0x00008073
sdhci: Cmd: 0x00000000 | Max curr: 0x00000040
sdhci: Host ctl2: 0x00000000
sdhci: ===========================================
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc0: 0 bytes transferred: -84
mmc0: (CMD12): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
mmcblk0: error -110 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
mmcblk0: error -110 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD13): 0: 00800b00 00000000 00000000 00000000
mmc0: starting CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
mmcblk0: error -110 sending stop command, original cmd response 0x900,
card status 0x800b00
mmcblk0: error -84 transferring data, sector 0, nr 32, cmd response
0x900, card status 0xb00
mmcblk0: retrying using single block read
mmc0: starting CMD17 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
mmc0: 512 bytes transferred: 0
mmc0: starting CMD17 arg 00000001 flags 000000b5
mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
Any help will be very much appreciated.
Thanks,
Jeff
Hi, adding linux-mmc@ to the thread,
On Mon, Feb 06 2012, Jeff Chua wrote:
> The SD slot on the Lenovo X220 is doesn't seems to work on
> Linux-3.3.0-rc2. I haven't use SD for a while, so don't know which
> linux version will work on the X220.
>
>
> # cat .config
> CONFIG_MMC=m
> CONFIG_MMC_DEBUG=y
> CONFIG_MMC_CLKGATE=y
> CONFIG_MMC_BLOCK=m
> CONFIG_MMC_BLOCK_MINORS=8
> CONFIG_MMC_BLOCK_BOUNCE=y
> CONFIG_MMC_SDHCI=m
> CONFIG_MMC_SDHCI_PCI=m
> CONFIG_MMC_RICOH_MMC=y
>
>
> # lspcpi -v
>
> 0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 04) (prog-if 01)
> Subsystem: Lenovo Device 21da
> Flags: bus master, fast devsel, latency 0, IRQ 16
> Memory at f1500000 (32-bit, non-prefetchable) [size=256]
> Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
> Capabilities: [78] Power Management version 3
> Capabilities: [80] Express Endpoint, MSI 00
> Kernel driver in use: sdhci-pci
> Kernel modules: sdhci-pci
>
>
> # dmesg
> sdhci: Secure Digital Host Controller Interface driver
> sdhci: Copyright(c) Pierre Ossman
> sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
> sdhci-pci 0000:0d:00.0: found 1 slot(s)
> sdhci [sdhci_add_host()]: mmc0: Auto-CMD23 unavailable
> sdhci: =========== REGISTER DUMP (mmc0)===========
> sdhci: Sys addr: 0x00000000 | Version: 0x00000502
> sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
> sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
> sdhci: Present: 0x01f70000 | Host ctl: 0x00000000
> sdhci: Power: 0x00000000 | Blk gap: 0x00000000
> sdhci: Wake-up: 0x00000000 | Clock: 0x00000000
> sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
> sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
> sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
> sdhci: Caps: 0x21e832b2 | Caps_1: 0x00008073
> sdhci: Cmd: 0x00000000 | Max curr: 0x00000040
> sdhci: Host ctl2: 0x00000000
> sdhci: ===========================================
>
> mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
> mmc0: 0 bytes transferred: -84
> mmc0: (CMD12): -110: 00000000 00000000 00000000 00000000
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
> mmcblk0: error -110 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
> mmcblk0: error -110 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD13): 0: 00800b00 00000000 00000000 00000000
> mmc0: starting CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
> mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
> mmcblk0: error -110 sending stop command, original cmd response 0x900,
> card status 0x800b00
> mmcblk0: error -84 transferring data, sector 0, nr 32, cmd response
> 0x900, card status 0xb00
> mmcblk0: retrying using single block read
> mmc0: starting CMD17 arg 00000000 flags 000000b5
> mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
> mmc0: 512 bytes transferred: 0
> mmc0: starting CMD17 arg 00000001 flags 000000b5
> mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
>
>
> Any help will be very much appreciated.
Could you try another SD card to confirm that it's the controller?
If it is, a bisect (at least between kernel versions) is probably
a good idea.
Thanks,
- Chris.
--
Chris Ball <[email protected]> <http://printf.net/>
One Laptop Per Child
On Tue, Feb 7, 2012 at 11:38 AM, Chris Ball <[email protected]> wrote:
> Hi, adding linux-mmc@ to the thread,
>
> On Mon, Feb 06 2012, Jeff Chua wrote:
>> The SD slot on the Lenovo X220 is doesn't seems to work on
>> Linux-3.3.0-rc2. I haven't use SD for a while, so don't know which
>> linux version will work on the X220.
>>
>>
>> # cat .config
>> CONFIG_MMC=m
>> CONFIG_MMC_DEBUG=y
>> CONFIG_MMC_CLKGATE=y
>> CONFIG_MMC_BLOCK=m
>> CONFIG_MMC_BLOCK_MINORS=8
>> CONFIG_MMC_BLOCK_BOUNCE=y
>> CONFIG_MMC_SDHCI=m
>> CONFIG_MMC_SDHCI_PCI=m
>> CONFIG_MMC_RICOH_MMC=y
>>
>>
>> # lspcpi -v
>>
>> 0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 04) (prog-if 01)
>> ? ? ? ? Subsystem: Lenovo Device 21da
>> ? ? ? ? Flags: bus master, fast devsel, latency 0, IRQ 16
>> ? ? ? ? Memory at f1500000 (32-bit, non-prefetchable) [size=256]
>> ? ? ? ? Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
>> ? ? ? ? Capabilities: [78] Power Management version 3
>> ? ? ? ? Capabilities: [80] Express Endpoint, MSI 00
>> ? ? ? ? Kernel driver in use: sdhci-pci
>> ? ? ? ? Kernel modules: sdhci-pci
>>
>>
>> # dmesg
>> sdhci: Secure Digital Host Controller Interface driver
>> sdhci: Copyright(c) Pierre Ossman
>> sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
>> sdhci-pci 0000:0d:00.0: found 1 slot(s)
>> sdhci [sdhci_add_host()]: mmc0: Auto-CMD23 unavailable
>> sdhci: =========== REGISTER DUMP (mmc0)===========
>> sdhci: Sys addr: 0x00000000 | Version: ?0x00000502
>> sdhci: Blk size: 0x00000000 | Blk cnt: ?0x00000000
>> sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
>> sdhci: Present: ?0x01f70000 | Host ctl: 0x00000000
>> sdhci: Power: ? ?0x00000000 | Blk gap: ?0x00000000
>> sdhci: Wake-up: ?0x00000000 | Clock: ? ?0x00000000
>> sdhci: Timeout: ?0x00000000 | Int stat: 0x00000000
>> sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
>> sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
>> sdhci: Caps: ? ? 0x21e832b2 | Caps_1: ? 0x00008073
>> sdhci: Cmd: ? ? ?0x00000000 | Max curr: 0x00000040
>> sdhci: Host ctl2: 0x00000000
>> sdhci: ===========================================
>>
>> mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
>> mmc0: ? ? 0 bytes transferred: -84
>> mmc0: ? ? (CMD12): -110: 00000000 00000000 00000000 00000000
>> mmc0: starting CMD13 arg b3680000 flags 00000195
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
>> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
>> mmcblk0: error -110 sending status command, retrying
>> mmc0: starting CMD13 arg b3680000 flags 00000195
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
>> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
>> mmcblk0: error -110 sending status command, retrying
>> mmc0: starting CMD13 arg b3680000 flags 00000195
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>> mmc0: req done (CMD13): 0: 00800b00 00000000 00000000 00000000
>> mmc0: starting CMD12 arg 00000000 flags 0000049d
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
>> mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
>> mmcblk0: error -110 sending stop command, original cmd response 0x900,
>> card status 0x800b00
>> mmcblk0: error -84 transferring data, sector 0, nr 32, cmd response
>> 0x900, card status 0xb00
>> mmcblk0: retrying using single block read
>> mmc0: starting CMD17 arg 00000000 flags 000000b5
>> mmc0: ? ? blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
>> mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
>> mmc0: ? ? 512 bytes transferred: 0
>> mmc0: starting CMD17 arg 00000001 flags 000000b5
>> mmc0: ? ? blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
>>
>>
>> Any help will be very much appreciated.
>
> Could you try another SD card to confirm that it's the controller?
> If it is, a bisect (at least between kernel versions) is probably
> a good idea.
I've tried another SD but still facing the same problem on the SD
slot. The same SD works when plugged in a USB card reader on the X220.
I'll try to bisect later, but don't know which version would work for
X220. The X201s has a SD slot, but it's actually a USB card reader and
that works, so I will have to find a working version before I can
bisect.
Jeff
On 07/02/12 06:37, Jeff Chua wrote:
> On Tue, Feb 7, 2012 at 11:38 AM, Chris Ball <[email protected]> wrote:
>> Hi, adding linux-mmc@ to the thread,
>>
>> On Mon, Feb 06 2012, Jeff Chua wrote:
>>> The SD slot on the Lenovo X220 is doesn't seems to work on
>>> Linux-3.3.0-rc2. I haven't use SD for a while, so don't know which
>>> linux version will work on the X220.
>>>
>>>
>>> # cat .config
>>> CONFIG_MMC=m
>>> CONFIG_MMC_DEBUG=y
>>> CONFIG_MMC_CLKGATE=y
>>> CONFIG_MMC_BLOCK=m
>>> CONFIG_MMC_BLOCK_MINORS=8
>>> CONFIG_MMC_BLOCK_BOUNCE=y
>>> CONFIG_MMC_SDHCI=m
>>> CONFIG_MMC_SDHCI_PCI=m
>>> CONFIG_MMC_RICOH_MMC=y
>>>
>>>
>>> # lspcpi -v
>>>
>>> 0d:00.0 System peripheral: Ricoh Co Ltd Device e823 (rev 04) (prog-if 01)
>>> Subsystem: Lenovo Device 21da
>>> Flags: bus master, fast devsel, latency 0, IRQ 16
>>> Memory at f1500000 (32-bit, non-prefetchable) [size=256]
>>> Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
>>> Capabilities: [78] Power Management version 3
>>> Capabilities: [80] Express Endpoint, MSI 00
>>> Kernel driver in use: sdhci-pci
>>> Kernel modules: sdhci-pci
>>>
>>>
>>> # dmesg
>>> sdhci: Secure Digital Host Controller Interface driver
>>> sdhci: Copyright(c) Pierre Ossman
>>> sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
>>> sdhci-pci 0000:0d:00.0: found 1 slot(s)
>>> sdhci [sdhci_add_host()]: mmc0: Auto-CMD23 unavailable
>>> sdhci: =========== REGISTER DUMP (mmc0)===========
>>> sdhci: Sys addr: 0x00000000 | Version: 0x00000502
>>> sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
>>> sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
>>> sdhci: Present: 0x01f70000 | Host ctl: 0x00000000
>>> sdhci: Power: 0x00000000 | Blk gap: 0x00000000
>>> sdhci: Wake-up: 0x00000000 | Clock: 0x00000000
>>> sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
>>> sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
>>> sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
>>> sdhci: Caps: 0x21e832b2 | Caps_1: 0x00008073
>>> sdhci: Cmd: 0x00000000 | Max curr: 0x00000040
>>> sdhci: Host ctl2: 0x00000000
>>> sdhci: ===========================================
>>>
>>> mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
>>> mmc0: 0 bytes transferred: -84
>>> mmc0: (CMD12): -110: 00000000 00000000 00000000 00000000
>>> mmc0: starting CMD13 arg b3680000 flags 00000195
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
>>> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
>>> mmcblk0: error -110 sending status command, retrying
>>> mmc0: starting CMD13 arg b3680000 flags 00000195
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
>>> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
>>> mmcblk0: error -110 sending status command, retrying
>>> mmc0: starting CMD13 arg b3680000 flags 00000195
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>>> mmc0: req done (CMD13): 0: 00800b00 00000000 00000000 00000000
>>> mmc0: starting CMD12 arg 00000000 flags 0000049d
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
>>> mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
>>> mmcblk0: error -110 sending stop command, original cmd response 0x900,
>>> card status 0x800b00
>>> mmcblk0: error -84 transferring data, sector 0, nr 32, cmd response
>>> 0x900, card status 0xb00
>>> mmcblk0: retrying using single block read
>>> mmc0: starting CMD17 arg 00000000 flags 000000b5
>>> mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
>>> mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
>>> mmc0: 512 bytes transferred: 0
>>> mmc0: starting CMD17 arg 00000001 flags 000000b5
>>> mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
>>> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
>>>
>>>
>>> Any help will be very much appreciated.
>>
>> Could you try another SD card to confirm that it's the controller?
>> If it is, a bisect (at least between kernel versions) is probably
>> a good idea.
>
> I've tried another SD but still facing the same problem on the SD
> slot. The same SD works when plugged in a USB card reader on the X220.
>
> I'll try to bisect later, but don't know which version would work for
> X220. The X201s has a SD slot, but it's actually a USB card reader and
> that works, so I will have to find a working version before I can
> bisect.
Looks like Caps_1: 0x00008073 means re-tuning mode 3. Maybe the tuning is
not being done correctly.
On Tue, Feb 7, 2012 at 4:32 PM, Adrian Hunter <[email protected]> wrote:
> Looks like Caps_1: 0x00008073 means re-tuning mode 3. ?Maybe the tuning is
> not being done correctly.
What I can do to test it?
Thanks,
Jeff
On 07/02/12 12:40, Jeff Chua wrote:
> On Tue, Feb 7, 2012 at 4:32 PM, Adrian Hunter <[email protected]> wrote:
>
>> Looks like Caps_1: 0x00008073 means re-tuning mode 3. Maybe the tuning is
>> not being done correctly.
>
> What I can do to test it?
Tuning may be needed for UHS (ultra high speed).
Was there a message like:
mmc0: new ultra high speed SDHC card
On Tue, Feb 7, 2012 at 7:04 PM, Adrian Hunter <[email protected]> wrote:
> On 07/02/12 12:40, Jeff Chua wrote:
>> On Tue, Feb 7, 2012 at 4:32 PM, Adrian Hunter <[email protected]> wrote:
>>
>>> Looks like Caps_1: 0x00008073 means re-tuning mode 3. ?Maybe the tuning is
>>> not being done correctly.
>>
>> What I can do to test it?
>
> Tuning may be needed for UHS (ultra high speed).
> Was there a message like:
>
> ? ? ? ?mmc0: new ultra high speed SDHC card
Nop. Just this one (I'm using a 16GB microSD that's plugged in via a
SD card adaptor).
mmc0: new SDHC card at address b368
Thanks,
Jeff
On Tue, Feb 7, 2012 at 11:00 PM, Philip Rakity <[email protected]> wrote:
> Chris just took a patch upstream from us that reverts the sd card to HS if we fail uhs. You might need this. Could you send me a complete console log.
>
> echo 17 > /proc/sys/kernel/printk
>
> Then insert card.
Here's the log ...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD52 arg 00000c00 flags 00000195
mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD52 arg 80000c08 flags 00000195
mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmc0: req done (CMD0): -123: 00000000 00000000 00000000 00000000
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmc0: req done (CMD8): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD5 arg 00000000 flags 000002e1
mmc0: req failed (CMD5): -123, retrying...
mmc0: req failed (CMD5): -123, retrying...
mmc0: req failed (CMD5): -123, retrying...
mmc0: req done (CMD5): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD1 arg 00000000 flags 000000e1
mmc0: req done (CMD1): -123: 00000000 00000000 00000000 00000000
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz
mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
mmc0: starting CMD52 arg 00000c00 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD52 arg 80000c08 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
mmc0: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
mmc0: starting CMD5 arg 00000000 flags 000002e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD5): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD5): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD5): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00400120 00000000 00000000 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 20 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmc0: starting CMD41 arg 51300000 flags 000000e1
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD41): 0: c0ff8000 00000000 00000000 00000000
mmc0: starting CMD2 arg 00000000 flags 00000067
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD2): 0: 28424548 30383538 00000011 0a00b200
mmc0: starting CMD3 arg 00000000 flags 00000075
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD3): 0: b3680520 00000000 00000000 00000000
mmc0: starting CMD9 arg b3680000 flags 00000007
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD9): 0: 400e0032 5b590000 774d7f80 0a400000
mmc0: starting CMD7 arg b3680000 flags 00000015
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD7): 0: 00000700 00000000 00000000 00000000
mmc0: starting CMD55 arg b3680000 flags 00000095
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
mmc0: starting CMD51 arg 00000000 flags 000000b5
mmc0: blksz 8 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD51): 0: 00000920 00000000 00000000 00000000
mmc0: 8 bytes transferred: 0
mmc0: starting CMD55 arg b3680000 flags 00000095
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
mmc0: starting CMD13 arg 00000000 flags 000001b5
mmc0: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD13): 0: 00000920 00000000 00000000 00000000
mmc0: 64 bytes transferred: 0
mmc0: starting CMD6 arg 00fffff1 flags 000000b5
mmc0: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
mmc0: 64 bytes transferred: 0
mmc0: starting CMD6 arg 00fff1ff flags 000000b5
mmc0: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
mmc0: 64 bytes transferred: 0
mmc0: starting CMD6 arg 00ff1fff flags 000000b5
mmc0: blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
mmc0: 64 bytes transferred: 0
mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: starting CMD55 arg b3680000 flags 00000095
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD55 arg b3680000 flags 00000095
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
mmc0: starting CMD6 arg 00000002 flags 00000015
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD6): 0: 00000920 00000000 00000000 00000000
mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: new SDHC card at address b368
mmc0: calculated max. discard sectors 188416 for timeout 4067 ms
mmcblk0: mmc0:b368 H0858 14.9 GiB
mmc0: starting CMD18 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
mmc0: req done (CMD18): -84: 00000000 00000000 00000000 00000000
mmc0: 0 bytes transferred: 0
mmc0: (CMD12): 0: 00000000 00000000 00000000 00000000
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
mmcblk0: error -84 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
mmcblk0: error -110 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
mmcblk0: error -110 sending status command, aborting
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD13): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD13): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD13): 0: 00400b00 00000000 00000000 00000000
end_request: I/O error, dev mmcblk0, sector 0
quiet_error: 2 callbacks suppressed
Buffer I/O error on device mmcblk0, logical block 0
mmc0: starting CMD18 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD18): -110: 00000000 00000000 00000000 00000000
mmc0: 0 bytes transferred: 0
mmc0: (CMD12): 0: 00000000 00000000 00000000 00000000
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
mmcblk0: error -84 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
mmcblk0: error -110 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD13): 0: 00000b00 00000000 00000000 00000000
mmc0: starting CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
mmcblk0: timed out sending r/w cmd command, card status 0xb00
mmc0: starting CMD18 arg 00000000 flags 000000b5
mmc0: blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
mmc0: CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
mmc0: 4096 bytes transferred: 0
mmc0: (CMD12): -110: 00000000 00000000 00000000 00000000
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000c8001
mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
mmcblk0: error -84 sending status command, retrying
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD13): 0: 00000b00 00000000 00000000 00000000
mmc0: starting CMD12 arg 00000000 flags 0000049d
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8003
mmc0: req done (CMD12): 0: 00000580 00000000 00000000 00000000
mmcblk0: error -110 sending stop command, original cmd response 0x900,
card status 0xb00
mmcblk0: unable to read partition table
mmc0: starting CMD13 arg b3680000 flags 00000195
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
mmc0: req failed (CMD13): -84, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
mmc0: req failed (CMD13): -110, retrying...
sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
mmc0: req done (CMD13): 0: 00400900 00000000 00000000 00000000
mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: gated MCI clock
Thanks,
Jeff
On Wed, Feb 8, 2012 at 12:04 AM, Jeff Chua <[email protected]> wrote:
> On Tue, Feb 7, 2012 at 11:00 PM, Philip Rakity <[email protected]> wrote:
>
>> Chris just took a patch upstream from us that reverts the sd card to HS if we fail uhs. ?You might need this. ?Could you send me ?a complete console log.
>>
>> echo 17 > /proc/sys/kernel/printk
>>
>> Then insert card.
Philip,
Here you go. Gmail is not bad at replying.
> Here's the log ...
>
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
> mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
> mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: starting CMD52 arg 00000c00 flags 00000195
> mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD52 arg 80000c08 flags 00000195
> mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
> mmc0: starting CMD0 arg 00000000 flags 000000c0
> mmc0: req done (CMD0): -123: 00000000 00000000 00000000 00000000
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: starting CMD8 arg 000001aa flags 000002f5
> mmc0: req done (CMD8): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD5 arg 00000000 flags 000002e1
> mmc0: req failed (CMD5): -123, retrying...
> mmc0: req failed (CMD5): -123, retrying...
> mmc0: req failed (CMD5): -123, retrying...
> mmc0: req done (CMD5): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
> mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: starting CMD1 arg 00000000 flags 000000e1
> mmc0: req done (CMD1): -123: 00000000 00000000 00000000 00000000
> mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
> mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz
> mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
> mmc0: starting CMD52 arg 00000c00 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
> mmc0: starting CMD52 arg 80000c08 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
> mmc0: starting CMD0 arg 00000000 flags 000000c0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: starting CMD8 arg 000001aa flags 000002f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
> mmc0: starting CMD5 arg 00000000 flags 000002e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD5): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD5): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD5): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00400120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 00000000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 1 Vdd 20 width 0 timing 0
> mmc0: starting CMD0 arg 00000000 flags 000000c0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
> mmc0: clock 300000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> mmc0: starting CMD8 arg 000001aa flags 000002f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
> mmc0: starting CMD55 arg 00000000 flags 000000f5
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
> mmc0: starting CMD41 arg 51300000 flags 000000e1
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD41): 0: c0ff8000 00000000 00000000 00000000
> mmc0: starting CMD2 arg 00000000 flags 00000067
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD2): 0: 28424548 30383538 00000011 0a00b200
> mmc0: starting CMD3 arg 00000000 flags 00000075
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD3): 0: b3680520 00000000 00000000 00000000
> mmc0: starting CMD9 arg b3680000 flags 00000007
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD9): 0: 400e0032 5b590000 774d7f80 0a400000
> mmc0: starting CMD7 arg b3680000 flags 00000015
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD7): 0: 00000700 00000000 00000000 00000000
> mmc0: starting CMD55 arg b3680000 flags 00000095
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
> mmc0: starting CMD51 arg 00000000 flags 000000b5
> mmc0: ? ? blksz 8 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD51): 0: 00000920 00000000 00000000 00000000
> mmc0: ? ? 8 bytes transferred: 0
> mmc0: starting CMD55 arg b3680000 flags 00000095
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
> mmc0: starting CMD13 arg 00000000 flags 000001b5
> mmc0: ? ? blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD13): 0: 00000920 00000000 00000000 00000000
> mmc0: ? ? 64 bytes transferred: 0
> mmc0: starting CMD6 arg 00fffff1 flags 000000b5
> mmc0: ? ? blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
> mmc0: ? ? 64 bytes transferred: 0
> mmc0: starting CMD6 arg 00fff1ff flags 000000b5
> mmc0: ? ? blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
> mmc0: ? ? 64 bytes transferred: 0
> mmc0: starting CMD6 arg 00ff1fff flags 000000b5
> mmc0: ? ? blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> mmc0: req done (CMD6): 0: 00000900 00000000 00000000 00000000
> mmc0: ? ? 64 bytes transferred: 0
> mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> mmc0: starting CMD55 arg b3680000 flags 00000095
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
> mmc0: starting CMD55 arg b3680000 flags 00000095
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
> mmc0: starting CMD6 arg 00000002 flags 00000015
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD6): 0: 00000920 00000000 00000000 00000000
> mmc0: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: new SDHC card at address b368
> mmc0: calculated max. discard sectors 188416 for timeout 4067 ms
> mmcblk0: mmc0:b368 H0858 14.9 GiB
> mmc0: starting CMD18 arg 00000000 flags 000000b5
> mmc0: ? ? blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
> mmc0: ? ? CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
> mmc0: req done (CMD18): -84: 00000000 00000000 00000000 00000000
> mmc0: ? ? 0 bytes transferred: 0
> mmc0: ? ? (CMD12): 0: 00000000 00000000 00000000 00000000
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
> mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
> mmcblk0: error -84 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
> mmcblk0: error -110 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
> mmcblk0: error -110 sending status command, aborting
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD13): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD13): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD13): 0: 00400b00 00000000 00000000 00000000
> end_request: I/O error, dev mmcblk0, sector 0
> quiet_error: 2 callbacks suppressed
> Buffer I/O error on device mmcblk0, logical block 0
> mmc0: starting CMD18 arg 00000000 flags 000000b5
> mmc0: ? ? blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
> mmc0: ? ? CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD18): -110: 00000000 00000000 00000000 00000000
> mmc0: ? ? 0 bytes transferred: 0
> mmc0: ? ? (CMD12): 0: 00000000 00000000 00000000 00000000
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
> mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
> mmcblk0: error -84 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD13): -110: 00000000 00000000 00000000 00000000
> mmcblk0: error -110 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD13): 0: 00000b00 00000000 00000000 00000000
> mmc0: starting CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000003
> mmc0: req done (CMD12): 0: 00000b00 00000000 00000000 00000000
> mmcblk0: timed out sending r/w cmd command, card status 0xb00
> mmc0: starting CMD18 arg 00000000 flags 000000b5
> mmc0: ? ? blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
> mmc0: ? ? CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req done (CMD18): 0: 00000900 00000000 00000000 00000000
> mmc0: ? ? 4096 bytes transferred: 0
> mmc0: ? ? (CMD12): -110: 00000000 00000000 00000000 00000000
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000c8001
> mmc0: req done (CMD13): -84: 00000000 00000000 00000000 00000000
> mmcblk0: error -84 sending status command, retrying
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD13): 0: 00000b00 00000000 00000000 00000000
> mmc0: starting CMD12 arg 00000000 flags 0000049d
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8003
> mmc0: req done (CMD12): 0: 00000580 00000000 00000000 00000000
> mmcblk0: error -110 sending stop command, original cmd response 0x900,
> card status 0xb00
> mmcblk0: unable to read partition table
> mmc0: starting CMD13 arg b3680000 flags 00000195
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x000a8001
> mmc0: req failed (CMD13): -84, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
> mmc0: req failed (CMD13): -110, retrying...
> sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> mmc0: req done (CMD13): 0: 00400900 00000000 00000000 00000000
> mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: gated MCI clock
>
> Thanks,
> Jeff
On Wed, Feb 8, 2012 at 12:07 AM, Jeff Chua <[email protected]> wrote:
Help! I was trying Linux-3.0 on the SD and formatted it and now the SD
is dead! How can I recover it?
# with the SD plugged into to a USD reader ...
Initializing USB Mass Storage driver...
scsi21 : usb-storage 2-1.2:1.0
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
scsi 21:0:0:0: Direct-Access USB Reader 0001 PQ: 0
ANSI: 0 CCS
sd 21:0:0:0: Attached scsi generic sg1 type 0
sd 21:0:0:0: [sdb] Attached SCSI removable disk
# fdisk /dev/sdb
fdisk: unable to open /dev/sdb: No medium found
Thanks,
Jeff
On 02/08/2012 03:33 AM, Jeff Chua wrote:
> On Wed, Feb 8, 2012 at 12:07 AM, Jeff Chua <[email protected]> wrote:
>
> Help! I was trying Linux-3.0 on the SD and formatted it and now the SD
> is dead! How can I recover it?
>
> # with the SD plugged into to a USD reader ...
>
> Initializing USB Mass Storage driver...
> scsi21 : usb-storage 2-1.2:1.0
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> scsi 21:0:0:0: Direct-Access USB Reader 0001 PQ: 0
> ANSI: 0 CCS
> sd 21:0:0:0: Attached scsi generic sg1 type 0
> sd 21:0:0:0: [sdb] Attached SCSI removable disk
>
> # fdisk /dev/sdb
> fdisk: unable to open /dev/sdb: No medium found
>
Hi Jeff.
i saw your debug message..i just guess that relate to driver strength select.
Best Regards,
Jaehoon Chung
>
>
> Thanks,
> Jeff
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
On Wed, Feb 8, 2012 at 7:45 AM, Jaehoon Chung <[email protected]> wrote:
> On 02/08/2012 03:33 AM, Jeff Chua wrote:
I tried a Class6 8GB and after a few inserts, it could read without
errors. The Class10 seems to be more sensitive to speed.
Jeff
Jeff,
I think the sdhci.c clock setting code was changed a while ago. Maybe revert that mod and see what happens.
The card is a 24MHz which is rather slow so I would be surprised if that was it.
The other option is the force enable the High Speed bit in the controller (used when speed is 25MHz or faster). Will give the system more time (in theory) to work.
Philip
On Feb 7, 2012, at 5:09 PM, Jeff Chua wrote:
> On Wed, Feb 8, 2012 at 7:45 AM, Jaehoon Chung <[email protected]> wrote:
>> On 02/08/2012 03:33 AM, Jeff Chua wrote:
>
> I tried a Class6 8GB and after a few inserts, it could read without
> errors. The Class10 seems to be more sensitive to speed.
>
> Jeff
On Thu, Feb 9, 2012 at 3:09 AM, Philip Rakity <[email protected]> wrote:
>
>
> Jeff,
>
> I think the sdhci.c clock setting code was changed a while ago. ? Maybe revert that mod and see what happens.
>
> The card is a 24MHz which is rather slow so I would be surprised if that was it.
> The other option is the force enable the High Speed bit in the ?controller (used when speed is 25MHz or faster). ?Will give the system more time (in theory) to work.
That's a good point to start looking. I poked around and by setting
host->ios.clock to 10000000 instead of 25000000, read from a 16GB card
is no longer giving any error.
I still don't dare to do any write. Already burn one 16GB SD and not
ready to trash another. I asked earlier but haven't got any reply as
to how to recover an SD that says "No medium found". Any chance of
recovering it?
Here's what I did. If set too low (1000000) or too high (25000000),
random errors appeared.
--- linux/drivers/mmc/core/core.c.org 2012-02-10 23:57:49.000000000 +0800
+++ linux/drivers/mmc/core/core.c 2012-02-10 23:53:59.000000000 +0800
@@ -881,7 +881,7 @@
if (hz > host->f_max)
hz = host->f_max;
- host->ios.clock = hz;
+ host->ios.clock = 10000000;
mmc_set_ios(host);
}
Thanks,
Jeff
On Feb 10, 2012, at 8:18 AM, Jeff Chua wrote:
> On Thu, Feb 9, 2012 at 3:09 AM, Philip Rakity <[email protected]> wrote:
>>
>>
>> Jeff,
>>
>> I think the sdhci.c clock setting code was changed a while ago. Maybe revert that mod and see what happens.
>>
>> The card is a 24MHz which is rather slow so I would be surprised if that was it.
>> The other option is the force enable the High Speed bit in the controller (used when speed is 25MHz or faster). Will give the system more time (in theory) to work.
>
> That's a good point to start looking. I poked around and by setting
> host->ios.clock to 10000000 instead of 25000000, read from a 16GB card
> is no longer giving any error.
>
> I still don't dare to do any write. Already burn one 16GB SD and not
> ready to trash another. I asked earlier but haven't got any reply as
> to how to recover an SD that says "No medium found". Any chance of
> recovering it?
>
> Here's what I did. If set too low (1000000) or too high (25000000),
> random errors appeared.
>
> --- linux/drivers/mmc/core/core.c.org 2012-02-10 23:57:49.000000000 +0800
> +++ linux/drivers/mmc/core/core.c 2012-02-10 23:53:59.000000000 +0800
> @@ -881,7 +881,7 @@
> if (hz > host->f_max)
> hz = host->f_max;
>
> - host->ios.clock = hz;
> + host->ios.clock = 10000000;
> mmc_set_ios(host);
> }
>
>
good news. The other possibility but unlikely is that the timeout is too low for the card.
There is a quirk for this.
SDHCI_BROKEN_TIMEOUT_VAL
my guess is that you will need to measure the clk pin and see if it matches the frequency being programmed. (could be less).
a simple hack is to add a printk to set_ios() or set_clock() and print out the clock rate clock register (divider) and see if they match what you should be seeing.
It is possible the bug is NOT in this area but in the platform code where an incorrect base freq is being setup for the controller.
Philip
>
> Thanks,
> Jeff
On Sat, Feb 11, 2012 at 4:28 AM, Philip Rakity <[email protected]> wrote:
>
> On Feb 10, 2012, at 8:18 AM, Jeff Chua wrote:
>
>> On Thu, Feb 9, 2012 at 3:09 AM, Philip Rakity <[email protected]> wrote:
>>>
>>>
>>> Jeff,
>>>
>>> I think the sdhci.c clock setting code was changed a while ago. ? Maybe revert that mod and see what happens.
>>>
>>> The card is a 24MHz which is rather slow so I would be surprised if that was it.
>>> The other option is the force enable the High Speed bit in the ?controller (used when speed is 25MHz or faster). ?Will give the system more time (in theory) to work.
>>
>> That's a good point to start looking. I poked around and by setting
>> host->ios.clock to 10000000 instead of 25000000, read from a 16GB card
>> is no longer giving any error.
>>
>> I still don't dare to do any write. Already burn one 16GB SD and not
>> ready to trash another. I asked earlier but haven't got any reply as
>> to how to recover an SD that says "No medium found". Any chance of
>> recovering it?
>>
>> Here's what I did. If set too low (1000000) or too high (25000000),
>> random errors appeared.
>>
>> --- linux/drivers/mmc/core/core.c.org ? 2012-02-10 23:57:49.000000000 +0800
>> +++ linux/drivers/mmc/core/core.c ? ? ? 2012-02-10 23:53:59.000000000 +0800
>> @@ -881,7 +881,7 @@
>> ? ? ? ?if (hz > host->f_max)
>> ? ? ? ? ? ? ? ?hz = host->f_max;
>>
>> - ? ? ? host->ios.clock = hz;
>> + ? ? ? host->ios.clock = 10000000;
>> ? ? ? ?mmc_set_ios(host);
>> }
>>
>>
>
> good news. ?The other possibility but unlikely is that the timeout is too low for the card.
>
> There is a quirk for this.
>
> SDHCI_BROKEN_TIMEOUT_VAL
>
> my guess is that you will need to measure the clk pin and see if it matches the frequency being programmed. ?(could be less).
>
> a simple hack is to add a printk to set_ios() or set_clock() and print out the clock rate clock register (divider) and see if they match what you should be seeing.
> It is possible the bug is NOT in this area but in the platform code where an incorrect base freq is being setup for the controller.
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
Registered led device: mmc0::
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmc0: SDHCI controller on PCI [0000:0d:00.0] using DMA
mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 20 width 0 timing 0
mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
hz 25000000 min 16129 max 33000000 ios 400000
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: new SDHC card at address b368
mmcblk0: mmc0:b368 H1109 14.9 GiB (ro)
mmcblk0: p1
mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
hz 10000000 min 16129 max 33000000 ios 0
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
hz 10000000 min 16129 max 33000000 ios 0
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
hz 10000000 min 16129 max 33000000 ios 0
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
hz 10000000 min 16129 max 33000000 ios 0
mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
Hope this helps. Also, I've tried setting hz to 20000000 but
encountered random errors.
Also, these are from dmesg ...
Detected 2790.999 MHz processor.
Calibrating delay loop (skipped), value calculated using timer
frequency.. 5581.99 BogoMIPS (lpj=27909990)
pci 0000:0d:00.0: [1180:e823] type 0 class 0x000880
pci 0000:0d:00.0: MMC controller base frequency changed to 50Mhz.
pci 0000:0d:00.0: reg 10: [mem 0xf1500000-0xf15000ff]
pci 0000:0d:00.0: supports D1 D2
pci 0000:0d:00.0: PME# supported from D0 D1 D2 D3hot D3cold
.config
CONFIG_NO_HZ=y
CONFIG_HZ_100=y
Thanks,
Jeff
On Sat, Feb 11, 2012 at 6:55 PM, Jeff Chua <[email protected]> wrote:
> sdhci: Secure Digital Host Controller Interface driver
> sdhci: Copyright(c) Pierre Ossman
> sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 4)
> Registered led device: mmc0::
> mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
> mmc0: SDHCI controller on PCI [0000:0d:00.0] using DMA
> mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 20 width 0 timing 0
> mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> hz 25000000 min 16129 max 33000000 ios 400000
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 0 timing 0
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: new SDHC card at address b368
> mmcblk0: mmc0:b368 H1109 14.9 GiB (ro)
> mmcblk0: p1
> mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> hz 10000000 min 16129 max 33000000 ios 0
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> hz 10000000 min 16129 max 33000000 ios 0
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> hz 10000000 min 16129 max 33000000 ios 0
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> mmc0: clock 0Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
> hz 10000000 min 16129 max 33000000 ios 0
> mmc0: clock 10000000Hz busmode 2 powermode 2 cs 0 Vdd 20 width 2 timing 0
>
>
> Hope this helps. Also, I've tried setting hz to 20000000 but
> encountered random errors.
I ran tests for frequency that works dd out 1G of data from 8MHz to
16MHz, and it seems frequency less than 8.4MHz can only transfer at
rate of 14.3MB/s and above 8.4MHz, speed goes up to 18.3 MB/s. Above
17MHz, errors encounters.
hz1 8000000 73.5029 s 14.3 MB/s
hz2 8000000 73.4740 s 14.3 MB/s
hz3 8000000 73.3982 s 14.3 MB/s
hz1 8200000 71.9677 s 14.6 MB/s
hz2 8200000 73.4936 s 14.3 MB/s
hz3 8200000 73.3462 s 14.3 MB/s
hz1 8400000 56.6296 s 18.5 MB/s
hz2 8400000 56.7616 s 18.5 MB/s
hz3 8400000 56.7926 s 18.5 MB/s
hz1 8600000 56.6622 s 18.5 MB/s
hz2 8600000 56.7201 s 18.5 MB/s
hz3 8600000 56.6476 s 18.5 MB/s
hz1 8800000 56.8846 s 18.4 MB/s
hz2 8800000 56.8226 s 18.5 MB/s
hz3 8800000 56.7070 s 18.5 MB/s
hz1 9000000 56.7007 s 18.5 MB/s
hz2 9000000 56.6931 s 18.5 MB/s
hz3 9000000 56.7465 s 18.5 MB/s
hz1 9200000 56.7813 s 18.5 MB/s
hz2 9200000 56.9230 s 18.4 MB/s
hz3 9200000 56.8489 s 18.4 MB/s
hz1 9400000 57.3411 s 18.3 MB/s
hz2 9400000 56.5798 s 18.5 MB/s
hz3 9400000 56.9512 s 18.4 MB/s
hz1 9600000 56.6263 s 18.5 MB/s
hz2 9600000 56.8361 s 18.4 MB/s
hz3 9600000 56.9943 s 18.4 MB/s
hz1 9800000 56.8875 s 18.4 MB/s
hz2 9800000 56.7966 s 18.5 MB/s
hz3 9800000 56.9299 s 18.4 MB/s
hz1 10000000 56.7702 s 18.5 MB/s
hz2 10000000 56.7131 s 18.5 MB/s
hz3 10000000 56.7559 s 18.5 MB/s
hz1 10200000 56.8087 s 18.5 MB/s
hz2 10200000 57.0066 s 18.4 MB/s
hz3 10200000 57.4178 s 18.3 MB/s
hz1 10400000 57.0445 s 18.4 MB/s
hz2 10400000 57.2470 s 18.3 MB/s
hz3 10400000 57.3996 s 18.3 MB/s
hz1 10600000 57.0698 s 18.4 MB/s
hz2 10600000 56.9447 s 18.4 MB/s
hz3 10600000 57.0124 s 18.4 MB/s
hz1 10800000 56.8901 s 18.4 MB/s
hz2 10800000 57.3534 s 18.3 MB/s
hz3 10800000 56.7887 s 18.5 MB/s
hz1 11000000 56.9826 s 18.4 MB/s
hz2 11000000 56.8821 s 18.4 MB/s
hz3 11000000 57.1497 s 18.3 MB/s
hz1 11200000 56.6727 s 18.5 MB/s
hz2 11200000 57.3771 s 18.3 MB/s
hz3 11200000 57.2056 s 18.3 MB/s
hz1 11400000 57.0076 s 18.4 MB/s
hz2 11400000 57.1330 s 18.4 MB/s
hz3 11400000 57.4008 s 18.3 MB/s
hz1 11600000 57.1187 s 18.4 MB/s
hz2 11600000 57.1042 s 18.4 MB/s
hz3 11600000 56.9396 s 18.4 MB/s
hz1 11800000 57.1824 s 18.3 MB/s
hz2 11800000 57.0874 s 18.4 MB/s
hz3 11800000 57.4669 s 18.2 MB/s
hz1 12000000 57.0121 s 18.4 MB/s
hz2 12000000 57.0706 s 18.4 MB/s
hz3 12000000 57.0935 s 18.4 MB/s
hz1 12200000 57.3944 s 18.3 MB/s
hz2 12200000 57.5170 s 18.2 MB/s
hz3 12200000 57.0330 s 18.4 MB/s
hz1 12400000 56.8146 s 18.5 MB/s
hz2 12400000 57.2807 s 18.3 MB/s
hz3 12400000 57.1569 s 18.3 MB/s
hz1 12600000 57.3627 s 18.3 MB/s
hz2 12600000 57.2619 s 18.3 MB/s
hz3 12600000 57.1370 s 18.4 MB/s
hz1 12800000 57.3385 s 18.3 MB/s
hz2 12800000 57.2734 s 18.3 MB/s
hz3 12800000 57.0400 s 18.4 MB/s
hz1 13000000 56.9019 s 18.4 MB/s
hz2 13000000 57.1484 s 18.3 MB/s
hz3 13000000 57.2854 s 18.3 MB/s
hz1 13200000 57.3357 s 18.3 MB/s
hz2 13200000 57.2955 s 18.3 MB/s
hz3 13200000 57.1439 s 18.3 MB/s
hz1 13400000 57.2260 s 18.3 MB/s
hz2 13400000 57.3871 s 18.3 MB/s
hz3 13400000 57.1127 s 18.4 MB/s
hz1 13600000 57.4000 s 18.3 MB/s
hz2 13600000 56.9386 s 18.4 MB/s
hz3 13600000 57.4267 s 18.3 MB/s
hz1 13800000 57.3932 s 18.3 MB/s
hz2 13800000 56.8886 s 18.4 MB/s
hz3 13800000 57.0506 s 18.4 MB/s
hz1 14000000 57.2435 s 18.3 MB/s
hz2 14000000 57.0724 s 18.4 MB/s
hz3 14000000 57.3697 s 18.3 MB/s
hz1 14200000 57.3237 s 18.3 MB/s
hz2 14200000 57.3678 s 18.3 MB/s
hz3 14200000 57.1647 s 18.3 MB/s
hz1 14400000 57.1770 s 18.3 MB/s
hz2 14400000 57.2560 s 18.3 MB/s
hz3 14400000 57.4751 s 18.2 MB/s
hz1 14600000 57.1345 s 18.4 MB/s
hz2 14600000 57.2170 s 18.3 MB/s
hz3 14600000 57.2803 s 18.3 MB/s
hz1 14800000 57.0580 s 18.4 MB/s
hz2 14800000 56.8908 s 18.4 MB/s
hz3 14800000 57.0882 s 18.4 MB/s
hz1 15000000 57.2161 s 18.3 MB/s
hz2 15000000 57.3606 s 18.3 MB/s
hz3 15000000 57.1794 s 18.3 MB/s
hz1 15200000 57.1266 s 18.4 MB/s
hz2 15200000 57.1371 s 18.4 MB/s
hz3 15200000 56.6513 s 18.5 MB/s
hz1 15400000 57.3680 s 18.3 MB/s
hz2 15400000 56.9819 s 18.4 MB/s
hz3 15400000 57.2429 s 18.3 MB/s
hz1 15600000 57.4191 s 18.3 MB/s
hz2 15600000 57.0848 s 18.4 MB/s
hz3 15600000 56.9853 s 18.4 MB/s
hz1 15800000 57.2306 s 18.3 MB/s
hz2 15800000 56.9850 s 18.4 MB/s
hz3 15800000 57.3068 s 18.3 MB/s
hz1 16000000 57.1337 s 18.4 MB/s
hz2 16000000 57.0935 s 18.4 MB/s
hz3 16000000 57.2745 s 18.3 MB/s
Thanks,
Jeff
On Mon, Feb 13, 2012 at 12:41 PM, Jeff Chua <[email protected]> wrote:
> I ran tests for frequency that works dd out 1G of data from 8MHz to
> 16MHz, and it seems frequency less than 8.4MHz can only transfer at
> rate of 14.3MB/s and above 8.4MHz, speed goes up to 18.3 MB/s. Above
> 17MHz, errors encounters.
>
> hz1 ?8000000 ?73.5029 s ?14.3 MB/s
> hz2 ?8000000 ?73.4740 s ?14.3 MB/s
> hz3 ?8000000 ?73.3982 s ?14.3 MB/s
> hz1 ?8200000 ?71.9677 s ?14.6 MB/s
> hz2 ?8200000 ?73.4936 s ?14.3 MB/s
> hz3 ?8200000 ?73.3462 s ?14.3 MB/s
> hz1 ?8400000 ?56.6296 s ?18.5 MB/s
> hz2 ?8400000 ?56.7616 s ?18.5 MB/s
> hz3 ?8400000 ?56.7926 s ?18.5 MB/s
> hz1 ?8600000 ?56.6622 s ?18.5 MB/s
> hz2 ?8600000 ?56.7201 s ?18.5 MB/s
> hz3 ?8600000 ?56.6476 s ?18.5 MB/s
> hz1 ?8800000 ?56.8846 s ?18.4 MB/s
> hz2 ?8800000 ?56.8226 s ?18.5 MB/s
> hz3 ?8800000 ?56.7070 s ?18.5 MB/s
I've turned on write, and there's no error writing. But speed is
slower than accessing it via USB2 SD card reader. Same SD.
Via SD PCI
8.779 sec 4.04 %cpu
Via USB Reader
On Mon, Feb 13, 2012 at 1:16 PM, Jeff Chua <[email protected]> wrote:
> On Mon, Feb 13, 2012 at 12:41 PM, Jeff Chua <[email protected]> wrote:
>> I ran tests for frequency that works dd out 1G of data from 8MHz to
>> 16MHz, and it seems frequency less than 8.4MHz can only transfer at
>> rate of 14.3MB/s and above 8.4MHz, speed goes up to 18.3 MB/s. Above
>> 17MHz, errors encounters.
>>
>> hz1 ?8000000 ?73.5029 s ?14.3 MB/s
>> hz2 ?8000000 ?73.4740 s ?14.3 MB/s
>> hz3 ?8000000 ?73.3982 s ?14.3 MB/s
>> hz1 ?8200000 ?71.9677 s ?14.6 MB/s
>> hz2 ?8200000 ?73.4936 s ?14.3 MB/s
>> hz3 ?8200000 ?73.3462 s ?14.3 MB/s
>> hz1 ?8400000 ?56.6296 s ?18.5 MB/s
>> hz2 ?8400000 ?56.7616 s ?18.5 MB/s
>> hz3 ?8400000 ?56.7926 s ?18.5 MB/s
>> hz1 ?8600000 ?56.6622 s ?18.5 MB/s
>> hz2 ?8600000 ?56.7201 s ?18.5 MB/s
>> hz3 ?8600000 ?56.6476 s ?18.5 MB/s
>> hz1 ?8800000 ?56.8846 s ?18.4 MB/s
>> hz2 ?8800000 ?56.8226 s ?18.5 MB/s
>> hz3 ?8800000 ?56.7070 s ?18.5 MB/s
>
> I've turned on write, and there's no error writing. But speed is
> slower than accessing it via USB2 SD card reader. Same SD.
>
Via SD PCI
18.779 sec ?4.04 %cpu
Via USB2.0 Card Reader
12.205 sec 2.04 %cpu
Via USB3.0 Card Reader
11.427 sec 2.01 %cpu
Shouldn't PCI SD be faster? Same SD used for all tests.
THanks,
Jeff
Thanks,
Jeff
On Mon, Feb 13, 2012 at 1:20 PM, Jeff Chua <[email protected]> wrote:
> On Mon, Feb 13, 2012 at 1:16 PM, Jeff Chua <[email protected]> wrote:
>> On Mon, Feb 13, 2012 at 12:41 PM, Jeff Chua <[email protected]> wrote:
>>> I ran tests for frequency that works dd out 1G of data from 8MHz to
>>> 16MHz, and it seems frequency less than 8.4MHz can only transfer at
>>> rate of 14.3MB/s and above 8.4MHz, speed goes up to 18.3 MB/s. Above
>>> 17MHz, errors encounters.
>>>
>>> hz1 ?8000000 ?73.5029 s ?14.3 MB/s
>>> hz2 ?8000000 ?73.4740 s ?14.3 MB/s
>>> hz3 ?8000000 ?73.3982 s ?14.3 MB/s
>>> hz1 ?8200000 ?71.9677 s ?14.6 MB/s
>>> hz2 ?8200000 ?73.4936 s ?14.3 MB/s
>>> hz3 ?8200000 ?73.3462 s ?14.3 MB/s
>>> hz1 ?8400000 ?56.6296 s ?18.5 MB/s
>>> hz2 ?8400000 ?56.7616 s ?18.5 MB/s
>>> hz3 ?8400000 ?56.7926 s ?18.5 MB/s
>>> hz1 ?8600000 ?56.6622 s ?18.5 MB/s
>>> hz2 ?8600000 ?56.7201 s ?18.5 MB/s
>>> hz3 ?8600000 ?56.6476 s ?18.5 MB/s
>>> hz1 ?8800000 ?56.8846 s ?18.4 MB/s
>>> hz2 ?8800000 ?56.8226 s ?18.5 MB/s
>>> hz3 ?8800000 ?56.7070 s ?18.5 MB/s
>>
>> I've turned on write, and there's no error writing. But speed is
>> slower than accessing it via USB2 SD card reader. Same SD.
>>
>
> Via SD PCI
> 18.779 sec ?4.04 %cpu
>
> Via USB2.0 Card Reader
> 12.205 sec ?2.04 %cpu
>
> Via USB3.0 Card Reader
> 11.427 sec ?2.01 %cpu
>
>
> Shouldn't PCI SD be faster? Same SD used for all tests.
Are there any thoughts on this or I should give up hope on the SD :((
Or is there something else I should try?
Thanks,
Jeff