[Letux-kernel] GTA04A5 WLAN

H. Nikolaus Schaller hns at goldelico.com
Fri Jan 13 22:41:19 CET 2017


> Am 13.01.2017 um 22:14 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> 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.

Yeah!

There was a mixup between the wlan irq and wlan-en so that the latter had the
pull-up needed for the irq.

Now it works :)

root at letux:~# ./wlan-on "TEST"
[  146.257415] wlan1: authenticate with 00:12:bf:7d:ce:e6
[  146.282287] wlan1: send auth to 00:12:bf:7d:ce:e6 (try 1/3)
[  146.311584] wlan1: authenticated
[  146.327850] wlan1: associate with 00:12:bf:7d:ce:e6 (try 1/3)
[  146.353759] wlan1: RX AssocResp from 00:12:bf:7d:ce:e6 (capab=0x421 status=0 aid=2)
[  146.410247] wlcore: Association completed.
[  146.418609] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[  146.425445] wlan1: associated
root at letux:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=24.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=12.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=11.7 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 11.718/16.133/24.474/5.901 ms
^Croot at letux:~# 

> 
> 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
> 
> _______________________________________________
> 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