Tool/software: Linux
Hi,
I am using a WL1807MOD on an iMX6DL based board. I have built the kernel with the driver and built and copied the latest wl firmware binary.
The driver seems to load fine, lsmod produces:
Module Size Used by wl18xx 73240 0 wlcore 154062 1 wl18xx mac80211 337011 2 wl18xx,wlcore cfg80211 201405 3 wl18xx,wlcore,mac80211 bluetooth 310669 2 wlcore_sdio 5853 0 galcore 331844 4
I used the config script at /usr/sbin/wlconf/ and it seemed to work fine, and the interface seems to come up fine:
root@colibri-imx6:~# ifconfig wlan0 up [ 53.466789] wlcore: using inverted interrupt logic: 2 [ 53.543046] wlcore: PHY firmware version: Rev 8.2.0.0.242 [ 53.606779] wlcore: firmware booted (Rev 8.9.0.0.79) [ 53.631678] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
I can check on the scope and see that the enable pin is toggled correctly when the link comes up, and the IRQ pin toggles the level shifter normally. The interrupts seem to be registered:
251: 4 gpio-mxc 10 Edge wl18xx
However, trying a scan or connect crashes the driver with this message:
[ 99.682869] wlcore: Scan completed due to error. [ 99.687520] ------------[ cut here ]------------ [ 99.692220] WARNING: CPU: 0 PID: 112 at /media/tpeterson/Part2/oe-core-toradex/build/tmp-glibc/work-shared/colibri-imx6/kernel-source/drivers/net/wireless/ti/wlcore/main.c:796 wl12xx_queue_recovery_work.part.10+0x60/0x64 [wlcore] [ 99.712646] Modules linked in: wl18xx wlcore mac80211 cfg80211 bluetooth wlcore_sdio galcore(O) [ 99.721597] CPU: 0 PID: 112 Comm: kworker/u4:1 Tainted: G O 4.9.84-2.8.2+gb2a7f2f #22 [ 99.730571] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 99.737162] Workqueue: phy0 wl1271_scan_complete_work [wlcore] [ 99.743024] Backtrace: [ 99.745528] [<8010ba5c>] (dump_backtrace) from [<8010bd34>] (show_stack+0x18/0x1c) [ 99.753119] r7:00000009 r6:600e0013 r5:00000000 r4:80b1b030 [ 99.758807] [<8010bd1c>] (show_stack) from [<803fe064>] (dump_stack+0x90/0xa4) [ 99.766059] [<803fdfd4>] (dump_stack) from [<80125a98>] (__warn+0xec/0x104) [ 99.773040] r7:00000009 r6:7f192378 r5:00000000 r4:00000000 [ 99.778725] [<801259ac>] (__warn) from [<80125b68>] (warn_slowpath_null+0x28/0x30) [ 99.786316] r9:00000000 r8:8638fbb0 r7:00000000 r6:86898d00 r5:86898d3c r4:86898d00 [ 99.794120] [<80125b40>] (warn_slowpath_null) from [<7f17b960>] (wl12xx_queue_recovery_work.part.10+0x60/0x64 [wlcore]) [ 99.804979] [<7f17b900>] (wl12xx_queue_recovery_work.part.10 [wlcore]) from [<7f17eeb8>] (wl12xx_queue_recovery_work+0x1c/0x20 [wlcore]) [ 99.817250] r5:86898d3c r4:86899020 [ 99.820900] [<7f17ee9c>] (wl12xx_queue_recovery_work [wlcore]) from [<7f190c28>] (wl1271_scan_complete_work+0x128/0x12c [wlcore]) [ 99.832607] [<7f190b00>] (wl1271_scan_complete_work [wlcore]) from [<8013cf08>] (process_one_work+0x1f0/0x418) [ 99.842627] r8:00000000 r7:86a84e00 r6:84002800 r5:86336780 r4:86899020 [ 99.849353] [<8013cd18>] (process_one_work) from [<8013debc>] (worker_thread+0x68/0x5fc) [ 99.857465] r10:80b02d00 r9:00000088 r8:ffffe000 r7:84002818 r6:86336798 r5:84002800 [ 99.865304] r4:86336780 [ 99.867864] [<8013de54>] (worker_thread) from [<80143114>] (kthread+0x110/0x118) [ 99.875281] r10:00000000 r9:00000000 r8:8013de54 r7:86336780 r6:86344000 r5:863349c0 [ 99.883120] r4:00000000 [ 99.885682] [<80143004>] (kthread) from [<80107df0>] (ret_from_fork+0x14/0x24) [ 99.892922] r8:00000000 r7:00000000 r6:00000000 r5:80143004 r4:863349c0 [ 99.899712] ---[ end trace 57159835bee525df ]--- [ 99.910856] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.0.79 [ 99.925992] wlcore: pc: 0x0, hint_sts: 0x00000048 count: 1 [ 99.931796] wlcore: down [ 99.936059] ieee80211 phy0: Hardware restart was requested
Any thoughts on what could cause this issue? The above error happens about 30 s after trying a scan or connection.