Re: SDHCI: Ricoh [1180:e823] unable to mount MMC cards.

From: Manoj
Date: Wed Mar 30 2011 - 19:33:11 EST




* turn on CONFIG_MMC_DEBUG and post output
* see if sdhci.debug_quirks=1 helps

It could be that this card does not support MMC cards, it shows up as SDHCI controller and does not mention MMC, or may be they all come up as SDHCI, I dont know enough to make that assessment.

Here is the output with debug turned on. Sorry for the flood:

[ 2.182294] sdhci-pci 0000:0d:00.0: SDHCI controller found [1180:e823] (rev 5)
[ 1.182298] sdhci-pci 0000:0d:00.0: found 1 slot(s)
[ 1.182318] sdhci-pci 0000:0d:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1.182381] mmc0: Unknown controller version (2). You may experience problems.
[ 1.182389] sdhci-pci 0000:0d:00.0: setting latency timer to 64
[ 1.182403] sdhci: ============== REGISTER DUMP ==============
[ 1.182411] sdhci: Sys addr: 0x00000000 | Version: 0x00000502
[ 1.182418] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[ 1.182425] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[ 1.182432] sdhci: Present: 0x01f20000 | Host ctl: 0x00000000
[ 1.182436] alloc irq_desc for 44 on node -1
[ 1.182437] alloc kstat_irqs on node -1
[ 1.182439] sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[ 1.182444] sdhci: Wake-up: 0x00000000 | Clock: 0x00000000
[ 1.182451] sdhci: Timeout: 0x00000000 | Int stat: 0x00000000
[ 1.182456] sdhci: Int enab: 0x00ff0003 | Sig enab: 0x00ff0003
[ 1.182463] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[ 1.182470] sdhci: Caps: 0x21e8c8b2 | Max curr: 0x00000040
[ 1.182477] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000
[ 1.182478] sdhci: ===========================================
[ 1.182499] Registered led device: mmc0::
[ 1.182518] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[ 1.182574] mmc0: SDHCI controller on PCI [0000:0d:00.0] using ADMA
[ 1.182578] mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
[ 1.195203] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[ 1.211345] mmc0: starting CMD52 arg 00000c00 flags 00000195
[ 1.213394] mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
[ 1.213402] mmc0: starting CMD52 arg 80000c08 flags 00000195
[ 1.215470] mmc0: req done (CMD52): -123: 00000000 00000000 00000000 00000000
[ 1.215476] mmc0: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
[ 1.216473] mmc0: starting CMD0 arg 00000000 flags 000000c0
[ 1.218477] mmc0: req done (CMD0): -123: 00000000 00000000 00000000 00000000
[ 1.219472] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[ 1.220469] mmc0: starting CMD8 arg 000001aa flags 000002f5
[ 1.222472] mmc0: req done (CMD8): -123: 00000000 00000000 00000000 00000000
[ 1.222476] mmc0: starting CMD5 arg 00000000 flags 000002e1
[ 1.224479] mmc0: req failed (CMD5): -123, retrying...
[ 1.226476] mmc0: req failed (CMD5): -123, retrying...
[ 1.228478] mmc0: req failed (CMD5): -123, retrying...
[ 1.230479] mmc0: req done (CMD5): -123: 00000000 00000000 00000000 00000000
[ 1.230483] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 1.232489] mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
[ 1.232492] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 1.234496] mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
[ 1.234499] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 1.236507] mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
[ 1.236511] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 1.238521] mmc0: req done (CMD55): -123: 00000000 00000000 00000000 00000000
[ 1.238524] mmc0: starting CMD1 arg 00000000 flags 000000e1
[ 1.240531] mmc0: req done (CMD1): -123: 00000000 00000000 00000000 00000000
[ 1.240536] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[ 30.617181] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
[ 30.813108] mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
[ 30.829096] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[ 30.845074] mmc0: starting CMD52 arg 00000c00 flags 00000195
[ 30.845216] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.847216] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[ 30.847224] mmc0: starting CMD52 arg 80000c08 flags 00000195
[ 30.847303] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.849310] mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[ 30.849315] mmc0: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
[ 30.850310] mmc0: starting CMD0 arg 00000000 flags 000000c0
[ 30.850359] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.850364] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[ 30.851361] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
[ 30.852356] mmc0: starting CMD8 arg 000001aa flags 000002f5
[ 30.852399] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.854403] mmc0: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[ 30.854463] mmc0: starting CMD5 arg 00000000 flags 000002e1
[ 30.854501] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.856497] mmc0: req failed (CMD5): -110, retrying...
[ 30.856535] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.858536] mmc0: req failed (CMD5): -110, retrying...
[ 30.858569] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.860565] mmc0: req failed (CMD5): -110, retrying...
[ 30.860599] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.862600] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[ 30.862605] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 30.862642] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.864641] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[ 30.864645] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 30.864684] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.866682] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[ 30.866686] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 30.866764] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.868771] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[ 30.868776] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 30.868816] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.870821] mmc0: req done (CMD55): -110: 00000000 00000000 00000000 00000000
[ 30.870825] mmc0: starting CMD1 arg 00000000 flags 000000e1
[ 30.870856] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.870862] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.870868] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[ 30.870873] mmc0: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 20 width 0 timing 0
[ 30.871869] mmc0: starting CMD0 arg 00000000 flags 000000c0
[ 30.871918] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.871923] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[ 30.872922] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 20 width 0 timing 0
[ 30.873918] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.873996] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.874015] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.889033] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.889095] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.889110] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.905020] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.905081] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.905096] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.921009] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.921087] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.921103] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.936994] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.937071] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.937087] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.952980] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.953057] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.953074] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.968961] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.969039] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.969055] mmc0: req done (CMD1): 0: 003f8000 00000000 00000000 00000000
[ 30.984946] mmc0: starting CMD1 arg 40300000 flags 000000e1
[ 30.985024] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.985039] mmc0: req done (CMD1): 0: 803f8000 00000000 00000000 00000000
[ 30.985054] mmc0: starting CMD2 arg 00000000 flags 00000067
[ 30.985112] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 30.985135] mmc0: req done (CMD2): 0: ffffffff ffffffff ffffffff ffffff00
[ 30.985151] mmc0: starting CMD3 arg 00010000 flags 00000015
[ 30.985201] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.987204] mmc0: req failed (CMD3): -110, retrying...
[ 30.987237] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.989232] mmc0: req failed (CMD3): -110, retrying...
[ 30.989265] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.991262] mmc0: req failed (CMD3): -110, retrying...
[ 30.991296] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 30.993295] mmc0: req done (CMD3): -110: 00000000 00000000 00000000 00000000
[ 30.993302] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
[ 30.993313] mmc0: error -110 whilst initialising MMC card
[ 30.993315] mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0



If you have access to a scope, checking out the CMD line often hints at
whether a problem is software or hardware.

- Chris.


======= lspci -vvnn ==============
0d:00.0 System peripheral [0880]: Ricoh Co Ltd Device [1180:e823] (rev
05) (prog-if 01)
Subsystem: Lenovo Device [17aa:21ce]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast>TAbort-
<TAbort-
<MAbort->SERR-<PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at d1400000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [78] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME+
Capabilities: [80] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1,
Latency L0<4us, L1<64us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
SlotClk+ DLActive-
BWMgmt- ABWMgmt-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [800 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Kernel driver in use: sdhci-pci
Kernel modules: sdhci-pci

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/