freescale mx25 + libertas + 8688
zamek
zamek at vili.pmmf.hu
Fri Apr 29 15:17:11 EDT 2011
Hi All,
I have a Freescale iMX25 based (tx25) board with a Marvell 8688 wireless
module on sdio bus.
My kernel is a rel_imx_2.6.35_11.03.00 from freescale git repository.
The wireless chip is wired on sdio bus, not plugged. On end of
sdhci_probe_slot() function I call the tasklet_schedule(&host->card_tasklet)
to force detecting card.
It seems to be good, mmc0 detected well.
After it, I would like to load libertas module:
modprobe libertas libertas_debug=0xffffffff
modprobe libertas_sdio
It seems to be, it couldn't loads helper firmware.
It can detect the card well:
[ 61.639113] libertas sdio: class = 0x0, vendor = 0x2DF, device =
0x9104, model = 0x10, ioport = 0x10000
but the firmware download returns -2.
the wanted firmware name is sd8688_helper.bin, which is in
/lib/firmware/libertas directory.
What should be the mistake?
here is the complete log:
libertas enter: lbs_init_module()
[ 55.190377] libertas leave: lbs_init_module()
[ 61.484521] libertas enter: if_sdio_init_module()
[ 61.484565] libertas_sdio: Libertas SDIO driver
[ 61.489116] libertas_sdio: Copyright Pierre Ossman
[ 61.505832] mmc0: starting CMD52 arg 80022000 flags 00000195
[ 61.505880] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.505928] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.505985] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.506014] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.511564] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.517125] mmc0: starting CMD52 arg 80022202 flags 00000195
[ 61.517174] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.517221] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.517276] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.517307] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.522866] mmc0: req done (CMD52): 0: 00001002 00000000 00000000
00000000
[ 61.529049] libertas enter: if_sdio_probe()
[ 61.533092] SDIO: Enabling device mmc0:0001:1...
[ 61.533147] mmc0: starting CMD52 arg 00000400 flags 00000195
[ 61.533184] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.533233] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.533290] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.533317] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.538742] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.545101] mmc0: starting CMD52 arg 80000402 flags 00000195
[ 61.545152] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.545200] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.545254] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.545282] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.550700] mmc0: req done (CMD52): 0: 00001002 00000000 00000000
00000000
[ 61.556806] mmc0: starting CMD52 arg 00000600 flags 00000195
[ 61.556856] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.556905] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.556957] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.556985] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.562512] mmc0: req done (CMD52): 0: 00001002 00000000 00000000
00000000
[ 61.568896] SDIO: Enabled device mmc0:0001:1
[ 61.568938] SDIO: Enabling IRQ for mmc0:0001:1...
[ 61.568980] mmc0: starting CMD52 arg 00000800 flags 00000195
[ 61.569017] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.569064] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.569118] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.569146] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.574675] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.580655] mmc0: starting CMD52 arg 80000803 flags 00000195
[ 61.580704] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.580752] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.580807] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.580835] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.586358] mmc0: req done (CMD52): 0: 00001003 00000000 00000000
00000000
[ 61.594277] mmc0: starting CMD52 arg 10000000 flags 00000195
[ 61.594325] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.594373] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.594429] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.594457] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.599878] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.603589] mmc0: IRQ thread started (poll period = 2147483647 jiffies)
[ 61.608323] mmc0: starting CMD52 arg 10000200 flags 00000195
[ 61.608374] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.608423] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.608476] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.608504] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.614023] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.619995] mmc0: starting CMD52 arg 10000400 flags 00000195
[ 61.620045] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.620092] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.620146] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.620174] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.625699] mmc0: req done (CMD52): 0: 00001001 00000000 00000000
00000000
[ 61.631864] mmc0: starting CMD52 arg 00000a00 flags 00000195
[ 61.631914] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.631964] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.632020] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.632050] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.637460] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.639113] libertas sdio: class = 0x0, vendor = 0x2DF, device =
0x9104, model = 0x10, ioport = 0x10000
[ 61.639163] libertas enter: if_sdio_prog_firmware()
[ 61.639212] mmc0: starting CMD52 arg 10008000 flags 00000195
[ 61.639250] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.639298] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.639353] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.639381] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.644908] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.650892] mmc0: starting CMD52 arg 10008200 flags 00000195
[ 61.650943] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.650992] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.651045] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.651074] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.656597] mmc0: req done (CMD52): 0: 00001000 00000000 00000000
00000000
[ 61.663814] libertas sdio: firmware status = 0x0
[ 61.663857] libertas enter: if_sdio_prog_helper()
[ 61.709732] libertas: can't load helper firmware
[ 61.727630] libertas: failed to load helper firmware
[ 61.746316] libertas leave: if_sdio_prog_helper(), ret -2
[ 61.746360] libertas leave: if_sdio_prog_firmware(), ret -2
[ 61.746398] SDIO: Disabling IRQ for mmc0:0001:1...
[ 61.746473] mmc0: IRQ thread exiting with code 0
[ 61.746641] mmc0: starting CMD52 arg 00000800 flags 00000195
[ 61.746683] mxsdhci [sdhci_send_command()]: sdhci_send_command 0x34
is starting...
[ 61.746731] mxsdhci [sdhci_send_command()]: Complete sending cmd,
transfer mode would be 0x341a0000.
[ 61.746787] mxsdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 61.746815] drivers/mmc/host/mx_sdhci.c: irq command irq
[ 61.752341] mmc0: req done (CMD52): 0: 00001003 00000000 00000000
00000000
[ 61.772197] mmc0: starting CMD52 arg 80000800 flags 00000195
--
thx,
----------------------------------
Zoltan Zidarics programmer
PTE-PMMFK H-7621 Pecs, Boszorkany u. 2. Hungary
E-Mail: zamek at vili.pmmf.hu
----------------------------------
More information about the libertas-dev
mailing list