2013-02-12 07:41:02

by Johannes Braun

[permalink] [raw]
Subject: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

Hello,

in my company we are using a Freescale imx35 based platform with a
3.7.6 Kernel. Currently I am trying to get the Silex SX-SDCAN (AR6003)
module up and running on this platform. But I have some trouble. The
module is connected via sdio.

My first try was with the ath6kl_sdio driver module of our kernel
(vanilla 3.7.6) which ends in the following error:
root@generic-armv6:~# modprobe ath6kl_sdio
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: Calling CRDA for country: DE
cfg80211: Regulatory domain changed to country: DE
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211: (2400000 KHz - 2483000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211: (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211: (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211: (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2700 mBm)
ath6kl: temporary war to avoid sdio crc error
ath6kl: host only supports scatter of :1 entries, need: 16
ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.144 api 3
ath6kl: abi version mismatch: host(0x1), target(0x0)
mmc0: Timeout waiting for hardware interrupt.
------------[ cut here ]------------
WARNING: at drivers/net/wireless/ath/ath6kl/sdio.c:487
ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio]()
Modules linked in: ath6kl_sdio(+) ath6kl_core cfg80211 firmware_class ipv6
[<c0014860>] (unwind_backtrace+0x0/0xfc) from [<c03a5fa8>]
(dump_stack+0x20/0x24)
[<c03a5fa8>] (dump_stack+0x20/0x24) from [<c001ef14>]
(warn_slowpath_common+0x5c/0x74)
[<c001ef14>] (warn_slowpath_common+0x5c/0x74) from [<c001ef58>]
(warn_slowpath_null+0x2c/0x34)
[<c001ef58>] (warn_slowpath_null+0x2c/0x34) from [<bf10f56c>]
(ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio])
[<bf10f56c>] (ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio]) from
[<c02cbdec>] (sdio_irq_thread+0x1dc/0x288)
[<c02cbdec>] (sdio_irq_thread+0x1dc/0x288) from [<c0041824>] (kthread+0xb4/0xc0)
[<c0041824>] (kthread+0xb4/0xc0) from [<c000e5c8>] (ret_from_fork+0x14/0x20)
---[ end trace af8071666a83a3e8 ]---
mmc0: Timeout waiting for hardware interrupt.
------------[ cut here ]------------
WARNING: at drivers/net/wireless/ath/ath6kl/sdio.c:487
ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio]()
Modules linked in: ath6kl_sdio(+) ath6kl_core cfg80211 firmware_class ipv6
[<c0014860>] (unwind_backtrace+0x0/0xfc) from [<c03a5fa8>]
(dump_stack+0x20/0x24)
[<c03a5fa8>] (dump_stack+0x20/0x24) from [<c001ef14>]
(warn_slowpath_common+0x5c/0x74)
[<c001ef14>] (warn_slowpath_common+0x5c/0x74) from [<c001ef58>]
(warn_slowpath_null+0x2c/0x34)
[<c001ef58>] (warn_slowpath_null+0x2c/0x34) from [<bf10f56c>]
(ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio])
[<bf10f56c>] (ath6kl_sdio_irq_handler+0x78/0x84 [ath6kl_sdio]) from
[<c02cbdec>] (sdio_irq_thread+0x1dc/0x288)
[<c02cbdec>] (sdio_irq_thread+0x1dc/0x288) from [<c0041824>] (kthread+0xb4/0xc0)
[<c0041824>] (kthread+0xb4/0xc0) from [<c000e5c8>] (ret_from_fork+0x14/0x20)
---[ end trace af8071666a83a3e9 ]---

Then I used the actual head of the github probject of ath6kl. I
checked it out and built a kernel with the sources. The result was a
3.7 kernel, the ath6kl_sdio.ko module and all the other modules. But
when I`m trying load the ath6kl module via "modprobe ath6kl_sdio" I
get the same error as before with our 3.7.6 kernel. See the log above.

Does someone have an idea what`s whats the issue?

Best regards
Johannes


2013-03-11 08:16:42

by Kalle Valo

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

Johannes Braun <[email protected]> writes:

> Hello,
>
>> Is your platform big endian or little endian? I haven't tested ath6kl on
>> a big endian platform so there might be issues.
>
> The arm works in little endian mode. CPU_BIG_ENDIAN is not set in the
> kernel config.

Good, so that's not it.

>> The last two messages make me suspect a hardware problem, but it's
>> difficult to know really.
>>
>> Can you please enable debug messages and send them? Especially these
>> levels are important:
>>
>> ATH6KL_DBG_SDIO = BIT(16),
>> ATH6KL_DBG_SDIO_DUMP = BIT(17),
>> ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */
>>
>> Or you could just enable everything with debug_mask=0xffffffff.
>
> I am a litte bit confused. The module ath6kl_core and ath6kl_sdio.
> ath6kl_sdio depends on ath6kl_core. When I check the parameters of
> ath6kl_sdio I can`t see the parameter debug_mask. But the core module
> has this parameter. First I loaded ath6kl_core via "modprobe
> ath6kl_core debug_mask=0xffffffff " and afterwards the ath6kl_sdio via
> "modprobe ath6kl_sdio".

This looks correct to me. Can you check from sysfs that the module
parameter is really set:

$ cat /sys/module/ath6kl_core/parameters/debug_mask
4294967295

> But it seems to have no effect. I can`t see more debug messages as
> before.

That's odd, you should see something like this when you load
ath6kl_sdio:

[ 186.426262] ath6kl: sdio new func 1 vendor 0x271 device 0x301 block 0x800/0x200
[ 186.426371] ath6kl: ath6kl_sdio_free_bus_req: bus request 0xf35f002c
[ 186.426548] ath6kl: ath6kl_sdio_free_bus_req: bus request 0xf35f0050

> I have also enabled all debug parameters in the "Atheros Wireless
> Cards" menu in the kernel config, CONFIG_ATH_DEBUG and
> CONFIG_ATH6KL_DEBUG. Am i doing something wrong?

I can't see anything wrong, but it's Monday morning so I might be
missing something :)

One thing is to double check that CONFIG_ATH6KL_DEBUG is really set and
you are using the correct version of _both_ kernel modules. IIRC ath6kl
has a bug that it doesn't warn if debug_mask is set and
CONFIG_ATH6KL_DEBUG is not set. We should fix that.

