Problems with SD8686 SDIO on HTC Shift

Sven Barth svenmauren at vr-web.de
Sat Jan 24 06:53:29 EST 2009


Hello Dan!

Thanks for your answer.

Yes, I did indeed mean 2008. ^^

The SDIO Controller seems to be a no-name one (at least if I found the 
right one). I used "lspci -vvv"  and the output is attached.
I also found some output about the SDIO controller in dmesg (see 
attached file). Might the problems reported there be the source of the 
timeout problems?

I also removed the part about TX_POWER from main.c, but now the module 
hangs with CMD_MAC_CONTROL (0x0028) (another clue, that the source of 
the problems is the SDIO controller?)


Thanks for your help.

Regards,
Sven
-------------- next part --------------
// I think this is about the SDIO Controller
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pci 0000:01:06.0: SDHCI controller found [1947:4743] (rev 9)
sdhci-pci 0000:01:06.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
sdhci-pci 0000:01:06.0: Invalid iomem size. You may experience problems.
input: PC Speaker as /class/input/input7
mmc0: Unknown controller version (17). You may experience problems.
sdhci-pci 0000:01:06.0: Will use DMA mode even though HW doesn't fully claim to support it.
mmc0: SDHCI controller on PCI [0000:01:06.0] using DMA
sdhci-pci 0000:01:06.0: Invalid iomem size. You may experience problems.
mmc1: Unknown controller version (17). You may experience problems.
sdhci-pci 0000:01:06.0: Will use DMA mode even though HW doesn't fully claim to support it.
mmc1: SDHCI controller on PCI [0000:01:06.0] using DMA

// without TX_POWER cmd
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
libertas: f3cbdcce, fw 8.70.8p1, cap 0x00000303
libertas: command 0x0028 timed out
libertas: requeueing command 0x0028 due to timeout (#1)
libertas: command 0x0028 timed out
libertas: requeueing command 0x0028 due to timeout (#2)
libertas: command 0x0028 timed out
libertas: requeueing command 0x0028 due to timeout (#3)
mmc1: Timeout waiting for hardware interrupt.
sdhci: ============== REGISTER DUMP ==============
sdhci: Sys addr: 0x33c2f488 | Version:  0x00000111
sdhci: Blk size: 0x00007010 | Blk cnt:  0x00000001
sdhci: Argument: 0x92000010 | Trn mode: 0x00000003
sdhci: Present:  0x01f70506 | Host ctl: 0x00000003
sdhci: Power:    0x0000000f | Blk gap:  0x00000000
sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
sdhci: Timeout:  0x0000000c | Int stat: 0x00000000
sdhci: Int enab: 0x00ff01fb | Sig enab: 0x00ff01fb
sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci: Caps:     0x01e011a1 | Max curr: 0x00000080
sdhci: ===========================================
libertas: command 0x0028 timed out
libertas: Excessive timeouts submitting command 0x0028
// modprobe libertas_sdio keeps hanging after "excessive timeouts" till I press Ctrl+c
// this comes after I canceled modprobe
libertas: eth0: Marvell WLAN 802.11 adapter
-------------- next part --------------
01:06.0 SD Host controller: Device 1947:4743 (rev 09)
	Subsystem: Device 2211:4433
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (250ns min, 3000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 20
	Region 0: Memory at fe8ffc00 (32-bit, non-prefetchable) [size=512]
	Region 1: Memory at fe8ff800 (32-bit, non-prefetchable) [size=512]
	Capabilities: [80] #00 [0000]
	Kernel driver in use: sdhci-pci
	Kernel modules: sdhci-pci



More information about the libertas-dev mailing list