* Re: brcm80211 (with bcm4329-chip)
[not found] <CADrAYBnwWEaigcgQYYk6V3VEuEYyrmzJQXegKVk6TgOTPh5N8A@mail.gmail.com>
@ 2011-11-21 17:23 ` Arend van Spriel
2011-11-21 18:30 ` Franky Lin
2011-11-21 18:47 ` Thomas Langås
0 siblings, 2 replies; 17+ messages in thread
From: Arend van Spriel @ 2011-11-21 17:23 UTC (permalink / raw)
To: Thomas Langås; +Cc: linux-wireless@vger.kernel.org, Franky (Zhenhui) Lin
On 11/21/2011 02:56 PM, Thomas Langås wrote:
> Hi!
>
> I'm trying to make our board use this driver instead of an old,
> proprietary bcm4329-driver, but I can't seem
> to find much detail on how to tell the driver where my chip is located
> (on what SDIO-bus). I suppose there
> is some specifics I need to include in my machine-file? Or is
> everything magic? Because, currently
> the platform crashes when enabling the driver. I suspect that this is
> because we boot from an uSD-card,
> and that the brcm80211 tries to access the same port for connecting to the chip.
>
The MMC core should be able to come up with the correct device. It
sounds strange that the driver would be activated for an SD card.
Could you provide some information on the board you are using. Type of
processor, kernel version, and anything else you can/want to share. In
/sys/bus/sdio/devices/ you may find the location of the bcm4329.
Gr. AvS
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 17:23 ` brcm80211 (with bcm4329-chip) Arend van Spriel
@ 2011-11-21 18:30 ` Franky Lin
2011-11-21 18:45 ` Thomas Langås
2011-11-21 18:47 ` Thomas Langås
1 sibling, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-21 18:30 UTC (permalink / raw)
To: Arend van Spriel; +Cc: Thomas Langås, linux-wireless@vger.kernel.org
On 11/21/2011 09:23 AM, Arend van Spriel wrote:
> On 11/21/2011 02:56 PM, Thomas Langås wrote:
>> Hi!
>>
>> I'm trying to make our board use this driver instead of an old,
>> proprietary bcm4329-driver, but I can't seem
>> to find much detail on how to tell the driver where my chip is located
>> (on what SDIO-bus). I suppose there
>> is some specifics I need to include in my machine-file? Or is
>> everything magic? Because, currently
>> the platform crashes when enabling the driver. I suspect that this is
>> because we boot from an uSD-card,
>> and that the brcm80211 tries to access the same port for connecting to the chip.
>>
>
> The MMC core should be able to come up with the correct device. It
> sounds strange that the driver would be activated for an SD card.
>
> Could you provide some information on the board you are using. Type of
> processor, kernel version, and anything else you can/want to share. In
> /sys/bus/sdio/devices/ you may find the location of the bcm4329.
Current MMC stack in Linux would not confuse a MMC/SD card and a SDIO
device. Basically the intialization and command sets they used are
different.
Just for curiosity, do you know the version of your proprietary driver?
You should be able to find it in epivers.h.
A crash log would be helpful to locate the issue.
Regards,
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 18:30 ` Franky Lin
@ 2011-11-21 18:45 ` Thomas Langås
2011-11-21 19:58 ` Franky Lin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 18:45 UTC (permalink / raw)
To: Franky Lin; +Cc: Arend van Spriel, linux-wireless@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 675 bytes --]
On Mon, Nov 21, 2011 at 7:30 PM, Franky Lin <frankyl@broadcom.com> wrote:
> Current MMC stack in Linux would not confuse a MMC/SD card and a SDIO
> device. Basically the intialization and command sets they used are
> different.
So the crash is unrelated, is what you're saying? I've attached the
log if that'll
give you some more clues.
> Just for curiosity, do you know the version of your proprietary driver? You
> should be able to find it in epivers.h.
#define EPI_VERSION_STR "4.218.248.18"
#define EPI_ROUTER_VERSION_STR "4.219.248.18"
> A crash log would be helpful to locate the issue.
Attached is a crash.log-file from the serial console.
Regards,
Thomas
[-- Attachment #2: crash.log --]
[-- Type: application/octet-stream, Size: 15625 bytes --]
[ 1.945000] Waiting for root device /dev/mmcblk0p1...
[ 1.955000] mmc0: new SDHC card at address e624
[ 1.955000] mmcblk0: mmc0:e624 SU08G 7.40 GiB
[ 1.965000] mmcblk0: p1 p2
[ 2.015000] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
[ 2.025000] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 2.050000] mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
[ 2.055000] mmc1: new SDIO card at address 0001
[ 2.055000] EXT2-fs (mmcblk0p1): error: couldn't mount because of unsupported optional features (240)
[ 2.095000] EXT4-fs (mmcblk0p1): couldn't mount as ext3 due to feature incompatibilities
[ 2.115000] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
[ 2.125000] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 2.150000] EXT4-fs (mmcblk0p1): warning: maximal mount count reached, running e2fsck is recommended
[ 2.160000] mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
[ 2.165000] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 2.170000] VFS: Mounted root (ext4 filesystem) on device 179:1.
[ 2.175000] Freeing init memory: 176K
init: ureadahead main process (1229) terminated with status 5
init: mounted-proc main process (1240) terminated with status 1
mountall: Event failed
* Starting mDNS/DNS-SD daemon [ OK ]
[ 5.345000] s5p-fimc exynos4-fimc.0: Video pipeline initialization failed
[ 5.355000] s5p-fimc exynos4-fimc.2: Video pipeline initialization failed
[ 5.390000] mmc1: Got data interrupt 0x00200000 even though no data operation was in progress.
[ 5.395000] mmc1: Got data interrupt 0x00200002 even though no data operation was in progress.
[ 5.405000] s5p-fimc exynos4-fimc.3: Video pipeline initialization failed
[ 5.410000] s5p-fimc exynos4-fimc.1: Video pipeline initialization failed
[ 5.455000] s5p_mfc_alloc_and_load_firmware:43: Firmware is not present in the /lib/firmware directory nor compiled in kernel
[ 5.480000] s5p_mfc_alloc_and_load_firmware:43: Firmware is not present in the /lib/firmware directory nor compiled in kernel
* Starting load fallback graphics devices [ OK ]
* Starting Userspace bootsplash [ OK ]
* Stopping load fallback graphics devices [ OK ]
[ 8.495000] mmc1: Got data interrupt 0x00200000 even though no data operation was in progress.
[ 8.495000] mmc1: Got data interrupt 0x00200002 even though no data operation was in progress.
[ 8.695000] mmc1: Got data interrupt 0x00200000 even though no data operation was in progress.
[ 8.700000] mmc1: Got data interrupt 0x00200002 even though no data operation was in progress.
speech-dispatcher disabled; edit /etc/default/speech-dispatcher
* Starting bluetooth Last login: Sat Jan 1 07:34:21 UTC 2000 on tty1
[ OK ]
* PulseAudio configured for per-user sessions
saned disabled; edit /etc/default/saned
* Enabling additional executable binary formats binfmt-support [ OK ]
[ 11.860000] Unhandled fault: imprecise external abort (0xc06) at 0x4049e000
[ 12.375000] Unhandled fault: imprecise external abort (0xc06) at 0x4049d000
[ 12.820000] Unhandled fault: imprecise external abort (0xc06) at 0x4048e000
[ 12.820000] Unhandled fault: imprecise external abort (0xc06) at 0x4048e000
[ 14.175000] Unhandled fault: imprecise external abort (0xc06) at 0x4056e000
[ 14.180000] Unhandled fault: imprecise external abort (0xc06) at 0x4056e000
init: rsyslog main process (1287) killed by BUS signal
init: rsyslog main process ended, respawning
[ 16.685000] Unhandled fault: imprecise external abort (0xc06) at 0x404d8000
[ 17.120000] Unhandled fault: imprecise external abort (0xc06) at 0x404c5000
[ 17.120000] Unhandled fault: imprecise external abort (0xc06) at 0x404c5000
[ 18.360000] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[ 18.360000] pgd = c0004000
[ 18.365000] [00000004] *pgd=00000000
[ 18.365000] Internal error: Oops: 805 [#1] PREEMPT SMP
[ 18.370000] Modules linked in: binfmt_misc
[ 18.375000] CPU: 1 Not tainted (3.2.0-rc1 #24)
[ 18.380000] PC is at add_wait_queue+0x28/0x48
[ 18.385000] LR is at add_wait_queue+0x20/0x48
[ 18.390000] pc : [<c004eec8>] lr : [<c004eec0>] psr: 60000093
[ 18.390000] sp : ed0d7e48 ip : ed047180 fp : 00000002
[ 18.400000] r10: ed0d6000 r9 : 00000000 r8 : ed2afc00
[ 18.405000] r7 : ed2afe1c r6 : ed2afe1c r5 : ed0d7e5c r4 : ed0d7e68
[ 18.415000] r3 : ed2afe24 r2 : 00000000 r1 : ed0d7e5c r0 : a0000013
[ 18.420000] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 18.425000] Control: 10c5387d Table: 6d6cc04a DAC: 00000015
[ 18.435000] Process kworker/u:1 (pid: 12, stack limit = 0xed0d62f0)
[ 18.440000] Stack: (0xed0d7e48 to 0xed0d8000)
[ 18.445000] 7e40: ed2afdb8 ed2ae200 c0612174 c02ebbdc 00000000 00000000
[ 18.450000] 7e60: ed047180 c002f454 00000000 00000000 ed126005 ed64e480 ed2ae200 c0612174
[ 18.460000] 7e80: c0612164 00000000 ed126005 c02ecfb4 ec004e34 c0247d8c ed7ec400 c0243288
[ 18.470000] 7ea0: ed64e480 ed2ae200 c0612174 c0247c98 ed64e480 c0248350 ed2ae208 ed2ae200
[ 18.475000] 7ec0: c0612174 c02f372c c02f36f8 ed2ae208 c0612174 ec004c00 00000000 c0203628
[ 18.485000] 7ee0: ed2ae23c ed2ae208 ec004c00 c0203694 ed2ae208 ec007c08 ec004c00 c0203200
[ 18.490000] 7f00: ed2ae208 c0201364 ed2ae208 000000a9 ec004c00 c02f3b9c 00000001 c02f2d30
[ 18.500000] 7f20: 4400240f ec004c00 ffffffac ed126000 ed0d6000 c02f2dc4 ec004c00 ec004db8
[ 18.510000] 7f40: ed126000 c02ed1cc ed00f880 c0650b40 ed126000 c0047dfc ed004600 00000001
[ 18.515000] 7f60: ed004600 ed00f880 c0650b40 c0650b48 ed00f890 ed0d6000 c05dc5e0 c05dc5e0
[ 18.525000] 7f80: 00000089 c004a6d8 c06063a0 00000000 00000013 c05dc5e0 c05dc5e0 c05dc5e0
[ 18.535000] 7fa0: ed0d7fc4 ed055ef8 ed00f880 c004a54c 00000013 00000000 00000000 00000000
[ 18.540000] 7fc0: 00000000 c004e79c c000f1f8 00000000 ed00f880 00000000 00000000 00000000
[ 18.550000] 7fe0: ed0d7fe0 ed0d7fe0 ed055ef8 c004e718 c000f1f8 c000f1f8 03030303 03030303
[ 18.560000] [<c004eec8>] (add_wait_queue+0x28/0x48) from [<c02ebbdc>] (__mmc_claim_host+0x58/0x174)
[ 18.565000] [<c02ebbdc>] (__mmc_claim_host+0x58/0x174) from [<c0247d8c>] (brcmf_sdcard_intr_dereg+0x10/0x28)
[ 18.575000] [<c0247d8c>] (brcmf_sdcard_intr_dereg+0x10/0x28) from [<c0243288>] (brcmf_sdbrcm_release+0x14/0xc0)
[ 18.585000] [<c0243288>] (brcmf_sdbrcm_release+0x14/0xc0) from [<c0247c98>] (brcmf_sdio_remove+0x18/0x38)
[ 18.595000] [<c0247c98>] (brcmf_sdio_remove+0x18/0x38) from [<c0248350>] (brcmf_ops_sdio_remove+0x28/0x44)
[ 18.605000] [<c0248350>] (brcmf_ops_sdio_remove+0x28/0x44) from [<c02f372c>] (sdio_bus_remove+0x34/0xfc)
[ 18.615000] [<c02f372c>] (sdio_bus_remove+0x34/0xfc) from [<c0203628>] (__device_release_driver+0x70/0xc0)
[ 18.625000] [<c0203628>] (__device_release_driver+0x70/0xc0) from [<c0203694>] (device_release_driver+0x1c/0x28)
[ 18.635000] [<c0203694>] (device_release_driver+0x1c/0x28) from [<c0203200>] (bus_remove_device+0x70/0x8c)
[ 18.645000] [<c0203200>] (bus_remove_device+0x70/0x8c) from [<c0201364>] (device_del+0xf8/0x174)
[ 18.655000] [<c0201364>] (device_del+0xf8/0x174) from [<c02f3b9c>] (sdio_remove_func+0x1c/0x28)
[ 18.660000] [<c02f3b9c>] (sdio_remove_func+0x1c/0x28) from [<c02f2d30>] (mmc_sdio_remove+0x40/0x74)
[ 18.670000] [<c02f2d30>] (mmc_sdio_remove+0x40/0x74) from [<c02f2dc4>] (mmc_sdio_detect+0x60/0xc0)
[ 18.680000] [<c02f2dc4>] (mmc_sdio_detect+0x60/0xc0) from [<c02ed1cc>] (mmc_rescan+0x218/0x27c)
[ 18.690000] [<c02ed1cc>] (mmc_rescan+0x218/0x27c) from [<c0047dfc>] (process_one_work+0x118/0x3b0)
[ 18.700000] [<c0047dfc>] (process_one_work+0x118/0x3b0) from [<c004a6d8>] (worker_thread+0x18c/0x39c)
[ 18.705000] [<c004a6d8>] (worker_thread+0x18c/0x39c) from [<c004e79c>] (kthread+0x84/0x88)
[ 18.715000] [<c004e79c>] (kthread+0x84/0x88) from [<c000f1f8>] (kernel_thread_exit+0x0/0x8)
[ 18.725000] Code: e484300c eb0fa310 e1a03006 e5b32008 (e5824004)
[ 18.730000] ---[ end trace d5cabd3dd041170a ]---
[ 18.735000] note: kworker/u:1[12] exited with preempt_count 1
[ 18.740000] Unable to handle kernel paging request at virtual address fffffffc
[ 18.740000] pgd = c0004000
[ 18.740000] [fffffffc] *pgd=6dffe821, *pte=00000000, *ppte=00000000
[ 18.740000] Internal error: Oops: 17 [#2] PREEMPT SMP
[ 18.740000] Modules linked in: binfmt_misc
[ 18.740000] CPU: 1 Tainted: G D (3.2.0-rc1 #24)
[ 18.740000] PC is at kthread_data+0x4/0xc
[ 18.740000] LR is at wq_worker_sleeping+0xc/0xe0
[ 18.740000] pc : [<c004e958>] lr : [<c004a94c>] psr: 20000193
[ 18.740000] sp : ed0d7be0 ip : 00000001 fp : ed0d7c5c
[ 18.740000] r10: 00000001 r9 : c05dc080 r8 : ed047420
[ 18.740000] r7 : c05f2388 r6 : ed0d6000 r5 : ed047180 r4 : 00000001
[ 18.740000] r3 : 00000000 r2 : 00000000 r1 : 00000001 r0 : ed047180
[ 18.740000] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
[ 18.740000] Control: 10c5387d Table: 6d6cc04a DAC: 00000015
[ 18.740000] Process kworker/u:1 (pid: 12, stack limit = 0xed0d62f0)
[ 18.740000] Stack: (0xed0d7be0 to 0xed0d8000)
[ 18.740000] 7be0: c0e86080 c0435528 008aa000 c00a72c4 c062ef80 ed047180 ed049980 c05db2d0
[ 18.740000] 7c00: ed04fd64 c062ef98 00000002 c05dc080 c05dc080 c05dc080 c05dc080 c05db0e0
[ 18.740000] 7c20: 00000001 00000000 ed047180 c05dc080 00000002 ed047180 ed0d7c38 ed047180
[ 18.740000] 7c40: 00000001 ed047178 ed044000 ed0473a4 ed0473a4 ed0473a4 c0510190 c0037754
[ 18.740000] 7c60: 00000002 ed0d7c74 ed0d6000 00000001 c004eecc ed0d7c74 ed0d7c74 ed0473ec
[ 18.740000] 7c80: c004eeca 00000001 ed0d6000 00000000 ed0d7cf2 c004eeca c004eecc 00000000
[ 18.740000] 7ca0: c0510190 c001194c ed0d62f0 0000000b 00000001 c0510198 00000008 00000000
[ 18.740000] 7cc0: 65000001 33343834 20633030 66306265 30313361 61316520 30303330 35652036
[ 18.740000] 7ce0: 30323362 28203830 32383565 34303034 00002029 ed047180 00000002 ed0d7e00
[ 18.740000] 7d00: 00000004 00000000 00000805 00000000 00000000 ed047180 00000002 c0015d08
[ 18.740000] 7d20: 00000000 ed0d7e00 00000004 00000005 00000805 c0015e64 c062d450 ffffffff
[ 18.740000] 7d40: 00000805 00000004 ed0d7e00 00000005 c05f6ae0 00000000 ed0d6000 c000835c
[ 18.740000] 7d60: ed047180 ed0d6000 c05f2388 c0054340 00000000 c05dc080 ed0d7df4 c04353a4
[ 18.740000] 7d80: ed0d6000 ed030100 00000000 00000000 00000005 ed5054e0 00000000 00000000
[ 18.740000] 7da0: 1bc3d000 c05dc080 c05dc080 c05dc080 c05dc080 c05db0e0 ec22a340 00000004
[ 18.740000] 7dc0: 00000000 c05dc080 c0019a50 00000001 c05f2388 ed0d7e7c 7fffffff ed0d7e80
[ 18.740000] 7de0: 7fffffff 00000000 c004eec8 60000093 ffffffff ed0d7e34 ed2afc00 c000db98
[ 18.740000] 7e00: a0000013 ed0d7e5c 00000000 ed2afe24 ed0d7e68 ed0d7e5c ed2afe1c ed2afe1c
[ 18.740000] 7e20: ed2afc00 00000000 ed0d6000 00000002 ed047180 ed0d7e48 c004eec0 c004eec8
[ 18.740000] 7e40: 60000093 ffffffff ed2afdb8 ed2ae200 c0612174 c02ebbdc 00000000 00000000
[ 18.740000] 7e60: ed047180 c002f454 00000000 00000000 ed126005 ed64e480 ed2ae200 c0612174
[ 18.740000] 7e80: c0612164 00000000 ed126005 c02ecfb4 ec004e34 c0247d8c ed7ec400 c0243288
[ 18.740000] 7ea0: ed64e480 ed2ae200 c0612174 c0247c98 ed64e480 c0248350 ed2ae208 ed2ae200
[ 18.740000] 7ec0: c0612174 c02f372c c02f36f8 ed2ae208 c0612174 ec004c00 00000000 c0203628
[ 18.740000] 7ee0: ed2ae23c ed2ae208 ec004c00 c0203694 ed2ae208 ec007c08 ec004c00 c0203200
[ 18.740000] 7f00: ed2ae208 c0201364 ed2ae208 000000a9 ec004c00 c02f3b9c 00000001 c02f2d30
[ 18.740000] 7f20: 4400240f ec004c00 ffffffac ed126000 ed0d6000 c02f2dc4 ec004c00 ec004db8
[ 18.740000] 7f40: ed126000 c02ed1cc ed00f880 c0650b40 ed126000 c0047dfc ed004600 00000001
[ 18.740000] 7f60: ed004600 ed00f880 c0650b40 c0650b48 ed00f890 ed0d6000 c05dc5e0 c05dc5e0
[ 18.740000] 7f80: 00000089 c004a6d8 c06063a0 00000000 00000013 c05dc5e0 c05dc5e0 c05dc5e0
[ 18.740000] 7fa0: ed0d7fc4 ed055ef8 ed00f880 c004a54c 00000013 00000000 00000000 00000000
[ 18.740000] 7fc0: 00000000 c004e79c c000f1f8 00000000 ed00f880 00000001 00000000 00000000
[ 18.740000] 7fe0: ed0d7fe0 ed0d7fe0 ed055ef8 c004e718 c000f1f8 c000f1f8 03030303 03030303
[ 18.740000] [<c004e958>] (kthread_data+0x4/0xc) from [<c004a94c>] (wq_worker_sleeping+0xc/0xe0)
[ 18.740000] [<c004a94c>] (wq_worker_sleeping+0xc/0xe0) from [<c0435528>] (__schedule+0x4f4/0x7e8)
[ 18.740000] [<c0435528>] (__schedule+0x4f4/0x7e8) from [<c0037754>] (do_exit+0x4b0/0x6a8)
[ 18.740000] [<c0037754>] (do_exit+0x4b0/0x6a8) from [<c001194c>] (die+0x130/0x2c0)
[ 18.740000] [<c001194c>] (die+0x130/0x2c0) from [<c0015d08>] (__do_kernel_fault+0x74/0x84)
[ 18.740000] [<c0015d08>] (__do_kernel_fault+0x74/0x84) from [<c0015e64>] (do_page_fault+0x14c/0x1e8)
[ 18.740000] [<c0015e64>] (do_page_fault+0x14c/0x1e8) from [<c000835c>] (do_DataAbort+0x34/0x9c)
[ 18.740000] [<c000835c>] (do_DataAbort+0x34/0x9c) from [<c000db98>] (__dabt_svc+0x38/0x60)
[ 18.740000] Exception stack(0xed0d7e00 to 0xed0d7e48)
[ 18.740000] 7e00: a0000013 ed0d7e5c 00000000 ed2afe24 ed0d7e68 ed0d7e5c ed2afe1c ed2afe1c
[ 18.740000] 7e20: ed2afc00 00000000 ed0d6000 00000002 ed047180 ed0d7e48 c004eec0 c004eec8
[ 18.740000] 7e40: 60000093 ffffffff
[ 18.740000] [<c000db98>] (__dabt_svc+0x38/0x60) from [<c004eec8>] (add_wait_queue+0x28/0x48)
[ 18.740000] [<c004eec8>] (add_wait_queue+0x28/0x48) from [<c02ebbdc>] (__mmc_claim_host+0x58/0x174)
[ 18.740000] [<c02ebbdc>] (__mmc_claim_host+0x58/0x174) from [<c0247d8c>] (brcmf_sdcard_intr_dereg+0x10/0x28)
[ 18.740000] [<c0247d8c>] (brcmf_sdcard_intr_dereg+0x10/0x28) from [<c0243288>] (brcmf_sdbrcm_release+0x14/0xc0)
[ 18.740000] [<c0243288>] (brcmf_sdbrcm_release+0x14/0xc0) from [<c0247c98>] (brcmf_sdio_remove+0x18/0x38)
[ 18.740000] [<c0247c98>] (brcmf_sdio_remove+0x18/0x38) from [<c0248350>] (brcmf_ops_sdio_remove+0x28/0x44)
[ 18.740000] [<c0248350>] (brcmf_ops_sdio_remove+0x28/0x44) from [<c02f372c>] (sdio_bus_remove+0x34/0xfc)
[ 18.740000] [<c02f372c>] (sdio_bus_remove+0x34/0xfc) from [<c0203628>] (__device_release_driver+0x70/0xc0)
[ 18.740000] [<c0203628>] (__device_release_driver+0x70/0xc0) from [<c0203694>] (device_release_driver+0x1c/0x28)
[ 18.740000] [<c0203694>] (device_release_driver+0x1c/0x28) from [<c0203200>] (bus_remove_device+0x70/0x8c)
[ 18.740000] [<c0203200>] (bus_remove_device+0x70/0x8c) from [<c0201364>] (device_del+0xf8/0x174)
[ 18.740000] [<c0201364>] (device_del+0xf8/0x174) from [<c02f3b9c>] (sdio_remove_func+0x1c/0x28)
[ 18.740000] [<c02f3b9c>] (sdio_remove_func+0x1c/0x28) from [<c02f2d30>] (mmc_sdio_remove+0x40/0x74)
[ 18.740000] [<c02f2d30>] (mmc_sdio_remove+0x40/0x74) from [<c02f2dc4>] (mmc_sdio_detect+0x60/0xc0)
[ 18.740000] [<c02f2dc4>] (mmc_sdio_detect+0x60/0xc0) from [<c02ed1cc>] (mmc_rescan+0x218/0x27c)
[ 18.740000] [<c02ed1cc>] (mmc_rescan+0x218/0x27c) from [<c0047dfc>] (process_one_work+0x118/0x3b0)
[ 18.740000] [<c0047dfc>] (process_one_work+0x118/0x3b0) from [<c004a6d8>] (worker_thread+0x18c/0x39c)
[ 18.740000] [<c004a6d8>] (worker_thread+0x18c/0x39c) from [<c004e79c>] (kthread+0x84/0x88)
[ 18.740000] [<c004e79c>] (kthread+0x84/0x88) from [<c000f1f8>] (kernel_thread_exit+0x0/0x8)
[ 18.740000] Code: e8bd4030 e28dd004 e12fff1e e5903274 (e5130004)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 17:23 ` brcm80211 (with bcm4329-chip) Arend van Spriel
2011-11-21 18:30 ` Franky Lin
@ 2011-11-21 18:47 ` Thomas Langås
1 sibling, 0 replies; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 18:47 UTC (permalink / raw)
To: Arend van Spriel; +Cc: linux-wireless@vger.kernel.org, Franky (Zhenhui) Lin
On Mon, Nov 21, 2011 at 6:23 PM, Arend van Spriel <arend@broadcom.com> wrote:
> Could you provide some information on the board you are using. Type of
> processor, kernel version, and anything else you can/want to share. In
> /sys/bus/sdio/devices/ you may find the location of the bcm4329.
Kernel version: 3.2.0-rc1 (from linux-samsung tree)
Processor: Samsung Exynos 4210
* uSD-reader is on mmc 0
* bcm4329 is on mmc 2
Any more details you want to know, please feel free to ask.
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 18:45 ` Thomas Langås
@ 2011-11-21 19:58 ` Franky Lin
2011-11-21 21:13 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-21 19:58 UTC (permalink / raw)
To: Thomas Langås
Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
On 11/21/2011 10:45 AM, Thomas Langås wrote:
> On Mon, Nov 21, 2011 at 7:30 PM, Franky Lin<frankyl@broadcom.com> wrote:
>> Current MMC stack in Linux would not confuse a MMC/SD card and a SDIO
>> device. Basically the intialization and command sets they used are
>> different.
>
> So the crash is unrelated, is what you're saying? I've attached the
> log if that'll
> give you some more clues.
Yes, it should have nothing to do with the crash.
> Attached is a crash.log-file from the serial console.
>
> [ 5.390000] mmc1: Got data interrupt 0x00200000 even though no
data operation was in progress.
This is weird.
#define SDHCI_INT_ADMA_ERROR 0x02000000
Could you check why the the SDIO host controller is generating this kind
of interrupt?
Also, comment out the line "brcmf_msg_level = BRCMF_ERROR_VAL;" in
brcmf_c_init of dhd_common.c. Then insert fullmac module by
insmod brcmfmac.ko brcmf_msg_level=0x7. This will give you a more detail
log of brcmfmac. But I am suspecting even the first SDIO read command
failed.
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 19:58 ` Franky Lin
@ 2011-11-21 21:13 ` Thomas Langås
2011-11-21 21:34 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 21:13 UTC (permalink / raw)
To: Franky Lin; +Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
[-- Attachment #1: Type: text/plain, Size: 1500 bytes --]
On Mon, Nov 21, 2011 at 8:58 PM, Franky Lin <frankyl@broadcom.com> wrote:
>> [ 5.390000] mmc1: Got data interrupt 0x00200000 even though no data
>> operation was in progress.
>
> This is weird.
> #define SDHCI_INT_ADMA_ERROR 0x02000000
> Could you check why the the SDIO host controller is generating this kind of
> interrupt?
>From the doc:
"This bit is set if the Host Controller detects errors during
ADMA based data transfer. The state of the ADMA at an
error occurrence is saved in the ADMA Error Status
Register, In addition, the Host Controller generates this
Interrupt if it detects invalid descriptor data (Valid=0) at
the ST_FDS state. ADMA Error State in the ADMA Error
Status indicates that an error occurs in ST_FDS state.
The Host Driver may find that Valid bit is not set at the
error descriptor."
> Also, comment out the line "brcmf_msg_level = BRCMF_ERROR_VAL;" in
> brcmf_c_init of dhd_common.c. Then insert fullmac module by
> insmod brcmfmac.ko brcmf_msg_level=0x7. This will give you a more detail log
> of brcmfmac. But I am suspecting even the first SDIO read command failed.
Hmm, doing that, and loading this as a module instead of compiling it into the
kernel seemed to work.
Is there a reason for this not working when being compiled into the kernel? Is
it possible that I need to change the order of some of the units
being initialized
in my machine-description / init?
I'm attaching the log from modprobe.
Regards,
Thomas
[-- Attachment #2: modprobe.log --]
[-- Type: application/octet-stream, Size: 24091 bytes --]
[ 462.870000] brcmf_module_init: Enter
[ 462.870000] brcmf_bus_register: Enter
[ 462.965000] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
[ 462.975000] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 463.010000] mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
[ 463.010000] brcmf_ops_sdio_probe: Enter
[ 463.010000] brcmf_ops_sdio_probe: func->class=0
[ 463.010000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 463.010000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 463.010000] brcmf_ops_sdio_probe: Function#: 0x0001
[ 463.010000] brcmf_ops_sdio_probe: Enter
[ 463.010000] brcmf_ops_sdio_probe: func->class=0
[ 463.010000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 463.010000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 463.010000] brcmf_ops_sdio_probe: Function#: 0x0002
[ 463.010000] brcmf_ops_sdio_probe: F2 found, calling brcmf_sdio_probe...
[ 463.010000] brcmf_sdioh_attach:
[ 463.010000] brcmf_sdioh_enablefuncs:
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00009
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0000a
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0000b
[ 463.010000] brcmf_sdioh_enablefuncs: Card's Common CIS Ptr = 0x1000
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00109
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0010a
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0010b
[ 463.010000] brcmf_sdioh_enablefuncs: Function 1 CIS Ptr = 0x1003
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00209
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0020a
[ 463.010000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0020b
[ 463.010000] brcmf_sdioh_enablefuncs: Function 2 CIS Ptr = 0x1003
[ 463.015000] brcmf_sdioh_attach: Done
[ 463.015000] brcmf_sdbrcm_probe: Enter
[ 463.015000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.015000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.015000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.015000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.015000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.015000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.020000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000000
[ 463.020000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08000, nbytes=4
[ 463.020000] brcmf_sdcard_reg_read: u32data = 0x9934329
[ 463.020000] F1 signature read @0x18000000=0x9934329
[ 463.020000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x28
[ 463.020000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 463.020000] brcmf_sdbrcm_chip_attach: Enter
[ 463.020000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x28
[ 463.020000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 463.020000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 463.020000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.020000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x21
[ 463.020000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000f
[ 463.020000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000f, u8data = 0x0
[ 463.020000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000000
[ 463.020000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08000, nbytes=4
[ 463.020000] brcmf_sdcard_reg_read: u32data = 0x9934329
[ 463.020000] brcmf_sdbrcm_chip_recognition: chipid=0x4329 chiprev=3
[ 463.020000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000ffc
[ 463.025000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08ffc, nbytes=4
[ 463.025000] brcmf_sdcard_reg_read: u32data = 0x4243900d
[ 463.025000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000604
[ 463.025000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08604, nbytes=4
[ 463.030000] brcmf_sdcard_reg_read: u32data = 0x21cc3606
[ 463.030000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18011ffc
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x1
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.030000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x09ffc, nbytes=4
[ 463.030000] brcmf_sdcard_reg_read: u32data = 0x42438291
[ 463.030000] brcmf_sdbrcm_chip_recognition: ccrev=29, pmurev=6, buscore rev/type=1/0x829
[ 463.030000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000004
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.030000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.030000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08004, nbytes=4
[ 463.030000] brcmf_sdcard_reg_read: u32data = 0x3048010a
[ 463.030000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 463.030000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 463.030000] brcmf_sdcard_reg_read: u32data = 0x1
[ 463.030000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18000058, uint32data = 0x0
[ 463.030000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x08058, nbytes=4
[ 463.030000] net_ratelimit: 32 callbacks suppressed
[ 463.030000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.030000] brcmf_sdcard_reg_write: error writing 0x00000000 to addr 0x8058 size 4
[ 463.030000] brcmf_sdcard_reg_write: fun = 1, addr = 0x1800005c, uint32data = 0x0
[ 463.030000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0805c, nbytes=4
[ 463.030000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.030000] brcmf_sdcard_reg_write: error writing 0x00000000 to addr 0x805c size 4
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=0, addr=0x00002
[ 463.040000] brcmf_sdcard_cfg_write: fun = 0, addr = 0x2, u8data = 0x2
[ 463.040000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x00000
[ 463.040000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x0, u8data = 0x29
[ 463.040000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.040000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 463.040000] brcmf_sdbrcm_sdiod_drive_strength_init: No SDIO Drive strength init done for chip 4329 rev 3 pmurev 6
[ 463.040000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002ffc
[ 463.040000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0affc, nbytes=4
[ 463.040000] brcmf_sdcard_reg_read: u32data = 0x424382a0
[ 463.040000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18011000
[ 463.040000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.040000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.040000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.040000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x1
[ 463.040000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.040000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.040000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x09000, nbytes=4
[ 463.040000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.040000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18011000, uint32data = 0x2
[ 463.040000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x09000, nbytes=4
[ 463.040000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.040000] brcmf_sdcard_reg_write: error writing 0x00000002 to addr 0x9000 size 4
[ 463.040000] brcmf_attach: Enter
[ 463.040000] brcmf_add_if: idx 0, handle->ed716000
[ 463.050000] brcmf_sdbrcm_probe_malloc: Enter
[ 463.050000] brcmf_sdbrcm_probe_init: Enter
[ 463.050000] brcmf_sdioh_request_byte: rw=1, func=0, addr=0x00002
[ 463.050000] brcmf_sdcard_cfg_write: fun = 0, addr = 0x2, u8data = 0x2
[ 463.050000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.050000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 463.050000] brcmf_sdcard_intr_reg: Entering
[ 463.050000] brcmf_sdbrcm_probe: completed!!
[ 463.050000] brcmf_bus_start:
[ 463.050000] brcmf_sdbrcm_bus_init: Enter
[ 463.050000] brcmf_sdbrcm_clkctl: Enter
[ 463.050000] brcmf_sdbrcm_htclk: Enter
[ 463.050000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.050000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 463.050000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 463.055000] brcmf_sdioh_irqhandler: ***IRQHandler
[ 463.055000] brcmf_sdbrcm_isr: Enter
[ 463.055000] brcmf_sdbrcm_isr: bus is down. we have nothing to do
[ 463.055000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x48
[ 463.055000] brcmf_sdbrcm_htclk: CLKCTL: turned ON
[ 463.055000] brcmf_sdbrcm_clkctl: 1 -> 3
[ 463.055000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 463.055000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.055000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.055000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.055000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.055000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.055000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.055000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 463.055000] brcmf_sdcard_reg_read: u32data = 0x1
[ 463.055000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.055000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.055000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.055000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.055000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.065000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.065000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.065000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.065000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.065000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10002
[ 463.065000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.065000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.065000] brcmf_sdcard_reg_write: error writing 0x00010002 to addr 0xbf98 size 4
[ 463.065000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.065000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.065000] brcmf_sdcard_reg_read: u32data = 0x10002
[ 463.065000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.065000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.070000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.070000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.070000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 463.070000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 463.070000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30003
[ 463.070000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.070000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: u32data = 0x30003
[ 463.070000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 463.070000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 463.070000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 463.070000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x3
[ 463.075000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.075000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30001
[ 463.075000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.075000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.075000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.075000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.075000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f90
[ 463.075000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf90, nbytes=4
[ 463.075000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.075000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30000
[ 463.075000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.075000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10000
[ 463.075000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x4
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 463.080000] brcmf_sdbrcm_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
[ 463.080000] brcmf_sdioh_request_buffer: Enter
[ 463.080000] brcmf_sdioh_request_packet: Enter
[ 463.080000] brcmf_sdioh_request_packet: Exit
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.080000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.080000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.080000] brcmf_sdbrcm_download_code_file: Enter
[ 463.145000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.145000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.145000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.145000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.145000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.150000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 463.150000] brcmf_sdbrcm_membytes: write 2048 bytes at offset 0x00000000 in window 0x00000000
[ 463.150000] brcmf_sdioh_request_buffer: Enter
[ 463.150000] brcmf_sdioh_request_packet: Enter
[ 463.150000] mmc1: Got data interrupt 0x00200000 even though no data operation was in progress.
[ 463.150000] mmc1: Got data interrupt 0x00200002 even though no data operation was in progress.
[ 463.160000] brcmf_sdioh_request_packet: Exit
[ 463.165000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.165000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.165000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.165000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.165000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.165000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.165000] brcmf_sdbrcm_clkctl: Enter
[ 463.165000] brcmf_sdbrcm_htclk: Enter
[ 463.165000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.165000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 463.165000] brcmf_sdbrcm_htclk: CLKCTL: turned OFF
[ 463.165000] brcmf_sdbrcm_clkctl: 3 -> 1
[ 463.165000] brcmf_net_attach: ifidx 0
[ 463.175000] brcmf_netdev_get_stats: Enter
[ 463.175000] brcmf_net_attach: wlan0: Broadcom Dongle Host Driver
[ 463.175000] brcmf_ops_sdio_probe: Enter
[ 463.175000] brcmf_ops_sdio_probe: func->class=2
[ 463.175000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 463.175000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 463.175000] brcmf_ops_sdio_probe: Function#: 0x0003
[ 463.185000] brcmf_netdev_get_stats: Enter
[ 463.235000] brcmf_netdev_get_stats: Enter
[ 463.235000] brcmf_netdev_get_stats: Enter
[ 463.235000] brcmf_netdev_open: ifidx 0
[ 463.235000] brcmf_bus_start:
[ 463.235000] brcmf_sdbrcm_bus_init: Enter
[ 463.235000] brcmf_sdbrcm_clkctl: Enter
[ 463.235000] brcmf_sdbrcm_htclk: Enter
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 463.235000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 463.235000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x48
[ 463.235000] brcmf_sdbrcm_htclk: CLKCTL: turned ON
[ 463.235000] brcmf_sdbrcm_clkctl: 1 -> 3
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x1
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10002
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x10002
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30003
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x30003
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x3
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30001
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.235000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f90
[ 463.235000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf90, nbytes=4
[ 463.235000] brcmf_sdcard_reg_read: u32data = 0x0
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30000
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10000
[ 463.235000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x4
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 463.235000] brcmf_sdbrcm_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
[ 463.235000] brcmf_sdioh_request_buffer: Enter
[ 463.235000] brcmf_sdioh_request_packet: Enter
[ 463.235000] brcmf_sdioh_request_packet: Exit
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.235000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.235000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 463.235000] brcmf_sdbrcm_download_code_file: Enter
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.245000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 463.245000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 463.245000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 463.245000] brcmf_sdbrcm_membytes: write 2048 bytes at offset 0x00000000 in window 0x00000000
[ 463.245000] brcmf_sdioh_request_buffer: Enter
[ 463.245000] brcmf_sdioh_request_packet: Enter
[ 463.245000] brcmf_sdioh_request_packet: Exit
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 463.245000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 463.245000] brcmf_sdbrcm_clkctl: Enter
[ 463.245000] brcmf_sdbrcm_htclk: Enter
[ 463.245000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.250000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.250000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.250000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 463.250000] brcmf_sdbrcm_htclk: CLKCTL: turned OFF
[ 463.250000] brcmf_sdbrcm_clkctl: 3 -> 1
[ 463.250000] brcmf_netdev_get_stats: Enter
[ 463.250000] brcmf_netdev_open: ifidx 0
[ 463.250000] brcmf_bus_start:
[ 463.250000] brcmf_sdbrcm_bus_init: Enter
[ 463.250000] brcmf_sdbrcm_clkctl: Enter
[ 463.250000] brcmf_sdbrcm_htclk: Enter
[ 463.250000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.255000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.255000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.255000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 463.255000] brcmf_sdbrcm_clkctl: 1 -> 1
[ 463.255000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 463.255000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 21:13 ` Thomas Langås
@ 2011-11-21 21:34 ` Thomas Langås
2011-11-21 21:58 ` Franky Lin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 21:34 UTC (permalink / raw)
To: Franky Lin; +Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
On Mon, Nov 21, 2011 at 10:13 PM, Thomas Langås
<thomas.langas@fxitech.com> wrote:
> Hmm, doing that, and loading this as a module instead of compiling it into the
> kernel seemed to work.
>
> Is there a reason for this not working when being compiled into the kernel? Is
> it possible that I need to change the order of some of the units
> being initialized
> in my machine-description / init?
Ok, so I get the device listed as a wlan0-device, and I see the driver
being able to communicate
with the chip, sort of (it can read registers at least), but then I
start seeing errors like this (from
the previously attached log):
[ 463.030000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.030000] brcmf_sdcard_reg_write: error writing 0x00000000 to
addr 0x8058 size 4
[ 463.030000] brcmf_sdcard_reg_write: fun = 1, addr = 0x1800005c,
uint32data = 0x0
[ 463.030000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0805c, nbytes=4
[ 463.030000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.030000] brcmf_sdcard_reg_write: error writing 0x00000000 to
addr 0x805c size 4
[ 463.030000] brcmf_sdioh_request_byte: rw=1, func=0, addr=0x00002
[ 463.040000] brcmf_sdcard_cfg_write: fun = 0, addr = 0x2, u8data = 0x2
[ 463.040000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x00000
[ 463.040000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x0, u8data = 0x29
[ 463.040000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 463.040000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 463.040000] brcmf_sdbrcm_sdiod_drive_strength_init: No SDIO Drive
strength init done for chip 4329 rev 3 pmurev 6
...
[ 463.040000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18011000,
uint32data = 0x2
[ 463.040000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x09000, nbytes=4
[ 463.040000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 463.040000] brcmf_sdcard_reg_write: error writing 0x00000002 to
addr 0x9000 size 4
[ 463.040000] brcmf_attach: Enter
...
[ 463.050000] brcmf_sdbrcm_probe: completed!!
...
[ 463.055000] brcmf_sdbrcm_isr: Enter
[ 463.055000] brcmf_sdbrcm_isr: bus is down. we have nothing to do
...
(and the list goes on)
Any pointers on what I should start looking for? :)
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 21:34 ` Thomas Langås
@ 2011-11-21 21:58 ` Franky Lin
2011-11-21 22:26 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-21 21:58 UTC (permalink / raw)
To: Thomas Langås
Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
On 11/21/2011 01:34 PM, Thomas Langås wrote:
> On Mon, Nov 21, 2011 at 10:13 PM, Thomas Langås
> <thomas.langas@fxitech.com> wrote:
>> Hmm, doing that, and loading this as a module instead of compiling it into the
>> kernel seemed to work.
>>
>> Is there a reason for this not working when being compiled into the kernel? Is
>> it possible that I need to change the order of some of the units
>> being initialized
>> in my machine-description / init?\
Usually we compile it as module instead of built-in. But I just tried it
with built-in and it can intialize and scan. Some issue did happen
during joining an AP. So I would suggest use module for your
development for now.
>
> Ok, so I get the device listed as a wlan0-device, and I see the driver
> being able to communicate
> with the chip, sort of (it can read registers at least), but then I
> start seeing errors like this (from
> the previously attached log):
It's possible that the firmware carshed. Are you using the
firmware/nvram from Linux repository? You should use the nvram that fits
your platform.
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 21:58 ` Franky Lin
@ 2011-11-21 22:26 ` Thomas Langås
2011-11-21 22:48 ` Franky Lin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 22:26 UTC (permalink / raw)
To: Franky Lin; +Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
[-- Attachment #1: Type: text/plain, Size: 505 bytes --]
On Mon, Nov 21, 2011 at 10:58 PM, Franky Lin <frankyl@broadcom.com> wrote:
> It's possible that the firmware carshed. Are you using the firmware/nvram
> from Linux repository? You should use the nvram that fits your platform.
I'm using the one from repository now, yes.
Using the firmware I had from before, the only difference I see is the
time of when
the IRQ handler is called, but that is probably just randomness, I guess?
Attached is the log when modprobing with old firmware.
Regards,
Thomas
[-- Attachment #2: modprobe_with_custom_fw.log --]
[-- Type: application/octet-stream, Size: 24091 bytes --]
[ 4902.830000] brcmf_module_init: Enter
[ 4902.830000] brcmf_bus_register: Enter
[ 4902.925000] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
[ 4902.935000] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 4902.970000] mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
[ 4902.970000] brcmf_ops_sdio_probe: Enter
[ 4902.970000] brcmf_ops_sdio_probe: func->class=0
[ 4902.970000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 4902.970000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 4902.970000] brcmf_ops_sdio_probe: Function#: 0x0001
[ 4902.970000] brcmf_ops_sdio_probe: Enter
[ 4902.970000] brcmf_ops_sdio_probe: func->class=0
[ 4902.970000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 4902.970000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 4902.970000] brcmf_ops_sdio_probe: Function#: 0x0002
[ 4902.970000] brcmf_ops_sdio_probe: F2 found, calling brcmf_sdio_probe...
[ 4902.970000] brcmf_sdioh_attach:
[ 4902.970000] brcmf_sdioh_enablefuncs:
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00009
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0000a
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0000b
[ 4902.970000] brcmf_sdioh_enablefuncs: Card's Common CIS Ptr = 0x1000
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00109
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0010a
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0010b
[ 4902.970000] brcmf_sdioh_enablefuncs: Function 1 CIS Ptr = 0x1003
[ 4902.970000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x00209
[ 4902.975000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0020a
[ 4902.975000] brcmf_sdioh_request_byte: rw=0, func=0, addr=0x0020b
[ 4902.975000] brcmf_sdioh_enablefuncs: Function 2 CIS Ptr = 0x1003
[ 4902.975000] brcmf_sdioh_attach: Done
[ 4902.975000] brcmf_sdbrcm_probe: Enter
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4902.975000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000000
[ 4902.975000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08000, nbytes=4
[ 4902.975000] brcmf_sdcard_reg_read: u32data = 0x9934329
[ 4902.975000] F1 signature read @0x18000000=0x9934329
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x28
[ 4902.975000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 4902.975000] brcmf_sdbrcm_chip_attach: Enter
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x28
[ 4902.975000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 4902.975000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x68
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x21
[ 4902.975000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000f
[ 4902.975000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000f, u8data = 0x0
[ 4902.975000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000000
[ 4902.975000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08000, nbytes=4
[ 4902.975000] brcmf_sdcard_reg_read: u32data = 0x9934329
[ 4902.980000] brcmf_sdbrcm_chip_recognition: chipid=0x4329 chiprev=3
[ 4902.980000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000ffc
[ 4902.980000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08ffc, nbytes=4
[ 4902.980000] brcmf_sdcard_reg_read: u32data = 0x4243900d
[ 4902.980000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000604
[ 4902.980000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08604, nbytes=4
[ 4902.980000] brcmf_sdcard_reg_read: u32data = 0x21cc3606
[ 4902.980000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18011ffc
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x1
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4902.980000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x09ffc, nbytes=4
[ 4902.980000] brcmf_sdcard_reg_read: u32data = 0x42438291
[ 4902.980000] brcmf_sdbrcm_chip_recognition: ccrev=29, pmurev=6, buscore rev/type=1/0x829
[ 4902.980000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18000004
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4902.980000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4902.980000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4902.980000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x08004, nbytes=4
[ 4902.980000] brcmf_sdcard_reg_read: u32data = 0x3048010a
[ 4902.980000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 4902.980000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 4902.980000] brcmf_sdcard_reg_read: u32data = 0x1
[ 4902.980000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18000058, uint32data = 0x0
[ 4902.980000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x08058, nbytes=4
[ 4902.980000] net_ratelimit: 32 callbacks suppressed
[ 4902.980000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 4902.980000] brcmf_sdcard_reg_write: error writing 0x00000000 to addr 0x8058 size 4
[ 4902.980000] brcmf_sdcard_reg_write: fun = 1, addr = 0x1800005c, uint32data = 0x0
[ 4902.980000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0805c, nbytes=4
[ 4902.980000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 4902.980000] brcmf_sdcard_reg_write: error writing 0x00000000 to addr 0x805c size 4
[ 4902.985000] brcmf_sdioh_request_byte: rw=1, func=0, addr=0x00002
[ 4902.985000] brcmf_sdcard_cfg_write: fun = 0, addr = 0x2, u8data = 0x2
[ 4902.985000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x00000
[ 4902.985000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x0, u8data = 0x29
[ 4902.985000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.985000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 4902.985000] brcmf_sdbrcm_sdiod_drive_strength_init: No SDIO Drive strength init done for chip 4329 rev 3 pmurev 6
[ 4902.985000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002ffc
[ 4902.985000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0affc, nbytes=4
[ 4902.985000] brcmf_sdcard_reg_read: u32data = 0x424382a0
[ 4902.985000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18011000
[ 4902.985000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4902.985000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4902.985000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4902.985000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x1
[ 4902.985000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4902.985000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4902.985000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x09000, nbytes=4
[ 4902.985000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4902.985000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18011000, uint32data = 0x2
[ 4902.985000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x09000, nbytes=4
[ 4902.985000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 4902.985000] brcmf_sdcard_reg_write: error writing 0x00000002 to addr 0x9000 size 4
[ 4902.985000] brcmf_attach: Enter
[ 4902.985000] brcmf_add_if: idx 0, handle->ed714800
[ 4902.990000] brcmf_sdbrcm_probe_malloc: Enter
[ 4902.990000] brcmf_sdbrcm_probe_init: Enter
[ 4902.990000] brcmf_sdioh_request_byte: rw=1, func=0, addr=0x00002
[ 4902.990000] brcmf_sdcard_cfg_write: fun = 0, addr = 0x2, u8data = 0x2
[ 4902.990000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.990000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 4902.990000] brcmf_sdcard_intr_reg: Entering
[ 4902.990000] brcmf_sdbrcm_probe: completed!!
[ 4902.990000] brcmf_bus_start:
[ 4902.990000] brcmf_sdbrcm_bus_init: Enter
[ 4902.990000] brcmf_sdbrcm_clkctl: Enter
[ 4902.990000] brcmf_sdbrcm_htclk: Enter
[ 4902.990000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4902.990000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 4902.990000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 4902.990000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x48
[ 4902.990000] brcmf_sdbrcm_htclk: CLKCTL: turned ON
[ 4902.995000] brcmf_sdbrcm_clkctl: 1 -> 3
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 4902.995000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4902.995000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4902.995000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4902.995000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4902.995000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4902.995000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x1
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4902.995000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10002
[ 4902.995000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4902.995000] brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
[ 4902.995000] brcmf_sdcard_reg_write: error writing 0x00010002 to addr 0xbf98 size 4
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x10002
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4902.995000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 4902.995000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 4902.995000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 4902.995000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30003
[ 4902.995000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.000000] brcmf_sdioh_irqhandler: ***IRQHandler
[ 4903.000000] brcmf_sdbrcm_isr: Enter
[ 4903.000000] brcmf_sdbrcm_isr: bus is down. we have nothing to do
[ 4903.000000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.000000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.000000] brcmf_sdcard_reg_read: u32data = 0x30003
[ 4903.000000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 4903.000000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 4903.005000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x3
[ 4903.005000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30001
[ 4903.005000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4903.005000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.005000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f90
[ 4903.005000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf90, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.005000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30000
[ 4903.005000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.005000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10000
[ 4903.005000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.005000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.005000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.005000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.005000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x4
[ 4903.005000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.010000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 4903.010000] brcmf_sdbrcm_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
[ 4903.010000] brcmf_sdioh_request_buffer: Enter
[ 4903.010000] brcmf_sdioh_request_packet: Enter
[ 4903.010000] brcmf_sdioh_request_packet: Exit
[ 4903.010000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.010000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.010000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.010000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4903.010000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.010000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4903.010000] brcmf_sdbrcm_download_code_file: Enter
[ 4903.095000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.095000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.095000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.095000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4903.095000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.095000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 4903.095000] brcmf_sdbrcm_membytes: write 2048 bytes at offset 0x00000000 in window 0x00000000
[ 4903.095000] brcmf_sdioh_request_buffer: Enter
[ 4903.095000] brcmf_sdioh_request_packet: Enter
[ 4903.095000] mmc1: Got data interrupt 0x00200000 even though no data operation was in progress.
[ 4903.100000] mmc1: Got data interrupt 0x00200002 even though no data operation was in progress.
[ 4903.115000] brcmf_sdioh_request_packet: Exit
[ 4903.115000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.115000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.115000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.115000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4903.115000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.115000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4903.115000] brcmf_sdbrcm_clkctl: Enter
[ 4903.115000] brcmf_sdbrcm_htclk: Enter
[ 4903.115000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.115000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 4903.115000] brcmf_sdbrcm_htclk: CLKCTL: turned OFF
[ 4903.115000] brcmf_sdbrcm_clkctl: 3 -> 1
[ 4903.115000] brcmf_net_attach: ifidx 0
[ 4903.120000] brcmf_netdev_get_stats: Enter
[ 4903.120000] brcmf_net_attach: wlan0: Broadcom Dongle Host Driver
[ 4903.120000] brcmf_ops_sdio_probe: Enter
[ 4903.120000] brcmf_ops_sdio_probe: func->class=2
[ 4903.120000] brcmf_ops_sdio_probe: sdio_vendor: 0x02d0
[ 4903.120000] brcmf_ops_sdio_probe: sdio_device: 0x4329
[ 4903.120000] brcmf_ops_sdio_probe: Function#: 0x0003
[ 4903.140000] brcmf_netdev_get_stats: Enter
[ 4903.140000] brcmf_netdev_get_stats: Enter
[ 4903.140000] brcmf_netdev_get_stats: Enter
[ 4903.140000] brcmf_netdev_open: ifidx 0
[ 4903.140000] brcmf_bus_start:
[ 4903.140000] brcmf_sdbrcm_bus_init: Enter
[ 4903.140000] brcmf_sdbrcm_clkctl: Enter
[ 4903.140000] brcmf_sdbrcm_htclk: Enter
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 4903.140000] brcmf_sdioh_request_byte: rw=0, func=1, addr=0x1000e
[ 4903.140000] brcmf_sdcard_cfg_read: fun = 1, addr = 0x1000e, u8data = 0x48
[ 4903.140000] brcmf_sdbrcm_htclk: CLKCTL: turned ON
[ 4903.140000] brcmf_sdbrcm_clkctl: 1 -> 3
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x1
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x10000
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10002
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x10002
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30003
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f98
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x30003
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003ff8
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bff8, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x6000225d
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x3
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30001
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f9c
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf9c, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.140000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18003f90
[ 4903.140000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0bf90, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_read: u32data = 0x0
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x30000
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdcard_reg_write: fun = 1, addr = 0x18003f98, uint32data = 0x10000
[ 4903.140000] brcmf_sdioh_request_word: rw=1, func=1, addr=0x0bf98, nbytes=4
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x4
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 4903.140000] brcmf_sdbrcm_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
[ 4903.140000] brcmf_sdioh_request_buffer: Enter
[ 4903.140000] brcmf_sdioh_request_packet: Enter
[ 4903.140000] brcmf_sdioh_request_packet: Exit
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4903.140000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.140000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x18
[ 4903.140000] brcmf_sdbrcm_download_code_file: Enter
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.150000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000b
[ 4903.150000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000b, u8data = 0x0
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000c
[ 4903.150000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000c, u8data = 0x0
[ 4903.150000] brcmf_sdbrcm_membytes: write 2048 bytes at offset 0x00000000 in window 0x00000000
[ 4903.150000] brcmf_sdioh_request_buffer: Enter
[ 4903.150000] brcmf_sdioh_request_packet: Enter
[ 4903.150000] brcmf_sdioh_request_packet: Exit
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000a
[ 4903.150000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000a, u8data = 0x0
[ 4903.150000] brcmf_sdbrcm_clkctl: Enter
[ 4903.150000] brcmf_sdbrcm_htclk: Enter
[ 4903.150000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.155000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.155000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.155000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x0
[ 4903.155000] brcmf_sdbrcm_htclk: CLKCTL: turned OFF
[ 4903.155000] brcmf_sdbrcm_clkctl: 3 -> 1
[ 4903.155000] brcmf_netdev_get_stats: Enter
[ 4903.160000] brcmf_netdev_open: ifidx 0
[ 4903.160000] brcmf_bus_start:
[ 4903.160000] brcmf_sdbrcm_bus_init: Enter
[ 4903.160000] brcmf_sdbrcm_clkctl: Enter
[ 4903.160000] brcmf_sdbrcm_htclk: Enter
[ 4903.160000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.160000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.160000] brcmf_sdioh_request_byte: rw=1, func=1, addr=0x1000e
[ 4903.160000] brcmf_sdcard_cfg_write: fun = 1, addr = 0x1000e, u8data = 0x8
[ 4903.160000] brcmf_sdbrcm_clkctl: 1 -> 1
[ 4903.160000] brcmf_sdcard_reg_read: fun = 1, addr = 0x18002f98
[ 4903.160000] brcmf_sdioh_request_word: rw=0, func=1, addr=0x0af98, nbytes=4
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 22:26 ` Thomas Langås
@ 2011-11-21 22:48 ` Franky Lin
2011-11-21 23:40 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-21 22:48 UTC (permalink / raw)
To: Thomas Langås
Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
On 11/21/2011 02:26 PM, Thomas Langås wrote:
> On Mon, Nov 21, 2011 at 10:58 PM, Franky Lin<frankyl@broadcom.com> wrote:
>> It's possible that the firmware carshed. Are you using the firmware/nvram
>> from Linux repository? You should use the nvram that fits your platform.
>
> I'm using the one from repository now, yes.
>
> Using the firmware I had from before, the only difference I see is the
> time of when
> the IRQ handler is called, but that is probably just randomness, I guess?
I think both firmware is fine. I was referring to the
brcm/bcm4329-fullmac-4.txt It's a nvram file contains critical
information used by firmware. And it's hardware dependent. We have
submitted a patch to remove the one in Linux firmware repository to
avoid confusion as it's for a Broadcom internal development board. It
may not work with your set up. I think there should be a similar file
comes with the proprietary driver package if you are using a module
instead of a 4329 chip. Please use that one.
>
> Attached is the log when modprobing with old firmware.
>
The issue you facing is more likely SDIO bus connection issue.
brcmf_sdioh_request_word: Failed to write word, Err: 0xffffffac
mmc1: Got data interrupt 0x00200000 even though no data operation was in
progress.
These may be both caused by data CRC error/time out.
I don't have Exynos 4210 spec. But I guess for a such new chip the SDIO
host should be able to run the bus at 50MHz. You could try to hack the
MMC/SDIO host driver and reduce the max frequency to 25MHz or even
further to 12MHz to see if any improvement.
Regards,
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 22:48 ` Franky Lin
@ 2011-11-21 23:40 ` Thomas Langås
2011-11-21 23:42 ` Howard Harte
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 23:40 UTC (permalink / raw)
To: Franky Lin; +Cc: Arend Van Spriel, linux-wireless@vger.kernel.org, Howard Harte
On Mon, Nov 21, 2011 at 11:48 PM, Franky Lin <frankyl@broadcom.com> wrote:
> I think both firmware is fine. I was referring to the
> brcm/bcm4329-fullmac-4.txt It's a nvram file contains critical information
> used by firmware. And it's hardware dependent. We have submitted a patch to
> remove the one in Linux firmware repository to avoid confusion as it's for a
> Broadcom internal development board. It may not work with your set up. I
> think there should be a similar file comes with the proprietary driver
> package if you are using a module instead of a 4329 chip. Please use that
> one.
I did two tests one with only changing the nvram-file, and one with
changing both
the firmware and the nvram-file (this is the latest logfile you got). Both had
the same result.
> I don't have Exynos 4210 spec. But I guess for a such new chip the SDIO host
> should be able to run the bus at 50MHz. You could try to hack the MMC/SDIO
> host driver and reduce the max frequency to 25MHz or even further to 12MHz
> to see if any improvement.
Max clock is 63MHz, and the setting we have now works with 2.6.36 and the
proprietary driver (bcm4329).
Looking at the platform-code we have for 2.6.x, I see that we set
.cd_type = S3C_SDHCI_CD_GPIO,
Instead of
.cd_type = S3C_SDHCI_CD_INTERNAL,
I don't know if this matters (looking at the schematics, the clk-pin is the same
for mmc2 as it is for the gpio). Is this something related to the old
proprietary
driver?
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: brcm80211 (with bcm4329-chip)
2011-11-21 23:40 ` Thomas Langås
@ 2011-11-21 23:42 ` Howard Harte
2011-11-21 23:50 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Howard Harte @ 2011-11-21 23:42 UTC (permalink / raw)
To: Thomas Langås, Franky (Zhenhui) Lin
Cc: Arend Van Spriel, linux-wireless@vger.kernel.org
Hello Thomas,
The max clock speed supported by 4329 is 50MHz.
-Howard
-----Original Message-----
From: Thomas Langås [mailto:thomas.langas@fxitech.com]
Sent: Monday, November 21, 2011 3:41 PM
To: Franky (Zhenhui) Lin
Cc: Arend Van Spriel; linux-wireless@vger.kernel.org; Howard Harte
Subject: Re: brcm80211 (with bcm4329-chip)
On Mon, Nov 21, 2011 at 11:48 PM, Franky Lin <frankyl@broadcom.com> wrote:
> I think both firmware is fine. I was referring to the
> brcm/bcm4329-fullmac-4.txt It's a nvram file contains critical information
> used by firmware. And it's hardware dependent. We have submitted a patch to
> remove the one in Linux firmware repository to avoid confusion as it's for a
> Broadcom internal development board. It may not work with your set up. I
> think there should be a similar file comes with the proprietary driver
> package if you are using a module instead of a 4329 chip. Please use that
> one.
I did two tests one with only changing the nvram-file, and one with
changing both
the firmware and the nvram-file (this is the latest logfile you got). Both had
the same result.
> I don't have Exynos 4210 spec. But I guess for a such new chip the SDIO host
> should be able to run the bus at 50MHz. You could try to hack the MMC/SDIO
> host driver and reduce the max frequency to 25MHz or even further to 12MHz
> to see if any improvement.
Max clock is 63MHz, and the setting we have now works with 2.6.36 and the
proprietary driver (bcm4329).
Looking at the platform-code we have for 2.6.x, I see that we set
.cd_type = S3C_SDHCI_CD_GPIO,
Instead of
.cd_type = S3C_SDHCI_CD_INTERNAL,
I don't know if this matters (looking at the schematics, the clk-pin is the same
for mmc2 as it is for the gpio). Is this something related to the old
proprietary
driver?
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 23:42 ` Howard Harte
@ 2011-11-21 23:50 ` Thomas Langås
2011-11-21 23:56 ` Franky Lin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-21 23:50 UTC (permalink / raw)
To: Howard Harte
Cc: Franky (Zhenhui) Lin, Arend Van Spriel,
linux-wireless@vger.kernel.org
On Tue, Nov 22, 2011 at 12:42 AM, Howard Harte <hharte@broadcom.com> wrote:
> Hello Thomas,
>
> The max clock speed supported by 4329 is 50MHz.
According to the driver (mmc-driver, that is) it's running at 50MHz.
I'll try to see if I can lower it to 25MHz, if you think that could
solve any problems.
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 23:50 ` Thomas Langås
@ 2011-11-21 23:56 ` Franky Lin
2011-11-22 0:00 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-21 23:56 UTC (permalink / raw)
To: Thomas Langås
Cc: Howard Harte, Arend Van Spriel, linux-wireless@vger.kernel.org
On 11/21/2011 03:50 PM, Thomas Langås wrote:
> On Tue, Nov 22, 2011 at 12:42 AM, Howard Harte<hharte@broadcom.com> wrote:
>> Hello Thomas,
>>
>> The max clock speed supported by 4329 is 50MHz.
>
> According to the driver (mmc-driver, that is) it's running at 50MHz.
>
> I'll try to see if I can lower it to 25MHz, if you think that could
> solve any problems.
Yes please give it a try.
About the functional combination of .36 kernel + proprietary driver, is
it a mainline kernel or an Android one?
Thanks,
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-21 23:56 ` Franky Lin
@ 2011-11-22 0:00 ` Thomas Langås
2011-11-22 0:13 ` Franky Lin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Langås @ 2011-11-22 0:00 UTC (permalink / raw)
To: Franky Lin; +Cc: Howard Harte, Arend Van Spriel, linux-wireless@vger.kernel.org
On Tue, Nov 22, 2011 at 12:56 AM, Franky Lin <frankyl@broadcom.com> wrote:
> Yes please give it a try.
Set it to 25MHz, still same problem.
> About the functional combination of .36 kernel + proprietary driver, is it a
> mainline kernel or an Android one?
Android, yes.
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-22 0:00 ` Thomas Langås
@ 2011-11-22 0:13 ` Franky Lin
2011-11-22 0:22 ` Thomas Langås
0 siblings, 1 reply; 17+ messages in thread
From: Franky Lin @ 2011-11-22 0:13 UTC (permalink / raw)
To: Thomas Langås
Cc: Howard Harte, Arend Van Spriel, linux-wireless@vger.kernel.org
On 11/21/2011 04:00 PM, Thomas Langås wrote:
> On Tue, Nov 22, 2011 at 12:56 AM, Franky Lin<frankyl@broadcom.com> wrote:
>> Yes please give it a try.
>
> Set it to 25MHz, still same problem.
I see. How about revert the change for enabling the debug message and
give it a go. Can the driver function normally? (load, scan, join AP and
ping).
>> About the functional combination of .36 kernel + proprietary driver, is it a
>> mainline kernel or an Android one?
>
> Android, yes.
You said the current kernel is from Samsung's tree, is it an Android one
as well?
Franky
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: brcm80211 (with bcm4329-chip)
2011-11-22 0:13 ` Franky Lin
@ 2011-11-22 0:22 ` Thomas Langås
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Langås @ 2011-11-22 0:22 UTC (permalink / raw)
To: Franky Lin; +Cc: Howard Harte, Arend Van Spriel, linux-wireless@vger.kernel.org
On Tue, Nov 22, 2011 at 1:13 AM, Franky Lin <frankyl@broadcom.com> wrote:
> On 11/21/2011 04:00 PM, Thomas Langås wrote:
>>
>> On Tue, Nov 22, 2011 at 12:56 AM, Franky Lin<frankyl@broadcom.com> wrote:
>> Set it to 25MHz, still same problem.
> I see. How about revert the change for enabling the debug message and give
> it a go. Can the driver function normally? (load, scan, join AP and ping).
It loads, but that's about it, it reports that the network is down.
>>> About the functional combination of .36 kernel + proprietary driver, is
>>> it a
>>> mainline kernel or an Android one?
>> Android, yes.
> You said the current kernel is from Samsung's tree, is it an Android one as
> well?
No, not Android but this one:
https://github.com/kgene/linux-samsung
Regards,
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-11-22 0:22 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CADrAYBnwWEaigcgQYYk6V3VEuEYyrmzJQXegKVk6TgOTPh5N8A@mail.gmail.com>
2011-11-21 17:23 ` brcm80211 (with bcm4329-chip) Arend van Spriel
2011-11-21 18:30 ` Franky Lin
2011-11-21 18:45 ` Thomas Langås
2011-11-21 19:58 ` Franky Lin
2011-11-21 21:13 ` Thomas Langås
2011-11-21 21:34 ` Thomas Langås
2011-11-21 21:58 ` Franky Lin
2011-11-21 22:26 ` Thomas Langås
2011-11-21 22:48 ` Franky Lin
2011-11-21 23:40 ` Thomas Langås
2011-11-21 23:42 ` Howard Harte
2011-11-21 23:50 ` Thomas Langås
2011-11-21 23:56 ` Franky Lin
2011-11-22 0:00 ` Thomas Langås
2011-11-22 0:13 ` Franky Lin
2011-11-22 0:22 ` Thomas Langås
2011-11-21 18:47 ` Thomas Langås
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).