>> Also try various quirks in the SDIO controller, if it supports those.
>
> I googled for quirks in combination with my sdio controller. The
> controller is a freescale controller and the driver is implemented in
> /drivers/mmc/host/sdhci-esdhc-imx.c. Currently there are some quirks
> enabled.
>
> 389 static struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = {
> 390 .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_HISPD_BIT
> 391 | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC
> 392 | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC
> 393 | SDHCI_QUIRK_BROKEN_CARD_DETECTION,
> 394 .ops = &sdhci_esdhc_ops,
> 395 };
>
> I will have a looks at the available quirks in
> include/linux/mmc/sdhci.h and try to test various combinations. I have
> to say that I`m not a SDIO expert, and I hope that I have properly
> understood your hint.

This is exactly what I was suggesting.

Can you use any other SDIO device to test if the problem is in ath6kl or
in the SDIO bus?

--
Kalle Valo

2013-03-13 14:34:49

by Jonathan Bagg

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

>> Are you using a freescale kernel or mainline kernel? freescale kernels
>> change from one ltib to the next. My ltib that supports imx51 may have
>> had the sdhci driver rewritten since the ltib that first supported
>> imx35.
>>
>
> I am using a mainline kernel. I don`t want to use freescale`s ltip,
> because the kernel version is very old.

If you have an imx35 dev board from freescale that you can attach the
AR6003 to, I would try that with ltib L2.6.31_09.12.01 and compat 3.8. I
can show you how to get compat 3.8 to build in ltib.

Jon


2013-03-13 13:55:47

by Johannes Braun

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

2013/3/12 <[email protected]>:
>>> struct sdhci_of_data sdhci_esdhc = {
>>> .quirks = SDHCI_QUIRK_FORCE_BLK_SZ_2048 |
>>> SDHCI_QUIRK_BROKEN_CARD_DETECTION |
>>> SDHCI_QUIRK_NO_BUSY_IRQ |
>>> SDHCI_QUIRK_NONSTANDARD_CLOCK |
>>> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
>>> SDHCI_QUIRK_PIO_NEEDS_DELAY |
>>> SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET |
>>> SDHCI_QUIRK_NO_CARD_NO_RESET,
>>> .ops = {
>>>
>>> Jon
>>
>> I made a test with these quirks enabled. But the result was the same.
>> Loading the module also ends in the known error "mmc0: Timeout waiting
>> for hardware interrupt".
>> I am a little bit confuced. Seems your freescale kernel uses another
>> mmc driver for your imx51? My kernel config, the one for imx35
>> processors, includes "/drivers/mmc/host/sdhci-esdhc-imx.c" =>
>> CONFIG_MMC_SDHCI_ESDHC_IMX and not "drivers/mmc/host/sdhci-of-esdhc.c"
>
> My bad. Still my driver is different. The kernel config defines
> CONFIG_MMC_IMX_ESDHCI=y which adds
> /drivers/mmc/host/mx_sdhci.c
> and has a bunch of quirks that are only defined locally.
>
> Are you using a freescale kernel or mainline kernel? freescale kernels
> change from one ltib to the next. My ltib that supports imx51 may have
> had the sdhci driver rewritten since the ltib that first supported imx35.
>

I am using a mainline kernel. I don`t want to use freescale`s ltip,
because the kernel version is very old.

--
Johannes

2013-03-08 07:20:05

by Kalle Valo

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

Hi,

Johannes Braun <[email protected]> writes:

> in my company we are using a Freescale imx35 based platform with a
> 3.7.6 Kernel. Currently I am trying to get the Silex SX-SDCAN (AR6003)
> module up and running on this platform. But I have some trouble. The
> module is connected via sdio.

Is your platform big endian or little endian? I haven't tested ath6kl on
a big endian platform so there might be issues.

> My first try was with the ath6kl_sdio driver module of our kernel
> (vanilla 3.7.6) which ends in the following error:
> root@generic-armv6:~# modprobe ath6kl_sdio
> cfg80211: Calling CRDA to update world regulatory domain
> cfg80211: World regulatory domain updated:
> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
> cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
> cfg80211: Calling CRDA for country: DE
> cfg80211: Regulatory domain changed to country: DE
> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
> cfg80211: (2400000 KHz - 2483000 KHz @ 40000 KHz), (N/A, 2000 mBm)
> cfg80211: (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
> cfg80211: (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
> cfg80211: (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2700 mBm)
> ath6kl: temporary war to avoid sdio crc error
> ath6kl: host only supports scatter of :1 entries, need: 16
> ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.144 api 3
> ath6kl: abi version mismatch: host(0x1), target(0x0)
> mmc0: Timeout waiting for hardware interrupt.

The last two messages make me suspect a hardware problem, but it's
difficult to know really.

Can you please enable debug messages and send them? Especially these
levels are important:

ATH6KL_DBG_SDIO = BIT(16),
ATH6KL_DBG_SDIO_DUMP = BIT(17),
ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */

Or you could just enable everything with debug_mask=0xffffffff. More
info here:

http://wireless.kernel.org/en/users/Drivers/ath6kl/Debug

Also try various quirks in the SDIO controller, if it supports those.
For example in some platforms using sdhci people have had to disable DMA
etc to get SDIO bus reliable.

--
Kalle Valo

2013-03-11 07:36:57

by Johannes Braun

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

Hello,

> Is your platform big endian or little endian? I haven't tested ath6kl on
> a big endian platform so there might be issues.

The arm works in little endian mode. CPU_BIG_ENDIAN is not set in the
kernel config.


> The last two messages make me suspect a hardware problem, but it's
> difficult to know really.
>
> Can you please enable debug messages and send them? Especially these
> levels are important:
>
> ATH6KL_DBG_SDIO = BIT(16),
> ATH6KL_DBG_SDIO_DUMP = BIT(17),
> ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */
>
> Or you could just enable everything with debug_mask=0xffffffff.

I am a litte bit confused. The module ath6kl_core and ath6kl_sdio.
ath6kl_sdio depends on ath6kl_core. When I check the parameters of
ath6kl_sdio I can`t see the parameter debug_mask. But the core module
has this parameter. First I loaded ath6kl_core via "modprobe
ath6kl_core debug_mask=0xffffffff " and afterwards the ath6kl_sdio via
"modprobe ath6kl_sdio". But it seems to have no effect. I can`t see
more debug messages as before. I have also enabled all debug
parameters in the "Atheros Wireless Cards" menu in the kernel config,
CONFIG_ATH_DEBUG and CONFIG_ATH6KL_DEBUG. Am i doing something wrong?


> Also try various quirks in the SDIO controller, if it supports those.

I googled for quirks in combination with my sdio controller. The
controller is a freescale controller and the driver is implemented in
/drivers/mmc/host/sdhci-esdhc-imx.c. Currently there are some quirks
enabled.

389 static struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = {
390 .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_HISPD_BIT
391 | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC
392 | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC
393 | SDHCI_QUIRK_BROKEN_CARD_DETECTION,
394 .ops = &sdhci_esdhc_ops,
395 };

I will have a looks at the available quirks in
include/linux/mmc/sdhci.h and try to test various combinations. I have
to say that I`m not a SDIO expert, and I hope that I have properly
understood your hint.


> For example in some platforms using sdhci people have had to disable DMA
> etc to get SDIO bus reliable.

DMA is completly disabled in the kernel.

Best regards
Johannes

