[Letux-kernel] GTA04A5 WLAN

H. Nikolaus Schaller hns at goldelico.com
Fri Jan 13 22:14:40 CET 2017


Ah,
sometimes it is sufficient to write about a problem.

I googled for "wlcore: ERROR ELP wakeup timeout!"

and the first hit:

https://e2e.ti.com/support/wireless_connectivity/wilink_wifi_bluetooth/f/307/t/329596

i answered as "This looks like the WLAN_IRQ line is not mapped correctly in the board file."

So this is indeed an area which is certainly different between Pyra and GTA04A5.

BR,
Nikolaus

> Am 13.01.2017 um 22:11 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi,
> we have a different WLAN chip (WL1837) on the GTA04 so I have
> a different setup (device tree, firmware) compared to A3 and A4.
> 
> But it does not work well:
> 
> root at letux:~# ./wlan-scan
> [  177.027191] wlcore: ERROR ELP wakeup timeout!
> [  177.031799] ------------[ cut here ]------------
> [  177.038665] WARNING: CPU: 0 PID: 15 at drivers/net/wireless/ti/wlcore/main.c:796 wl12xx_queue_recovery_work+0x2c/0x64 [wlcore]
> [  177.051727] Modules linked in: bnep bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 cfg80211 bq27xxx_battery omapdrm drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea w2sg0004 drm w2cbw003_bluetooth panel_tpo_td028ttec1 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 encoder_opa362 twl4030_madc_hwmon wwan_on_off pwm_omap_dmtimer connector_analog_tv generic_adc_battery pwm_bl extcon_gpio omap3_isp w1_bq27000 videobuf2_dma_contig videobuf2_memops wlcore_sdio videobuf2_v4l2 videobuf2_core ov9650 v4l2_common omap_hdq omap2430 snd_soc_omap_mcbsp snd_soc_omap bmp280_i2c snd_pcm_dmaengine videodev bmp280 bmg160_i2c bmc150_magn_i2c bmc150_accel_i2c phy_twl4030_usb bmg160_core bmc150_accel_core
> [  177.127807]  bmc150_magn at24 industrialio_triggered_buffer media nvmem_core tsc2007 leds_tca6507 bno055 kfifo_buf gpio_twl4030 musb_hdrc rtc_twl snd_soc_twl4030 twl4030_madc twl4030_vibra twl4030_charger twl4030_pwrbutton industrialio ehci_omap omapdss
> [  177.154022] CPU: 0 PID: 15 Comm: kworker/u2:1 Tainted: G        W       4.10.0-rc3-letux+ #673
> [  177.163085] Hardware name: Generic OMAP36xx (Flattened Device Tree)
> [  177.170440] Workqueue: phy0 ieee80211_reconfig_filter [mac80211]
> [  177.176818] [<c010f1b0>] (unwind_backtrace) from [<c010b7a4>] (show_stack+0x10/0x14)
> [  177.184997] [<c010b7a4>] (show_stack) from [<c0403960>] (dump_stack+0x98/0xd0)
> [  177.192596] [<c0403960>] (dump_stack) from [<c012f654>] (__warn+0xd0/0x100)
> [  177.199951] [<c012f654>] (__warn) from [<c012f728>] (warn_slowpath_null+0x1c/0x24)
> [  177.208099] [<c012f728>] (warn_slowpath_null) from [<bf4ca690>] (wl12xx_queue_recovery_work+0x2c/0x64 [wlcore])
> [  177.218994] [<bf4ca690>] (wl12xx_queue_recovery_work [wlcore]) from [<bf4d3724>] (wl1271_ps_elp_wakeup+0x190/0x21c [wlcore])
> [  177.231018] [<bf4d3724>] (wl1271_ps_elp_wakeup [wlcore]) from [<bf4c6144>] (wl1271_op_configure_filter+0x5c/0x124 [wlcore])
> [  177.243377] [<bf4c6144>] (wl1271_op_configure_filter [wlcore]) from [<bf3e1ea0>] (ieee80211_configure_filter+0x528/0x88c [mac80211])
> [  177.256347] [<bf3e1ea0>] (ieee80211_configure_filter [mac80211]) from [<c014c2a4>] (process_one_work+0x384/0x764)
> [  177.267181] [<c014c2a4>] (process_one_work) from [<c014d694>] (worker_thread+0x2ac/0x3d4)
> [  177.275787] [<c014d694>] (worker_thread) from [<c0152698>] (kthread+0x118/0x134)
> [  177.283599] [<c0152698>] (kthread) from [<c01070d0>] (ret_from_fork+0x14/0x24)
> [  177.293914] ---[ end trace 66ac0dfa7913df74 ]---
> command failed: Resource temporarily unavailable (-11)
> [  177.306091] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.70
> root at letux:~# [  177.319976] ------------[ cut here ]------------
> [  177.326019] WARNING: CPU: 0 PID: 15 at drivers/net/wireless/ti/wlcore/io.h:66 wlcore_set_partition+0x144/0x470 [wlcore]
> [  177.338989] Modules linked in: bnep bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 cfg80211 bq27xxx_battery omapdrm drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea w2sg0004 drm w2cbw003_bluetooth panel_tpo_td028ttec1 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 encoder_opa362 twl4030_madc_hwmon wwan_on_off pwm_omap_dmtimer connector_analog_tv generic_adc_battery pwm_bl extcon_gpio omap3_isp w1_bq27000 videobuf2_dma_contig videobuf2_memops wlcore_sdio videobuf2_v4l2 videobuf2_core ov9650 v4l2_common omap_hdq omap2430 snd_soc_omap_mcbsp snd_soc_omap bmp280_i2c snd_pcm_dmaengine videodev bmp280 bmg160_i2c bmc150_magn_i2c bmc150_accel_i2c phy_twl4030_usb bmg160_core bmc150_accel_core
> [  177.415130]  bmc150_magn at24 industrialio_triggered_buffer media nvmem_core tsc2007 leds_tca6507 bno055 kfifo_buf gpio_twl4030 musb_hdrc rtc_twl snd_soc_twl4030 twl4030_madc twl4030_vibra twl4030_charger twl4030_pwrbutton industrialio ehci_omap omapdss
> [  177.440704] CPU: 0 PID: 15 Comm: kworker/u2:1 Tainted: G        W       4.10.0-rc3-letux+ #673
> [  177.449768] Hardware name: Generic OMAP36xx (Flattened Device Tree)
> [  177.456573] Workqueue: phy0 wl1271_recovery_work [wlcore]
> [  177.462280] [<c010f1b0>] (unwind_backtrace) from [<c010b7a4>] (show_stack+0x10/0x14)
> [  177.470458] [<c010b7a4>] (show_stack) from [<c0403960>] (dump_stack+0x98/0xd0)
> [  177.478057] [<c0403960>] (dump_stack) from [<c012f654>] (__warn+0xd0/0x100)
> [  177.485382] [<c012f654>] (__warn) from [<c012f728>] (warn_slowpath_null+0x1c/0x24)
> [  177.493469] [<c012f728>] (warn_slowpath_null) from [<bf4cfe68>] (wlcore_set_partition+0x144/0x470 [wlcore])
> [  177.503936] [<bf4cfe68>] (wlcore_set_partition [wlcore]) from [<bf4c934c>] (wl1271_recovery_work+0x6c/0x32c [wlcore])
> [  177.515228] [<bf4c934c>] (wl1271_recovery_work [wlcore]) from [<c014c2a4>] (process_one_work+0x384/0x764)
> [  177.525299] [<c014c2a4>] (process_one_work) from [<c014d694>] (worker_thread+0x2ac/0x3d4)
> [  177.533905] [<c014d694>] (worker_thread) from [<c0152698>] (kthread+0x118/0x134)
> [  177.541717] [<c0152698>] (kthread) from [<c01070d0>] (ret_from_fork+0x14/0x24)
> [  177.553558] ---[ end trace 66ac0dfa7913df75 ]---
> [  177.558563] wlcore: down
> [  177.561584] regulator_disable wlan-en-regulator
> [  177.566314] _regulator_do_disable wlan-en-regulator
> [  177.573486] ieee80211 phy0: Hardware restart was requested
> [  177.617126] regulator_enable wlan-en-regulator
> [  177.621795] _regulator_do_enable wlan-en-regulator
> [  178.224090] wlcore: PHY firmware version: Rev 8.2.0.0.237
> [  178.397491] wlcore: firmware booted (Rev 8.9.0.0.70)
> 
> root at letux:~# iwconfig wlan1 essid "TEST"
> [  428.623291] wlcore: ERROR ELP wakeup timeout!
> [  428.627960] ------------[ cut here ]------------
> [  428.636871] WARNING: CPU: 0 PID: 2461 at drivers/net/wireless/ti/wlcore/main.c:796 wl12xx_queue_recovery_work+0x2c/0x64 [wlcore]
> [  428.651062] Modules linked in: bnep bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 cfg80211 bq27xxx_battery omapdrm drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea w2sg0004 drm w2cbw003_bluetooth panel_tpo_td028ttec1 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 encoder_opa362 twl4030_madc_hwmon wwan_on_off pwm_omap_dmtimer connector_analog_tv generic_adc_battery pwm_bl extcon_gpio omap3_isp w1_bq27000 videobuf2_dma_contig videobuf2_memops wlcore_sdio videobuf2_v4l2 videobuf2_core ov9650 v4l2_common omap_hdq omap2430 snd_soc_omap_mcbsp snd_soc_omap bmp280_i2c snd_pcm_dmaengine videodev bmp280 bmg160_i2c bmc150_magn_i2c bmc150_accel_i2c phy_twl4030_usb bmg160_core bmc150_accel_core
> [  428.727996]  bmc150_magn at24 industrialio_triggered_buffer media nvmem_core tsc2007 leds_tca6507 bno055 kfifo_buf gpio_twl4030 musb_hdrc rtc_twl snd_soc_twl4030 twl4030_madc twl4030_vibra twl4030_charger twl4030_pwrbutton industrialio ehci_omap omapdss
> [  428.753814] CPU: 0 PID: 2461 Comm: iwconfig Tainted: G        W       4.10.0-rc3-letux+ #673
> [  428.762756] Hardware name: Generic OMAP36xx (Flattened Device Tree)
> [  428.769439] [<c010f1b0>] (unwind_backtrace) from [<c010b7a4>] (show_stack+0x10/0x14)
> [  428.777679] [<c010b7a4>] (show_stack) from [<c0403960>] (dump_stack+0x98/0xd0)
> [  428.785369] [<c0403960>] (dump_stack) from [<c012f654>] (__warn+0xd0/0x100)
> [  428.792755] [<c012f654>] (__warn) from [<c012f728>] (warn_slowpath_null+0x1c/0x24)
> [  428.801055] [<c012f728>] (warn_slowpath_null) from [<bf4ca690>] (wl12xx_queue_recovery_work+0x2c/0x64 [wlcore])
> [  428.812286] [<bf4ca690>] (wl12xx_queue_recovery_work [wlcore]) from [<bf4d3724>] (wl1271_ps_elp_wakeup+0x190/0x21c [wlcore])
> [  428.824584] [<bf4d3724>] (wl1271_ps_elp_wakeup [wlcore]) from [<bf4c5fd4>] (wl1271_op_hw_scan+0x68/0xcc [wlcore])
> [  428.836853] [<bf4c5fd4>] (wl1271_op_hw_scan [wlcore]) from [<bf3f3c94>] (__ieee80211_start_scan+0x9c0/0xeb8 [mac80211])
> [  428.849945] [<bf3f3c94>] (__ieee80211_start_scan [mac80211]) from [<bf3f50e8>] (ieee80211_request_scan+0x2c/0x44 [mac80211])
> [  428.863708] [<bf3f50e8>] (ieee80211_request_scan [mac80211]) from [<bf3504a0>] (cfg80211_conn_scan+0x328/0x5ec [cfg80211])
> [  428.876983] [<bf3504a0>] (cfg80211_conn_scan [cfg80211]) from [<bf3512c0>] (cfg80211_sme_connect+0x338/0x3a0 [cfg80211])
> [  428.889892] [<bf3512c0>] (cfg80211_sme_connect [cfg80211]) from [<bf352c44>] (cfg80211_connect+0x140/0x52c [cfg80211])
> [  428.902618] [<bf352c44>] (cfg80211_connect [cfg80211]) from [<bf37071c>] (cfg80211_mgd_wext_connect+0x13c/0x17c [cfg80211])
> [  428.915771] [<bf37071c>] (cfg80211_mgd_wext_connect [cfg80211]) from [<bf3709fc>] (cfg80211_mgd_wext_siwessid+0xcc/0x158 [cfg80211])
> [  428.929138] [<bf3709fc>] (cfg80211_mgd_wext_siwessid [cfg80211]) from [<c06f7a50>] (ioctl_standard_iw_point+0x224/0x388)
> [  428.940673] [<c06f7a50>] (ioctl_standard_iw_point) from [<c06f7d48>] (ioctl_standard_call+0xa0/0xd4)
> [  428.950347] [<c06f7d48>] (ioctl_standard_call) from [<c06f7ec4>] (wext_handle_ioctl+0x148/0x210)
> [  428.959686] [<c06f7ec4>] (wext_handle_ioctl) from [<c065c730>] (dev_ioctl+0x3a0/0x850)
> [  428.968109] [<c065c730>] (dev_ioctl) from [<c026e788>] (vfs_ioctl+0x20/0x34)
> [  428.975585] [<c026e788>] (vfs_ioctl) from [<c026f13c>] (do_vfs_ioctl+0x81c/0x92c)
> [  428.983551] [<c026f13c>] (do_vfs_ioctl) from [<c026f298>] (SyS_ioctl+0x4c/0x74)
> [  428.991333] [<c026f298>] (SyS_ioctl) from [<c0107040>] (ret_fast_syscall+0x0/0x1c)
> [  429.009735] ---[ end trace 66ac0dfa7913df78 ]---
> [  429.018768] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.70
> [  429.030853] ------------[ cut here ]------------
> 
>    SET failed on device wlan1 [  429.038177] WARNING: CPU: 0 PID: 2458 at drivers/net/wireless/ti/wlcore/io.h:66 wlcore_set_partition+0x144/0x470 [wlcore]
> ; Connection timed out.
> [  429.052917] Modules linked in: bnep bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 cfg80211 bq27xxx_battery omapdrm drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea w2sg0004 drm w2cbw003_bluetooth panel_tpo_td028ttec1 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 encoder_opa362 twl4030_madc_hwmon wwan_on_off pwm_omap_dmtimer connector_analog_tv generic_adc_battery pwm_bl extcon_gpio omap3_isp w1_bq27000 videobuf2_dma_contig videobuf2_memops wlcore_sdio videobuf2_v4l2 videobuf2_core ov9650 v4l2_common omap_hdq omap2430 snd_soc_omap_mcbsp snd_soc_omap bmp280_i2c snd_pcm_dmaengine videodev bmp280 bmg160_i2c bmc150_magn_i2c bmc150_accel_i2c phy_twl4030_usb bmg160_core bmc150_accel_core
> root at letux:~# [  429.128967]  bmc150_magn at24 industrialio_triggered_buffer media nvmem_core tsc2007 leds_tca6507 bno055 kfifo_buf gpio_twl4030 musb_hdrc rtc_twl snd_soc_twl4030 twl4030_madc twl4030_vibra twl4030_charger twl4030_pwrbutton industrialio ehci_omap omapdss
> [  429.155548] CPU: 0 PID: 2458 Comm: kworker/u2:0 Tainted: G        W       4.10.0-rc3-letux+ #673
> [  429.164794] Hardware name: Generic OMAP36xx (Flattened Device Tree)
> [  429.171600] Workqueue: phy0 wl1271_recovery_work [wlcore]
> [  429.177307] [<c010f1b0>] (unwind_backtrace) from [<c010b7a4>] (show_stack+0x10/0x14)
> [  429.185485] [<c010b7a4>] (show_stack) from [<c0403960>] (dump_stack+0x98/0xd0)
> [  429.193084] [<c0403960>] (dump_stack) from [<c012f654>] (__warn+0xd0/0x100)
> [  429.200439] [<c012f654>] (__warn) from [<c012f728>] (warn_slowpath_null+0x1c/0x24)
> [  429.208526] [<c012f728>] (warn_slowpath_null) from [<bf4cfe68>] (wlcore_set_partition+0x144/0x470 [wlcore])
> [  429.218994] [<bf4cfe68>] (wlcore_set_partition [wlcore]) from [<bf4c934c>] (wl1271_recovery_work+0x6c/0x32c [wlcore])
> [  429.230255] [<bf4c934c>] (wl1271_recovery_work [wlcore]) from [<c014c2a4>] (process_one_work+0x384/0x764)
> [  429.240356] [<c014c2a4>] (process_one_work) from [<c014d694>] (worker_thread+0x2ac/0x3d4)
> [  429.248962] [<c014d694>] (worker_thread) from [<c0152698>] (kthread+0x118/0x134)
> [  429.256774] [<c0152698>] (kthread) from [<c01070d0>] (ret_from_fork+0x14/0x24)
> [  429.267242] ---[ end trace 66ac0dfa7913df79 ]---
> [  429.272186] wlcore: down
> [  429.276611] regulator_disable wlan-en-regulator
> [  429.281402] _regulator_do_disable wlan-en-regulator
> [  429.288909] ieee80211 phy0: Hardware restart was requested
> [  429.332916] regulator_enable wlan-en-regulator
> [  429.337585] _regulator_do_enable wlan-en-regulator
> [  429.927917] wlcore: PHY firmware version: Rev 8.2.0.0.237
> [  430.079071] wlcore: firmware booted (Rev 8.9.0.0.70)
> 
> root at letux:~# 
> 
> 
> Exactly the same user-space and kernel works on the Pyra with the
> same WL1837.
> 
> So the key difference might be hardware related (MMC interface of OMAP3 vs. OMAP5).
> 
> Any suggestions how to debug?
> 
> BR,
> Nikolaus
> 
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel



More information about the Letux-kernel mailing list