Hello, we are using Linux 3.4.68 and the included wl12xx_stio driver with 6.3.5.0.98 firmware on our OMAP3 board.
We are using ConnMan 1.19 and Wpa_Supplicant 2.0 to connect to a WiFi router. The association eventually succeeds and internet connectivity is achieved and maintained, however, we always receive this error:
wl12xx: ERROR command complete timeout
at the beginning of association. The driver then seemingly must reset itself several times:
wl12xx: ERROR watchdog interrupt received! starting recovery
Finally, the association is completed and all is well.
What could cause these issues and how can I fix them? Thanks!
I've pasted the dmesg output and also the output of cat /proc/interrupts below. I appreciate your help.
=== DMESG:
wl12xx: loaded
wl12xx: firmware booted (Rev 6.3.5.0.98)
wlan0: authenticate with 2c:b0:5d:a8:fc:50
wlan0: send auth to 2c:b0:5d:a8:fc:50 (try 1/3)
wlan0: authenticated
wlan0: associate with 2c:b0:5d:a8:fc:50 (try 1/3)
wlan0: RX AssocResp from 2c:b0:5d:a8:fc:50 (capab=0x431 status=0 aid=1)
wl12xx: ERROR command complete timeout
------------[ cut here ]------------
WARNING: at drivers/net/wireless/wl12xx/cmd.c:108 wl1271_cmd_send+0x318/0x348()
Modules linked in: wl12xx_sdio lpm_omap3530(O) twl4030_keypad_fluke dsplinkk(O) twl4030_pwrbutton sdmak(O) cmemk(O) [last unloaded: wl12xx_sdio]
[<c00133b4>] (unwind_backtrace+0x0/0x11c) from [<c003072c>] (warn_slowpath_common+0x4c/0x64)
[<c003072c>] (warn_slowpath_common+0x4c/0x64) from [<c003075c>] (warn_slowpath_null+0x18/0x1c)
[<c003075c>] (warn_slowpath_null+0x18/0x1c) from [<c023f7c8>] (wl1271_cmd_send+0x318/0x348)
[<c023f7c8>] (wl1271_cmd_send+0x318/0x348) from [<c0240d8c>] (wl1271_cmd_configure+0x70/0xa0)
[<c0240d8c>] (wl1271_cmd_configure+0x70/0xa0) from [<c02482e0>] (wl1271_acx_set_ht_capabilities+0xc8/0x108)
omap3isp omap3isp: CCDC won't become idle!
[<c02482e0>] (wl1271_acx_set_ht_capabilities+0xc8/0x108) from [<c023d054>] (wl1271_op_bss_info_changed+0xb08/0xc88)
[<c023d054>] (wl1271_op_bss_info_changed+0xb08/0xc88) from [<c0395634>] (ieee80211_bss_info_change_notify+0x1a0/0x278)
[<c0395634>] (ieee80211_bss_info_change_notify+0x1a0/0x278) from [<c03d5c04>] (ieee80211_assoc_success+0x398/0x544)
[<c03d5c04>] (ieee80211_assoc_success+0x398/0x544) from [<c03c547c>] (ieee80211_rx_mgmt_assoc_resp+0x1ac/0x214)
[<c03c547c>] (ieee80211_rx_mgmt_assoc_resp+0x1ac/0x214) from [<c03c5960>] (ieee80211_sta_rx_queued_mgmt+0x410/0x524)
[<c03c5960>] (ieee80211_sta_rx_queued_mgmt+0x410/0x524) from [<c03a1c68>] (ieee80211_iface_work+0x200/0x284)
[<c03a1c68>] (ieee80211_iface_work+0x200/0x284) from [<c00484f0>] (process_one_work+0x260/0x47c)
[<c00484f0>] (process_one_work+0x260/0x47c) from [<c0048904>] (worker_thread+0x1cc/0x310)
[<c0048904>] (worker_thread+0x1cc/0x310) from [<c004d158>] (kthread+0x80/0x90)
omap3isp omap3isp: CCDC won't become idle!
[<c004d158>] (kthread+0x80/0x90) from [<c000f0c8>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1b75b31a2719ed33 ]---
wl12xx: WARNING CONFIGURE command NOK
wl12xx: WARNING acx ht capabilities setting failed: -110
wl12xx: WARNING Set ht cap true failed -110
wl12xx: ERROR watchdog interrupt received! starting recovery.
wlan0: associated
wl12xx: Reading FW panic log
wl12xx: ERROR command complete timeout
------------[ cut here ]------------
WARNING: at drivers/net/wireless/wl12xx/cmd.c:108 wl1271_cmd_send+0x318/0x348()
Modules linked in: wl12xx_sdio lpm_omap3530(O) twl4030_keypad_fluke dsplinkk(O) twl4030_pwrbutton sdmak(O) cmemk(O) [last unloaded: wl12xx_sdio]
[<c00133b4>] (unwind_backtrace+0x0/0x11c) from [<c003072c>] (warn_slowpath_common+0x4c/0x64)
omap3isp omap3isp: CCDC won't become idle!
[<c003072c>] (warn_slowpath_common+0x4c/0x64) from [<c003075c>] (warn_slowpath_null+0x18/0x1c)
[<c003075c>] (warn_slowpath_null+0x18/0x1c) from [<c023f7c8>] (wl1271_cmd_send+0x318/0x348)
[<c023f7c8>] (wl1271_cmd_send+0x318/0x348) from [<c02421a8>] (wl12xx_cmd_stop_fwlog+0x80/0xbc)
[<c02421a8>] (wl12xx_cmd_stop_fwlog+0x80/0xbc) from [<c023e26c>] (wl1271_recovery_work+0xb8/0x308)
[<c023e26c>] (wl1271_recovery_work+0xb8/0x308) from [<c00484f0>] (process_one_work+0x260/0x47c)
[<c00484f0>] (process_one_work+0x260/0x47c) from [<c0048904>] (worker_thread+0x1cc/0x310)
[<c0048904>] (worker_thread+0x1cc/0x310) from [<c004d158>] (kthread+0x80/0x90)
[<c004d158>] (kthread+0x80/0x90) from [<c000f0c8>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1b75b31a2719ed34 ]---
wl12xx: ERROR failed to send stop firmware logger command
wl12xx: Hardware recovery in progress. FW ver: Rev 6.3.5.0.98 pc: 0x9a16
omap3isp omap3isp: CCDC won't become idle!
wl12xx: down
ieee80211 phy5: Hardware restart was requested
wl12xx: firmware booted (Rev 6.3.5.0.98)
wl12xx: Association completed.
# cat /proc/inte*
CPU0
7: 0 INTC TWL4030-PIH
9: 0 INTC l3-debug-irq
10: 1 INTC l3-app-irq
12: 135932 INTC DMA
20: 0 INTC gpmc
24: 564763 INTC omap-iommu.0, OMAP3 ISP
25: 169880 INTC OMAP DISPC
26: 3 INTC DSPLINK
28: 0 INTC DSPLINK
37: 283523 INTC gp timer
56: 33255 INTC omap_i2c
57: 531735 INTC omap_i2c
61: 24086 INTC omap_i2c
74: 661 INTC OMAP UART2
77: 64218 INTC ehci_hcd:usb1
83: 554 INTC mmc1
86: 3153 INTC mmc2
92: 1 INTC musb-hdrc
94: 30722 INTC mmc0
112: 270 GPIO atmel_mxt_ts
117: 627 GPIO wl12xx
118: 1 GPIO
152: 0 GPIO gpiolib
157: 403 GPIO gpiolib
158: 1 GPIO gpiolib
288: 530 PRCM pm_wkup
297: 0 PRCM hwmod_io, pm_io
320: 0 twl4030 twl4030_gpio
321: 0 twl4030 twl4030_keypad
325: 0 twl4030 twl4030_power
328: 0 twl4030 twl4030_pwrbutton
331: 0 twl4030 rtc0
336: 0 twl4030 mmc1
Err: 0