2013/3/8 Kalle Valo <[email protected]>:
> Hi,
>
> Johannes Braun <[email protected]> writes:
>
>> in my company we are using a Freescale imx35 based platform with a
>> 3.7.6 Kernel. Currently I am trying to get the Silex SX-SDCAN (AR6003)
>> module up and running on this platform. But I have some trouble. The
>> module is connected via sdio.
>
> Is your platform big endian or little endian? I haven't tested ath6kl on
> a big endian platform so there might be issues.
>
>> My first try was with the ath6kl_sdio driver module of our kernel
>> (vanilla 3.7.6) which ends in the following error:
>> root@generic-armv6:~# modprobe ath6kl_sdio
>> cfg80211: Calling CRDA to update world regulatory domain
>> cfg80211: World regulatory domain updated:
>> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
>> cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
>> cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
>> cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
>> cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
>> cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
>> cfg80211: Calling CRDA for country: DE
>> cfg80211: Regulatory domain changed to country: DE
>> cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
>> cfg80211: (2400000 KHz - 2483000 KHz @ 40000 KHz), (N/A, 2000 mBm)
>> cfg80211: (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
>> cfg80211: (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
>> cfg80211: (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2700 mBm)
>> ath6kl: temporary war to avoid sdio crc error
>> ath6kl: host only supports scatter of :1 entries, need: 16
>> ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.144 api 3
>> ath6kl: abi version mismatch: host(0x1), target(0x0)
>> mmc0: Timeout waiting for hardware interrupt.
>
> The last two messages make me suspect a hardware problem, but it's
> difficult to know really.
>
> Can you please enable debug messages and send them? Especially these
> levels are important:
>
> ATH6KL_DBG_SDIO = BIT(16),
> ATH6KL_DBG_SDIO_DUMP = BIT(17),
> ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */
>
> Or you could just enable everything with debug_mask=0xffffffff. More
> info here:
>
> http://wireless.kernel.org/en/users/Drivers/ath6kl/Debug
>
> Also try various quirks in the SDIO controller, if it supports those.
> For example in some platforms using sdhci people have had to disable DMA
> etc to get SDIO bus reliable.
>
> --
> Kalle Valo

2013-03-12 16:47:30

by Johannes Braun

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

> I'm using an AR6103 (AR6003) on the imx51 platform connected via sdio on
> mmc1. Seems to work good. I'm using Freescale's patched 2.6.35 kernel
> which comes from their ltib L2.6.35_11.05.01 and compat v3.8. Here are
> the QUIRKs from drivers/mmc/host/sdhci-of-esdhc.c
>
> struct sdhci_of_data sdhci_esdhc = {
> .quirks = SDHCI_QUIRK_FORCE_BLK_SZ_2048 |
> SDHCI_QUIRK_BROKEN_CARD_DETECTION |
> SDHCI_QUIRK_NO_BUSY_IRQ |
> SDHCI_QUIRK_NONSTANDARD_CLOCK |
> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
> SDHCI_QUIRK_PIO_NEEDS_DELAY |
> SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET |
> SDHCI_QUIRK_NO_CARD_NO_RESET,
> .ops = {
>
> Jon

I made a test with these quirks enabled. But the result was the same.
Loading the module also ends in the known error "mmc0: Timeout waiting
for hardware interrupt".
I am a little bit confuced. Seems your freescale kernel uses another
mmc driver for your imx51? My kernel config, the one for imx35
processors, includes "/drivers/mmc/host/sdhci-esdhc-imx.c" =>
CONFIG_MMC_SDHCI_ESDHC_IMX and not "drivers/mmc/host/sdhci-of-esdhc.c"
=> CONFIG_MMC_SDHCI_OF_ESDHC. CONFIG_MMC_SDHCI_OF_ESDHC cant`t be
enabled because CONFIG_PPC_OF is not defined. And I think
CONFIG_PPC_OF is power pc stuff.

"/drivers/mmc/host/Kconfig" file:
[...]
132 config MMC_SDHCI_ESDHC_IMX
133 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
134 depends on ARCH_MXC
135 depends on MMC_SDHCI_PLTFM
136 select MMC_SDHCI_IO_ACCESSORS
137 help
138 This selects the Freescale eSDHC/uSDHC controller support
139 found on i.MX25, i.MX35 i.MX5x and i.MX6x.
140
141 If you have a controller with this interface, say Y or M here.
142
143 If unsure, say N.
[...]
95 config MMC_SDHCI_OF_ESDHC
96 tristate "SDHCI OF support for the Freescale eSDHC controller"
97 depends on MMC_SDHCI_PLTFM
98 depends on PPC_OF
99 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
100 help
101 This selects the Freescale eSDHC controller support.
102
103 If you have a controller with this interface, say Y or M here.
104
105 If unsure, say N.
[...]

"/drivers/mmc/host/Makefile":
[...]
obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o
obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o
obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o
obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
[...]

---
Johannes

2013-03-12 13:59:50

by Jonathan Bagg

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform


I'm using an AR6103 (AR6003) on the imx51 platform connected via sdio on
mmc1. Seems to work good. I'm using Freescale's patched 2.6.35 kernel
which comes from their ltib L2.6.35_11.05.01 and compat v3.8. Here are
the QUIRKs from drivers/mmc/host/sdhci-of-esdhc.c

struct sdhci_of_data sdhci_esdhc = {
.quirks = SDHCI_QUIRK_FORCE_BLK_SZ_2048 |
SDHCI_QUIRK_BROKEN_CARD_DETECTION |
SDHCI_QUIRK_NO_BUSY_IRQ |
SDHCI_QUIRK_NONSTANDARD_CLOCK |
SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
SDHCI_QUIRK_PIO_NEEDS_DELAY |
SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET |
SDHCI_QUIRK_NO_CARD_NO_RESET,
.ops = {

Jon


2013-03-12 08:55:18

by Johannes Braun

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

>>> The last two messages make me suspect a hardware problem, but it's
>>> difficult to know really.
>>>
>>> Can you please enable debug messages and send them? Especially these
>>> levels are important:
>>>
>>> ATH6KL_DBG_SDIO = BIT(16),
>>> ATH6KL_DBG_SDIO_DUMP = BIT(17),
>>> ATH6KL_DBG_BOOT = BIT(18), /* driver init and fw boot */
>>>
>>> Or you could just enable everything with debug_mask=0xffffffff.
>>
>> I am a litte bit confused. The module ath6kl_core and ath6kl_sdio.
>> ath6kl_sdio depends on ath6kl_core. When I check the parameters of
>> ath6kl_sdio I can`t see the parameter debug_mask. But the core module
>> has this parameter. First I loaded ath6kl_core via "modprobe
>> ath6kl_core debug_mask=0xffffffff " and afterwards the ath6kl_sdio via
>> "modprobe ath6kl_sdio".
>
> This looks correct to me. Can you check from sysfs that the module
> parameter is really set:
>
> $ cat /sys/module/ath6kl_core/parameters/debug_mask
> 4294967295
>

Checked the exportet parameter
/sys/module/ath6kl_core/parameters/debug_mask. I also got the value
4294967295.


>> But it seems to have no effect. I can`t see more debug messages as
>> before.
>
> That's odd, you should see something like this when you load
> ath6kl_sdio:
>
> [ 186.426262] ath6kl: sdio new func 1 vendor 0x271 device 0x301 block 0x800/0x200
> [ 186.426371] ath6kl: ath6kl_sdio_free_bus_req: bus request 0xf35f002c
> [ 186.426548] ath6kl: ath6kl_sdio_free_bus_req: bus request 0xf35f0050
>
>> I have also enabled all debug parameters in the "Atheros Wireless
>> Cards" menu in the kernel config, CONFIG_ATH_DEBUG and
>> CONFIG_ATH6KL_DEBUG. Am i doing something wrong?
>
> I can't see anything wrong, but it's Monday morning so I might be
> missing something :)
>
> One thing is to double check that CONFIG_ATH6KL_DEBUG is really set and
> you are using the correct version of _both_ kernel modules. IIRC ath6kl
> has a bug that it doesn't warn if debug_mask is set and
> CONFIG_ATH6KL_DEBUG is not set. We should fix that.
>

Checked it again today. Maybe it was to late on friday, but it worked
today. It?s a verly long log and I removed the sections where the
firmware was downloaded to the device. Otherwise the log would be even
longer. I hope it`s not a problem here on the mailing list. If so, I`m
sry for that.

<7>ath6kl: sdio new func 1 vendor 0x271 device 0x301 block 0x800/0x200
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714800c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148030
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148054
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148078
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714809c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71480c0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71480e4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148108
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714812c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148150
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148174
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148198
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71481bc
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71481e0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148204
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148228
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714824c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148270
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148294
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71482b8
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71482dc
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148300
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148324
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148348
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714836c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148390
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71483b4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71483d8
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71483fc
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148420
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148444
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148468
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714848c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71484b0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71484d4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71484f8
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714851c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148540
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148564
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148588
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71485ac
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71485d0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71485f4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148618
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714863c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148660
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148684
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71486a8
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71486cc
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71486f0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148714
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148738
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714875c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148780
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71487a4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71487c8
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71487ec
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148810
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148834
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc7148858
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc714887c
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71488a0
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71488c4
<7>ath6kl: ath6kl_sdio_free_bus_req: bus request 0xc71488e8
<7>ath6kl: 4-bit async irq mode enabled
<7>ath6kl: hif power on
<7>ath6kl: sdio power on
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xffc buf 0xc70e9cf4 len 4
<7>sdio 00000000: 08 00 00 00 ....
<7>ath6kl: rd addr 0x405 buf 0xc70e9cbc len 4
<7>sdio 00000000: 01 00 00 ff ....
<7>ath6kl: rd addr 0x800 buf 0xc70e9d28 len 4
<7>sdio 00000000: ff ff ff ff ....
<7>ath6kl: rd addr 0x405 buf 0xc70e9cbc len 4
<7>sdio 00000000: 01 00 00 0c ....
<7>ath6kl: rd addr 0x800 buf 0xc70e9d24 len 4
<7>sdio 00000000: 0c 00 00 00 ....
<7>ath6kl: rd addr 0x405 buf 0xc70e9cbc len 4
<7>sdio 00000000: 01 00 00 82 ....
<7>ath6kl: rd addr 0x800 buf 0xc70e9d28 len 8
<7>sdio 00000000: 82 05 00 30 03 00 00 00 ...0....
<7>ath6kl: target info (ver: 0x30000582 type: 0x3)
<7>ath6kl: target_ver 0x30000582 target_type 0x3 dataset_patch
0x57ff74 app_load_addr 0x1234
<7>ath6kl: app_start_override_addr 0x0 board_ext_data_addr 0x542330
reserved_ram_size 0x200
<7>ath6kl: refclk_hz 26000000 uarttx_pin 8<7>ath6kl: hif block size
128 mbox addr 0x800
<7>ath6kl: hif write sync addr 0x418 buf 0xc70e9cb4 len 4 request 0x252
<7>ath6kl: wr addr 0x418 buf 0xc70e9cb4 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: found fw version 3.2.0.144
<7>ath6kl: Unknown fw ie: 1
<7>ath6kl: found otp image ie (3998 B)
<7>ath6kl: found fw image ie (100167 B)
<7>ath6kl: found patch image ie (312 B)
<7>ath6kl: found firmware capabilities ie (1 B)
<7>ath6kl: capabilities
<7>00000000: 16 00 00 00 ....
<7>ath6kl: found patch address ie 0x57fec8
<7>ath6kl: using fw api 3
<7>ath6kl: ath6kl_core_init: got wmi @ 0xc73af7c0.
<7>ath6kl: hw start
<7>ath6kl: hif power on
<7>ath6kl: bmi write memory: addr: 0x540614, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 14 06 54 00 04 00 00 00 00 00 00 00
......T.........
<7>ath6kl: bmi write memory: addr: 0x540600, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 00 06 54 00 04 00 00 00 02 00 00 00
......T.........
<7>ath6kl: bmi read memory: device: addr: 0x540610, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 02 00 00 00 10 06 54 00 04 00 00 00 ......T.....
<7>ath6kl: rd addr 0x405 buf 0xc70e9c04 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: bmi write memory: addr: 0x540610, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 10 06 54 00 04 00 00 00 00 12 10 00
......T.........
<7>ath6kl: firmware mode set
<7>ath6kl: bmi write memory: addr: 0x5406ac, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 ac 06 54 00 04 00 00 00 30 23 54 00
......T.....0#T.
<7>ath6kl: bmi write memory: addr: 0x540668, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 68 06 54 00 04 00 00 00 00 02 00 00
....h.T.........
<7>ath6kl: bmi write memory: addr: 0x54066c, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 6c 06 54 00 04 00 00 00 80 00 00 00
....l.T.........
<7>ath6kl: block size set: 128 (target addr:0x54066C)
<7>ath6kl: bmi write memory: addr: 0x540674, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 74 06 54 00 04 00 00 00 63 00 00 00
....t.T.....c...
<7>ath6kl: bmi write memory: addr: 0x540680, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 80 06 54 00 04 00 00 00 08 00 00 00
......T.........
<7>ath6kl: bmi write memory: addr: 0x540678, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 78 06 54 00 04 00 00 00 80 ba 8c 01
....x.T.........
<7>ath6kl: bmi read SOC reg: addr: 0x180c0
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 06 00 00 00 c0 80 01 00 ........
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: bmi write SOC reg: addr: 0x180c0, param: 8
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 c0 80 01 00 08 00 00 00 ............
<7>ath6kl: bmi read SOC reg: addr: 0x40c4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 06 00 00 00 c4 40 00 00 .....@..
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 01 00 00 0d ....
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 0d 00 00 00 ....
<7>ath6kl: bmi write SOC reg: addr: 0x40c4, param: 13
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 c4 40 00 00 0d 00 00 00 .....@......
<7>ath6kl: old options: 0, old sleep: 13
<7>ath6kl: bmi write SOC reg: addr: 0x1c284, param: -116375551
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 84 c2 01 00 01 40 10 f9 .........@..
<7>ath6kl: bmi write SOC reg: addr: 0x4020, param: 1
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 20 40 00 00 01 00 00 00 .... @......
<7>ath6kl: bmi write SOC reg: addr: 0x40e0, param: 1048576
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 e0 40 00 00 00 00 10 00 .....@......
<3>ath6kl: temporary war to avoid sdio crc error
<7>ath6kl: bmi write SOC reg: addr: 0x1404c, param: 40
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 4c 40 01 00 28 00 00 00 ....L@..(...
<7>ath6kl: bmi write SOC reg: addr: 0x14050, param: 32
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 50 40 01 00 20 00 00 00 ....P@.. ...
<7>ath6kl: bmi write SOC reg: addr: 0x14054, param: 32
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 54 40 01 00 20 00 00 00 ....T@.. ...
<7>ath6kl: bmi write SOC reg: addr: 0x14058, param: 32
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 58 40 01 00 20 00 00 00 ....X@.. ...
<7>ath6kl: bmi write SOC reg: addr: 0x1405c, param: 32
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 5c 40 01 00 20 00 00 00 ....\@.. ...
<7>ath6kl: bmi read memory: device: addr: 0x540654, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 02 00 00 00 54 06 54 00 04 00 00 00 ....T.T.....
<7>ath6kl: rd addr 0x405 buf 0xc70e9c2c len 4
<7>sdio 00000000: 01 00 00 30 ...0
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 30 1f 54 00 0.T.
<7>ath6kl: bmi read memory: device: addr: 0x5406ac, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 02 00 00 00 ac 06 54 00 04 00 00 00 ......T.....
<7>ath6kl: rd addr 0x405 buf 0xc70e9c2c len 4
<7>sdio 00000000: 01 00 00 30 ...0
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 30 23 54 00 0#T.
<7>ath6kl: writing extended board data to 0x542330 (768 B)
<7>ath6kl: bmi write memory: addr: 0x542330, len: 768
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 30 23 54 00 f4 00 00 00 ff ff ff ff
....0#T.........
<7>sdio 00000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
................
<7>sdio 00000020: ff ff ff ff ff ff ff ff ff ff ff ff 70 75 7a 7f
............puz.
<7>sdio 00000030: 84 89 8e 93 98 9d a2 a7 ac b8 ff ff 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 24 24 54 00 f4 00 00 00 00 00 00 00
....$$T.........
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 18 25 54 00 f4 00 00 00 00 00 00 00
.....%T.........
<7>sdio 00000010: 00 00 00 00 ef 82 67 00 a9 ff 08 43 53 55 45 57
......g....CSUEW
<7>sdio 00000020: 41 50 ef 81 67 00 a8 ff 09 44 54 55 46 57 41 50
AP..g....DTUFWAP
<7>sdio 00000030: ee 81 67 00 a6 ff 06 41 51 52 42 54 41 50 ee 80
..g....AQRBTAP..
<7>sdio 00000040: 67 9a a3 ff 07 44 53 55 45 56 41 50 ed 80 67 00
g....DSUEVAP..g.
<7>sdio 00000050: a1 ff 04 41 51 52 43 54 41 50 ed 80 67 00 9f ff
...AQRCTAP..g...
<7>sdio 00000060: 07 43 54 55 45 57 41 50 ec 80 67 00 9c ff 03 41
.CTUEWAP..g....A
<7>sdio 00000070: 51 52 42 54 41 50 ec 7f 67 00 9a ff 04 43 52 54
QRBTAP..g....CRT
<7>sdio 00000080: 44 56 41 50 ec 7f 67 00 99 ff 05 44 53 55 45 57
DVAP..g....DSUEW
<7>sdio 00000090: 41 50 ec 7f 67 00 99 ff 06 44 55 56 46 57 41 50
AP..g....DUVFWAP
<7>sdio 000000a0: ec 7f 67 00 98 ff 06 45 54 56 46 57 41 50 ec 7f
..g....ETVFWAP..
<7>sdio 000000b0: 67 00 9a ff 05 43 53 54 45 56 41 50 ed 7f 67 00
g....CSTEVAP..g.
<7>sdio 000000c0: 9d ff 07 45 55 56 47 58 41 50 ee 7f 67 00 a2 ff
...EUVGXAP..g...
<7>sdio 000000d0: 11 45 55 56 47 57 41 50 00 00 00 00 00 00 00 00
.EUVGWAP........
<7>sdio 000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000f0: 00 00 00 00 6d 00 3b 14 04 d9 07 00 03 4c 5c 68
....m.;......L\h
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 b0 06 54 00 04 00 00 00 01 00 00 03
......T.........
<7>ath6kl: writing board file to 0x541f30 (1024 B)
<7>ath6kl: bmi write memory: addr: 0x541f30, len: 1024
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 30 1f 54 00 f4 00 00 00 00 07 00 00
....0.T.........
<7>sdio 00000010: 4c ed 06 60 02 00 40 0c 00 00 00 00 05 63 00 00
L..`[email protected]..
<7>sdio 00000020: 0f 01 00 03 7f be f0 a0 00 03 7f 00 00 00 01 01
................
<7>sdio 00000030: 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
................
<7>sdio 00000040: ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 db 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 2d 2d 00 00 20 2a 1f 00 e0 00 02
.....--.. *.....
<7>sdio 00000070: 0e 0e 0e 00 ab 00 00 0f 02 00 00 80 00 00 00 80
................
<7>sdio 00000080: 00 00 00 80 00 00 00 80 00 00 00 80 00 00 25 00
..............%.
<7>sdio 00000090: 00 00 e0 3a 00 60 64 66 65 44 65 34 45 53 54 55
...:.`dfeDe4ESTU
<7>sdio 000000a0: 55 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00
UC..............
<7>sdio 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000d0: 00 04 00 00 10 01 00 00 22 11 00 00 d3 5c 00 00
........"....\..
<7>sdio 000000e0: 00 00 00 00 00 2d 2d 00 00 20 19 00 00 d3 00 02
.....--.. ......
<7>sdio 000000f0: 0e 0e 0e 21 ba 00 00 0a 00 00 00 80 00 00 00 80
...!............
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 24 20 54 00 f4 00 00 00 00 00 00 80
....$ T.........
<7>sdio 00000010: 00 00 00 80 00 00 00 80 00 00 25 00 00 00 d8 3a
..........%....:
<7>sdio 00000020: 00 40 44 24 52 22 24 24 23 32 22 22 22 13 64 25
.@D$R"$$#2""".d%
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000090: 00 00 00 00 cd 00 00 3a 3a 00 00 00 00 00 00 00
.......::.......
<7>sdio 000000a0: 00 00 00 00 00 00 00 00 ff 00 00 00 00 ff 00 00
................
<7>sdio 000000b0: 00 00 ff 00 00 00 00 ff 00 00 00 00 ff 00 00 00
................
<7>sdio 000000c0: 00 ff 00 00 00 00 ff 00 00 00 00 ff 00 00 00 00
................
<7>sdio 000000d0: ff 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 00
................
<7>sdio 000000e0: 00 00 ff 00 00 00 00 00 00 00 00 ff 00 00 00 00
................
<7>sdio 000000f0: 00 00 00 00 ff 00 00 00 00 00 00 00 00 ff 00 00
................
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 18 21 54 00 f4 00 00 00 00 00 00 00
.....!T.........
<7>sdio 00000010: 00 00 ff 00 00 00 00 00 00 00 00 ff 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 ff 00 00 00 00 00 00 00 00 ff 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 ff 00 00 00 00 00 00 00 00 ff
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 ff 00 00 00 00 00 00 00 00 ff 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 ff 00 00 00 00 00 00 00 00 70 1e 1e 1e
............p...
<7>sdio 00000070: 1e b8 1e 1e 1e 1e 70 1c 1c 1a 1a 89 1c 1c 1a 1a
......p.........
<7>sdio 00000080: ac 1c 1c 1a 1a 70 1c 1c 1c 1c 18 18 14 14 89 1c
.....p..........
<7>sdio 00000090: 1c 1c 1c 18 18 14 14 ac 1c 1c 1c 1c 18 18 14 14
................
<7>sdio 000000a0: 70 1c 1c 1c 1c 18 18 14 14 89 1c 1c 1c 1c 18 18
p...............
<7>sdio 000000b0: 14 14 ac 1c 1c 1c 1c 18 18 14 14 00 11 12 15 17
................
<7>sdio 000000c0: 41 42 45 00 00 00 00 00 00 00 00 00 00 00 00 00
ABE.............
<7>sdio 000000d0: 00 00 00 00 70 22 75 66 a2 23 ff 00 ff 00 ff 00
....p"uf.#......
<7>sdio 000000e0: ff 00 ff 00 70 1e 75 64 a2 1c ff 00 ff 00 ff 00
....p.ud........
<7>sdio 000000f0: ff 00 ff 00 70 1e 75 64 a2 19 ff 00 ff 00 ff 00
....p.ud........
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 0c 22 54 00 f4 00 00 00 ff 00 ff 00
....."T.........
<7>sdio 00000010: 7a 18 7f 64 93 64 98 15 ff 00 ff 00 ff 00 ff 00
z..d.d..........
<7>sdio 00000020: 70 1e 75 5e ac 1e b8 1e ff 00 ff 00 ff 00 ff 00
p.u^............
<7>sdio 00000030: 70 21 75 61 ac 21 ff 00 ff 00 ff 00 ff 00 ff 00
p!ua.!..........
<7>sdio 00000040: 70 22 75 62 98 22 ff 00 ff 00 ff 00 ff 00 ff 00
p"ub."..........
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 000000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xfc4 buf 0xc7127400 len 60
<7>sdio 00000000: 03 00 00 00 00 23 54 00 30 00 00 00 00 00 00 00
.....#T.0.......
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............
<7>ath6kl: bmi write memory: addr: 0x540658, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 58 06 54 00 04 00 00 00 01 00 00 00
....X.T.........
<7>ath6kl: writing otp to 0x1234 (3998 B)
<7>ath6kl: bmi LZ stream start: addr: 0x1234)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 0d 00 00 00 34 12 00 00 ....4...
<7>ath6kl: bmi send LZ data: len: 3996)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 0e 00 00 00 f8 00 00 00 53 47 4d 54 01 00 00 00
........SGMT....
<7>sdio 00000010: 00 50 54 00 74 00 00 00 05 00 00 54 00 30 0d 56
.PT.t......T.0.V
<7>sdio 00000020: 00 60 0f 56 00 00 06 54 05 05 08 05 04 10 30 32
.`.V...T......02
<7>sdio 00000030: 54 00 54 32 54 00 c8 39 8f 00 ac 3b 8f 00 28 0d
T.T2T..9...;..(.
<7>sdio 00000040: 56 00 90 c2 01 00 50 7b 91 00 a0 7b 91 00 04 60
V.....P{...{...`
<7>sdio 00000050: 00 00 48 0d 56 00 00 20 74 02 00 18 02 00 9c 7a
..H.V.. t......z
<7>sdio 00000060: 91 00 50 0d 56 00 54 0d 56 00 7c 7f 91 00 60 05
..P.V.T.V.|...`.
<7>sdio 00000070: 04 1c 42 00 00 00 12 03 00 40 42 0f 00 00 0e 03
..B......@B.....
<7>sdio 00000080: 00 00 5a 4f 00 a0 71 94 00 74 50 54 00 10 00 00
..ZO..q..tPT....
<7>sdio 00000090: 00 01 28 0d 56 00 01 04 04 30 0d 56 00 60 0f 56
..(.V....0.V.`.V
<7>sdio 000000a0: 00 28 0d 56 00 04 00 00 00 02 01 00 00 00 20 61
.(.V.......... a
<7>sdio 000000b0: 94 00 47 11 00 00 2f 36 61 00 31 00 b0 a1 01 b0
..G.../6a.1.....
<7>sdio 000000c0: 88 13 b1 02 b0 a7 18 0f 9d 0a a0 bb c0 a2 a0 00
................
<7>sdio 000000d0: 76 ab 04 a2 49 00 1b 99 82 23 00 a1 03 b0 91 04
v...I....#......
<7>sdio 000000e0: b0 c2 a5 0c b2 a0 04 b2 61 00 c9 11 bd 01 92 6a
........a......j
<7>sdio 000000f0: 26 0c 8a e0 08 00 8c da 82 23 6a 0c 6a e0 08 00
&........#j.j...
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4

...
...

7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 0e 00 00 00 f8 00 00 00 0a 46 11 00 0c 02 20 a3
.........F.... .
<7>sdio 00000010: 10 51 16 b0 27 03 15 ad 05 b8 04 c8 14 65 ab ff
.Q..'........e..
<7>sdio 00000020: 2d 0a cc 4a 0c 12 0c 7c c9 44 20 a3 10 9c ba 2f
-..J...|.D ..../
<7>sdio 00000030: 06 18 0c 0d a5 f7 ff 0c 1d a0 ad 83 2d 0a a7 03
............-...
<7>sdio 00000040: 07 e5 05 ff e5 08 ff 1d f0 0c 9e e9 44 1d f0 0c
............D...
<7>sdio 00000050: 13 86 ed 2f 06 8c 7c 0c 17 41 06 b0 61 00 b0 98
.../..|..A..a...
<7>sdio 00000060: 04 82 26 19 79 99 e0 08 00 82 26 25 3d 0a e0 08
..&.y.....&%=...
<7>sdio 00000070: 00 98 04 a9 a9 82 26 17 e0 08 00 28 04 a9 c2 b9
......&....(....
<7>sdio 00000080: d2 51 17 b0 c0 20 00 72 65 2c a1 18 2f 04 09 b1
.Q... .re,../...
<7>sdio 00000090: 19 b0 a2 2a 2c ad 03 2f 06 9b 4f c1 1a b0 0c 4b
...*,../..O....K
<7>sdio 000000a0: 3c de e7 ba 01 0c 2b c0 20 00 b2 6c 85 71 1b 2f
<.....+. ..l.q./
<7>sdio 000000b0: 04 26 f8 e2 32 25 2d bc ef 2f 08 48 f8 e2 e8 d2
.&..2%-../.H....
<7>sdio 000000c0: d8 c2 e0 cb c0 d0 da c0 f0 ef 31 d7 ba 01 0b cc
..........1.....
<7>sdio 000000d0: 0c 0a e7 3c 07 c7 9e 02 d7 bf 01 0c 1a 9c 3a 88
...<..........:.
<7>sdio 000000e0: 72 e0 08 00 92 d7 01 92 c9 31 c0 20 00 98 09 c0
r........1. ....
<7>sdio 000000f0: 20 00 28 04 07 63 b2 a8 92 a0 a0 60 a9 92 2f 08
.(..c.....`../.
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xfdc buf 0xc7127400 len 36
<7>sdio 00000000: 0e 00 00 00 1c 00 00 00 8b 5c 31 06 b0 38 03 21
.........\1..8.!
<7>sdio 00000010: 1c b0 29 53 1d f0 20 61 94 00 fd ff ff ff 00 00
..)S.. a........
<7>sdio 00000020: 00 00 ff ff ....
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: bmi send LZ data: len: 4)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 0e 00 00 00 04 00 00 00 ff ff 00 00 ............
<7>ath6kl: bmi LZ stream start: addr: 0x0)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 0d 00 00 00 00 00 00 00 ........
<7>ath6kl: bmi read memory: device: addr: 0x54061c, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 02 00 00 00 1c 06 54 00 04 00 00 00 ......T.....
<7>ath6kl: rd addr 0x405 buf 0xc70e9c2c len 4
<7>sdio 00000000: 01 00 00 20 ...
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 20 61 94 00 a..
<7>ath6kl: app_start_override_addr (from hw) 0x946120
<7>ath6kl: executing OTP at 0x946120
<7>ath6kl: bmi execute: addr: 0x946120, param: 0)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 04 00 00 00 20 61 94 00 00 00 00 00 .... a......
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 00 00 00 20 ...
<7>ath6kl: rd addr 0x405 buf 0xc70e9c34 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: rd addr 0x800 buf 0xc7127400 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: writing firmware to 0x1234 (100167 B)
<7>ath6kl: bmi LZ stream start: addr: 0x1234)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 0d 00 00 00 34 12 00 00 ....4...
<7>ath6kl: bmi send LZ data: len: 100164)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 0e 00 00 00 f8 00 00 00 53 47 4d 54 01 00 00 00
........SGMT....
<7>sdio 00000010: 00 50 54 00 f4 0d 00 00 1e 00 00 54 00 f0 11 56
.PT........T...V
<7>sdio 00000020: 00 f0 14 56 00 00 06 54 1e 05 08 20 10 54 00 90
...V...T... .T..
<7>sdio 00000030: 61 94 00 18 10 54 00 30 88 94 00 14 10 54 00 68
a....T.0.....T.h
<7>sdio 00000040: 84 94 00 1c 10 54 00 a0 84 94 00 5c c4 8f 00 90
.....T.....\....
<7>sdio 00000050: 00 00 32 b0 36 54 00 d4 e0 51 00 00 86 00 1e 05
..2.6T...Q......
<7>sdio 00000060: 44 10 2a 54 00 8c 0a 00 00 ff ff 3f 00 ff ff 00
D.*T.......?....
<7>sdio 00000070: 00 03 00 01 00 10 12 56 00 00 a6 02 00 00 06 02
.......V........
<7>sdio 00000080: 00 30 0d 56 00 c0 0f 00 00 3f f0 ff ff 48 2c 54
.0.V.....?...H,T
<7>sdio 00000090: 00 00 9a 02 00 bc 61 8e 00 00 00 20 a0 cc 66 8e
......a.... ..f.
<7>sdio 000000a0: 00 98 62 8e 00 54 62 8e 00 80 65 8e 00 6c 62 8e
..b..Tb...e..lb.
<7>sdio 000000b0: 00 00 96 02 00 00 a2 02 00 40 0d 56 00 40 0b 54
[email protected][email protected]
<7>sdio 000000c0: 00 b4 62 8e 00 0c 6b 8e 00 00 0b 54 00 48 64 94
..b...k....T.Hd.
<7>sdio 000000d0: 00 44 62 94 00 4c 65 94 00 70 65 94 00 b4 68 94
.Db..Le..pe...h.
<7>sdio 000000e0: 00 10 29 54 00 9c 67 94 00 80 69 94 00 14 1e 04
..)T..g...i.....
<7>sdio 000000f0: 78 c6 01 00 00 42 00 00 ff ff e0 ff 00 00 1f 00
x....B..........
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4

...
...

7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xf1c buf 0xc7127400 len 228
<7>sdio 00000000: 0e 00 00 00 dc 00 00 00 02 76 94 0d 37 36 04 30
.........v..76.0
<7>sdio 00000010: 66 c0 1b 22 f0 22 11 30 31 41 37 36 01 1b 22 20
f..".".01A76.."
<7>sdio 00000020: 50 60 70 25 a3 1d f0 9c 53 60 20 60 70 26 b3 1d
P`p%....S` `p&..
<7>sdio 00000030: f0 00 00 37 36 10 0c 12 7c f4 70 24 a3 5f 05 82
...76...|.p$._..
<7>sdio 00000040: 7f 00 44 49 56 30 5f 05 e7 6c 21 00 20 72 20 20
..DIV0_..l!. r
<7>sdio 00000050: 21 5f 06 68 2c 50 f2 5f 04 62 47 b5 14 5f 09 65
!_.h,P._.bG.._.e
<7>sdio 00000060: 76 94 08 37 32 02 30 22 c0 5f 04 5e 5f 05 09 d6
v..72.0"._.^_...
<7>sdio 00000070: 27 00 20 20 60 1d f0 00 cc 53 5f 0b 49 00 00 00 '.
`....S_.I...
<7>sdio 00000080: 36 21 00 b6 23 2f 6d 02 5f 06 81 27 47 b5 2a 5f
6!..#/m._..'G.*_
<7>sdio 00000090: 09 45 22 a0 00 5f 13 81 2b 02 22 c2 01 1d f0 8c
.E".._..+.".....
<7>sdio 000000a0: 5f 07 81 20 0c 5f 07 84 fa 3a 5f 0d 81 1c b6 23 _..
._...:_....#
<7>sdio 000000b0: 29 5f 08 81 13 16 5f 09 4e 3d f0 5f 12 81 15 5f
)_...._.N=._..._
<7>sdio 000000c0: 04 3b 5f 11 81 10 5f 0a bb 00 5f 10 ec 3c 5f 10
.;_..._..._..<_.
<7>sdio 000000d0: 20 5f 10 10 5f 12 18 20 61 94 00 fd ff ff ff 00
_.._.. a.......
<7>sdio 000000e0: 00 00 00 ff ....
<7>ath6kl: bmi send LZ data: len: 4)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 0e 00 00 00 04 00 00 00 ff ff ff 00 ............
<7>ath6kl: bmi LZ stream start: addr: 0x0)
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 0d 00 00 00 00 00 00 00 ........
<7>ath6kl: bmi set app start: addr: 0x946120
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff8 buf 0xc7127400 len 8
<7>sdio 00000000: 05 00 00 00 20 61 94 00 .... a..
<7>ath6kl: writing patch to 0x57fec8 (312 B)
<7>ath6kl: bmi write memory: addr: 0x57fec8, len: 312
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xf00 buf 0xc7127400 len 256
<7>sdio 00000000: 03 00 00 00 c8 fe 57 00 f4 00 00 00 dc fe 57 00
......W.......W.
<7>sdio 00000010: 13 01 08 00 f0 ff 57 00 00 00 00 00 00 00 00 00
......W.........
<7>sdio 00000020: f0 fe 57 00 14 01 08 00 e8 ff 57 00 00 00 00 00
..W.......W.....
<7>sdio 00000030: 00 00 00 00 04 ff 57 00 15 01 08 00 e0 ff 57 00
......W.......W.
<7>sdio 00000040: 00 00 00 00 00 00 00 00 18 ff 57 00 16 01 08 00
..........W.....
<7>sdio 00000050: d8 ff 57 00 00 00 00 00 00 00 00 00 2c ff 57 00
..W.........,.W.
<7>sdio 00000060: 17 01 08 00 d0 ff 57 00 00 00 00 00 00 00 00 00
......W.........
<7>sdio 00000070: 40 ff 57 00 18 01 14 00 bc ff 57 00 00 00 00 00
@.W.......W.....
<7>sdio 00000080: 00 00 00 00 54 ff 57 00 19 01 14 00 a8 ff 57 00
....T.W.......W.
<7>sdio 00000090: 00 00 00 00 00 00 00 00 68 ff 57 00 1a 01 08 00
........h.W.....
<7>sdio 000000a0: a0 ff 57 00 00 00 00 00 00 00 00 00 7c ff 57 00
..W.........|.W.
<7>sdio 000000b0: 1b 01 08 00 98 ff 57 00 00 00 00 00 00 00 00 00
......W.........
<7>sdio 000000c0: 68 d8 51 00 1c 01 08 00 90 ff 57 00 00 00 00 00
h.Q.......W.....
<7>sdio 000000d0: 00 00 00 00 c9 32 cd 05 61 1a 48 26 c9 32 cd 05
.....2..a.H&.2..
<7>sdio 000000e0: 61 1a 48 26 44 c0 01 00 48 c0 01 00 c6 03 ad 14
a.H&D...H.......
<7>sdio 000000f0: 70 10 ee 19 00 0c f0 21 00 00 20 3f 83 00 07 00
p......!.. ?....
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xfb0 buf 0xc7127400 len 80
<7>sdio 00000000: 03 00 00 00 bc ff 57 00 44 00 00 00 40 a3 02 00
......W.D...@...
<7>sdio 00000010: 44 a3 02 00 48 a3 02 00 4c a3 02 00 dc a7 02 00
D...H...L.......
<7>sdio 00000020: b1 1c 00 5b bc 1c 00 60 b1 1c 00 5b bc 1c 00 60
...[...`...[...`
<7>sdio 00000030: 8c b0 02 76 8c b0 02 76 8c b0 02 76 8c b0 02 76
...v...v...v...v
<7>sdio 00000040: 78 a4 02 00 7c a4 02 00 c8 fe 57 00 00 00 00 00
x...|.....W.....
<7>ath6kl: bmi write memory: addr: 0x540618, len: 4
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff0 buf 0xc7127400 len 16
<7>sdio 00000000: 03 00 00 00 18 06 54 00 04 00 00 00 c8 fe 57 00
......T.......W.
<7>ath6kl: bmi write SOC reg: addr: 0x40c4, param: 13
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 c4 40 00 00 0d 00 00 00 .....@......
<7>ath6kl: bmi write SOC reg: addr: 0x180c0, param: 32
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xff4 buf 0xc7127400 len 12
<7>sdio 00000000: 07 00 00 00 c0 80 01 00 20 00 00 00 ........ ...
<7>ath6kl: rd addr 0x450 buf 0xc70e0290 len 4
<7>sdio 00000000: 02 00 00 00 ....
<7>ath6kl: wr addr 0xffc buf 0xc70e9c7c len 4
<7>sdio 00000000: 01 00 00 00 ....
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 00 00 04 00 0e 00 00 00 00 00 00 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: hif retry mbox poll try 200
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0e 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc6433ae0 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc7127a00 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc7127a00 len 128
<7>sdio 00000000: 00 02 12 00 08 00 01 00 1a 00 80 06 16 00 01 10
................
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc target ready credits 26 size 1664
<7>ath6kl: htc using protocol >= 2.1 (1)
<3>ath6kl: host only supports scatter of :1 entries, need: 16
<7>ath6kl: ath6kl_sdio_alloc_busreq: bus request 0xc714800c
<7>ath6kl: ath6kl_sdio_alloc_busreq: bus request 0xc7148030
<7>ath6kl: ath6kl_sdio_alloc_busreq: bus request 0xc7148054
<7>ath6kl: ath6kl_sdio_alloc_busreq: bus request 0xc7148078
<7>ath6kl: virtual scatter enabled requests 4 entries 16
<7>ath6kl: htc bundling allowed msg_per_bndl_max 8
<7>ath6kl: htc max_rx_bndl_sz 16384 max_tx_bndl_sz 12288
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x1
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x100
<7>ath6kl: htc tx issue len 14 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6a00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6a00 len 128
<7>sdio 00000000: 00 00 08 00 00 00 02 00 00 01 00 00 00 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc6433220 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc7127e00 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc7127e00 len 128
<7>sdio 00000000: 00 02 12 00 08 01 03 00 00 01 00 01 06 06 00 00
................
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x101
<7>ath6kl: htc tx issue len 14 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6e00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6e00 len 128
<7>sdio 00000000: 00 00 08 00 00 00 02 00 01 01 05 00 00 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc6433920 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc7127800 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc7127800 len 128
<7>sdio 00000000: 00 02 12 00 08 02 03 00 01 01 00 02 30 10 00 00
............0...
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x102
<7>ath6kl: htc tx issue len 14 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6a00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6a00 len 128
<7>sdio 00000000: 00 00 08 00 00 00 02 00 02 01 05 00 00 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc64339e0 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc7127200 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc7127200 len 128
<7>sdio 00000000: 00 02 12 00 08 03 03 00 02 01 00 03 30 10 00 00
............0...
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x103
<7>ath6kl: htc tx issue len 14 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6e00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6e00 len 128
<7>sdio 00000000: 00 00 08 00 00 00 02 00 03 01 05 00 00 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc6433aa0 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc716a000 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc716a000 len 128
<7>sdio 00000000: 00 02 12 00 08 04 03 00 03 01 00 04 30 10 00 00
............0...
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc connect service target 0xc7b42000 service id 0x104
<7>ath6kl: htc tx issue len 14 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6a00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6a00 len 128
<7>sdio 00000000: 00 00 08 00 00 00 02 00 04 01 05 00 00 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 00 02 12 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: htc rx wait ctrl look_ahead 0x120200
<7>ath6kl: htc rx 0xc6433a60 hdr 0x120200 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc716a200 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc716a200 len 128
<7>sdio 00000000: 00 02 12 00 08 05 03 00 04 01 00 05 30 10 00 00
............0...
<7>sdio 00000010: 02 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: hif write sync addr 0x418 buf 0xc70e9c1c len 4 request 0x252
<7>ath6kl: wr addr 0x418 buf 0xc70e9c1c len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: htc rx add multiple ep id 0 cnt 1 len 262
<7>ath6kl: credit init total 26
<7>ath6kl: credit deposit ep 1 credits 1
<7>ath6kl: credit deposit ep 2 credits 1
<7>ath6kl: credit deposit ep 3 credits 1
<7>ath6kl: credit ep 1 svc_id 256 credits 1 per_msg 1 norm 1 min 1
<7>ath6kl: credit ep 5 svc_id 260 credits 0 per_msg 1 norm 17 min 1
<7>ath6kl: credit ep 4 svc_id 259 credits 0 per_msg 1 norm 17 min 1
<7>ath6kl: credit ep 2 svc_id 257 credits 1 per_msg 1 norm 17 min 1
<7>ath6kl: credit ep 3 svc_id 258 credits 1 per_msg 1 norm 17 min 1
<7>ath6kl: --- endpoint: 0 svc_id: 0x1 ---
<7>ath6kl: dist_flags : 0x0
<7>ath6kl: cred_norm : 0
<7>ath6kl: cred_min : 0
<7>ath6kl: credits : 0
<7>ath6kl: cred_assngd : 0
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: --- endpoint: 1 svc_id: 0x100 ---
<7>ath6kl: dist_flags : 0x80000000
<7>ath6kl: cred_norm : 1
<7>ath6kl: cred_min : 1
<7>ath6kl: credits : 1
<7>ath6kl: cred_assngd : 1
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: --- endpoint: 5 svc_id: 0x104 ---
<7>ath6kl: dist_flags : 0x0
<7>ath6kl: cred_norm : 17
<7>ath6kl: cred_min : 1
<7>ath6kl: credits : 0
<7>ath6kl: cred_assngd : 0
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: --- endpoint: 4 svc_id: 0x103 ---
<7>ath6kl: dist_flags : 0x0
<7>ath6kl: cred_norm : 17
<7>ath6kl: cred_min : 1
<7>ath6kl: credits : 0
<7>ath6kl: cred_assngd : 0
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: --- endpoint: 2 svc_id: 0x101 ---
<7>ath6kl: dist_flags : 0x80000000
<7>ath6kl: cred_norm : 17
<7>ath6kl: cred_min : 1
<7>ath6kl: credits : 1
<7>ath6kl: cred_assngd : 1
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: --- endpoint: 3 svc_id: 0x102 ---
<7>ath6kl: dist_flags : 0x80000000
<7>ath6kl: cred_norm : 17
<7>ath6kl: cred_min : 1
<7>ath6kl: credits : 1
<7>ath6kl: cred_assngd : 1
<7>ath6kl: seek_cred : 0
<7>ath6kl: cred_sz : 1664
<7>ath6kl: cred_per_msg : 1
<7>ath6kl: cred_to_dist : 0
<7>ath6kl: txq_depth : 0
<7>ath6kl: ----------------------------------
<7>ath6kl: credit distribution total 26 free 23
<7>ath6kl: htc tx issue len 16 seqno 0 padded_len 128 mbox 0x800 sync
<7>ath6kl: hif write sync addr 0x800 buf 0xc70b6e00 len 128 request 0x292
<7>ath6kl: wr addr 0xf80 buf 0xc70b6e00 len 128
<7>sdio 00000000: 00 00 0a 00 00 00 05 00 01 00 00 00 08 00 00 00
................
<7>sdio 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: hif write sync addr 0x418 buf 0xc70e9be4 len 4 request 0x252
<7>ath6kl: wr addr 0x418 buf 0xc70e9be4 len 4
<7>sdio 00000000: 00 00 00 00 ....
<7>ath6kl: hif irq enable
<7>ath6kl: hif write sync addr 0x418 buf 0xc70e9c24 len 4 request 0x252
<7>ath6kl: wr addr 0x418 buf 0xc70e9c24 len 4
<7>sdio 00000000: d1 00 03 01 ....
<7>ath6kl: irq
<7>ath6kl: proc_pending_irqs: (dev: 0xc6433620)
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 01 02 1d 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: <------- Register Table -------->
<7>ath6kl: Host Int status: 0x1
<7>ath6kl: CPU Int status: 0x0
<7>ath6kl: Error Int status: 0x4
<7>ath6kl: Counter Int status: 0x0
<7>ath6kl: Mbox Frame: 0xf
<7>ath6kl: Rx Lookahead Valid: 0x1
<7>ath6kl: Rx Lookahead 0: 0x1d0201
<7>ath6kl: Rx Lookahead 1: 0xffde00bc
<7>ath6kl: GMBOX Host Int status 2: 0x0
<7>ath6kl: GMBOX RX Avail: 0x0
<7>ath6kl: GMBOX lookahead alias 0: 0x35bbaed6
<7>ath6kl: GMBOX lookahead alias 1: 0xef4b3bca
<7>ath6kl: Int status Enable: 0xd1
<7>ath6kl: Counter Int status Enable: 0x1
<7>ath6kl: <------------------------------->
<7>ath6kl: pending mailbox msg, lk_ahd: 0x1D0201
<7>ath6kl: ath6kl_rx_refill: providing htc with 16 buffers at eid=1
<7>ath6kl: htc rx add multiple ep id 1 cnt 16 len 1664
<7>ath6kl: htc rx 0xc7bd1280 hdr 0x1d0201 len 128 mbox 0x800
<7>ath6kl: hif read sync addr 0x800 buf 0xc7bd1340 len 128 request 0x191
<7>ath6kl: rd addr 0x800 (fixed) buf 0xc7bd1340 len 128
<7>sdio 00000000: 01 02 1d 00 08 06 01 10 00 00 00 00 90 00 00 32
...............2
<7>sdio 00000010: 01 00 00 00 00 80 92 50 9e 10 05 02 06 00 00 00
.......P........
<7>sdio 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>sdio 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
<7>ath6kl: htc rx trailer len 8
<7>00000000: 02 06 00 00 00 00 00 00 ........
<7>ath6kl: htc rx complete ep 1 packet 0xc7bd1280
<7>ath6kl: ath6kl_rx: ar=0xc70e0280 eid=1, skb=0xc7932d40,
data=0xc7bd1346, len=0x15 status:0
<7>ath6kl: ath6kl_rx
<7>rx 00000000: 01 10 00 00 00 00 90 00 00 32 01 00 00 00 00 80
.........2......
<7>rx 00000010: 92 50 9e 10 05 .P...
<7>ath6kl: wmi rx id 4097 len 15
<7>wmi rx 00000000: 90 00 00 32 01 00 00 00 00 80 92 50 9e 10 05
...2.......P...
<7>ath6kl: WMI_READY_EVENTID
<7>ath6kl: ready event mac addr 00:80:92:50:9e:10 sw_ver 0x32000090
abi_ver 0x1 cap 0x5
<7>ath6kl: valid interrupt source(s) for other interrupts: 0x0
<7>ath6kl: bypassing irq status re-check, forcing done
<7>ath6kl: proc_pending_irqs: (done:1, status=0
<7>ath6kl: irq
<7>ath6kl: proc_pending_irqs: (dev: 0xc6433620)
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<7>ath6kl: firmware booted
<6>ath6kl: ar6003 hw 2.1.1 sdio fw 3.2.0.144 api 3
<7>ath6kl: ath6kl_init_hw_start: wmi is ready
<3>mmc0: Timeout waiting for hardware interrupt.
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 01 02 1d 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: bypassing irq status re-check, forcing done
<7>ath6kl: proc_pending_irqs: (done:1, status=-110
<4>------------[ cut here ]------------
<4>WARNING: at drivers/net/wireless/ath/ath6kl/sdio.c:487
ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio]()
<4>Modules linked in: ath6kl_sdio(+) ath6kl_core cfg80211 firmware_class ipv6
<4>[<c0014518>] (unwind_backtrace+0x0/0xfc) from [<c039a598>]
(dump_stack+0x20/0x24)
<4>[<c039a598>] (dump_stack+0x20/0x24) from [<c001ea14>]
(warn_slowpath_common+0x5c/0x74)
<4>[<c001ea14>] (warn_slowpath_common+0x5c/0x74) from [<c001ea58>]
(warn_slowpath_null+0x2c/0x34)
<4>[<c001ea58>] (warn_slowpath_null+0x2c/0x34) from [<bf0d93b8>]
(ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio])
<4>[<bf0d93b8>] (ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio]) from
[<c02c32b0>] (sdio_irq_thread+0x1dc/0x298)
<4>[<c02c32b0>] (sdio_irq_thread+0x1dc/0x298) from [<c004110c>]
(kthread+0x98/0xa4)
<4>[<c004110c>] (kthread+0x98/0xa4) from [<c000f780>]
(kernel_thread_exit+0x0/0x8)
<4>---[ end trace 17bd1da4e1747c1a ]---
<7>ath6kl: irq
<7>ath6kl: proc_pending_irqs: (dev: 0xc6433620)
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251
<3>mmc0: Timeout waiting for hardware interrupt.
<7>ath6kl: rd addr 0x400 buf 0xc6433620 len 24
<7>sdio 00000000: 01 00 04 00 0f 01 00 00 01 02 1d 00 bc 00 de ff
................
<7>sdio 00000010: d6 ae bb 35 ca 3b 4b ef ...5.;K.
<7>ath6kl: bypassing irq status re-check, forcing done
<7>ath6kl: proc_pending_irqs: (done:1, status=-110
<4>------------[ cut here ]------------
<4>WARNING: at drivers/net/wireless/ath/ath6kl/sdio.c:487
ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio]()
<4>Modules linked in: ath6kl_sdio(+) ath6kl_core cfg80211 firmware_class ipv6
<4>[<c0014518>] (unwind_backtrace+0x0/0xfc) from [<c039a598>]
(dump_stack+0x20/0x24)
<4>[<c039a598>] (dump_stack+0x20/0x24) from [<c001ea14>]
(warn_slowpath_common+0x5c/0x74)
<4>[<c001ea14>] (warn_slowpath_common+0x5c/0x74) from [<c001ea58>]
(warn_slowpath_null+0x2c/0x34)
<4>[<c001ea58>] (warn_slowpath_null+0x2c/0x34) from [<bf0d93b8>]
(ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio])
<4>[<bf0d93b8>] (ath6kl_sdio_irq_handler+0x88/0x98 [ath6kl_sdio]) from
[<c02c32b0>] (sdio_irq_thread+0x1dc/0x298)
<4>[<c02c32b0>] (sdio_irq_thread+0x1dc/0x298) from [<c004110c>]
(kthread+0x98/0xa4)
<4>[<c004110c>] (kthread+0x98/0xa4) from [<c000f780>]
(kernel_thread_exit+0x0/0x8)
<4>---[ end trace 17bd1da4e1747c1b ]---
<7>ath6kl: irq
<7>ath6kl: proc_pending_irqs: (dev: 0xc6433620)
<7>ath6kl: hif read sync addr 0x400 buf 0xc6433620 len 24 request 0x251


>>> Also try various quirks in the SDIO controller, if it supports those.
>>
>> I googled for quirks in combination with my sdio controller. The
>> controller is a freescale controller and the driver is implemented in
>> /drivers/mmc/host/sdhci-esdhc-imx.c. Currently there are some quirks
>> enabled.
>>
>> 389 static struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = {
>> 390 .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_HISPD_BIT
>> 391 | SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC
>> 392 | SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC
>> 393 | SDHCI_QUIRK_BROKEN_CARD_DETECTION,
>> 394 .ops = &sdhci_esdhc_ops,
>> 395 };
>>
>> I will have a looks at the available quirks in
>> include/linux/mmc/sdhci.h and try to test various combinations. I have
>> to say that I`m not a SDIO expert, and I hope that I have properly
>> understood your hint.
>
> This is exactly what I was suggesting.

Currently I`m testing various combinations. but so far without success.


> Can you use any other SDIO device to test if the problem is in ath6kl or
> in the SDIO bus?

At March 26 I will get another card. I`m waiting for the delivery and
for now I have only the silex card with the ar6003 chip .

--
Johannes

2013-03-12 18:40:22

by Jonathan Bagg

[permalink] [raw]
Subject: Re: Silex SX-SDCAN (AR6003) sdio module, mmc0 timout on imx35 platform

>> struct sdhci_of_data sdhci_esdhc = {
>> .quirks = SDHCI_QUIRK_FORCE_BLK_SZ_2048 |
>> SDHCI_QUIRK_BROKEN_CARD_DETECTION |
>> SDHCI_QUIRK_NO_BUSY_IRQ |
>> SDHCI_QUIRK_NONSTANDARD_CLOCK |
>> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
>> SDHCI_QUIRK_PIO_NEEDS_DELAY |
>> SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET |
>> SDHCI_QUIRK_NO_CARD_NO_RESET,
>> .ops = {
>>
>> Jon
>
> I made a test with these quirks enabled. But the result was the same.
> Loading the module also ends in the known error "mmc0: Timeout waiting
> for hardware interrupt".
> I am a little bit confuced. Seems your freescale kernel uses another
> mmc driver for your imx51? My kernel config, the one for imx35
> processors, includes "/drivers/mmc/host/sdhci-esdhc-imx.c" =>
> CONFIG_MMC_SDHCI_ESDHC_IMX and not "drivers/mmc/host/sdhci-of-esdhc.c"

My bad. Still my driver is different. The kernel config defines
CONFIG_MMC_IMX_ESDHCI=y which adds
/drivers/mmc/host/mx_sdhci.c
and has a bunch of quirks that are only defined locally.

Are you using a freescale kernel or mainline kernel? freescale kernels
change from one ltib to the next. My ltib that supports imx51 may have
had the sdhci driver rewritten since the ltib that first supported imx35.

Jon