Other Parts Discussed in Thread: WL1837,
I am integrating the wl1837mod on a board with a Xilinx ZynqMP (UltraSCALE+). Initially, I had problems with the zynq device tree configuration, which prevented enumeration of the device at boot. Now, I believe I have corrected the DT configuration because the device is detected at boot and a wlan0 interface is shown available in the interface listing. Additionally, I have observed there is some communication on the sdio bus with a logic analyzer. Setting the wlan interface 'UP' appears to work as there are no error/warning messages in dmesg or printed to the console. My next step was to scan for APs, which does not work. The attempted scan causes a crash dump, included below, and the removal of the wlcore_sdio module. I included the latest wl1837 firmware in my build using the recipe from the meta-ti yocto layer in my petalinux build environment. I have modified it to pull in the latest firmware build, but it gives the same result as below. Is this a known issue that has already been solved? If not, what is the next recommended step to debug this problem?
iw wlan0 scan [ 1838.634662] wl1271_sdio mmc1:0001:2: sdio write 52 addr 0x1fffc, byte 0x01 [ 1838.641594] ------------[ cut here ]------------ [ 1838.646205] WARNING: CPU: 2 PID: 771 at drivers/net/wireless/ti/wlcore/sdio.c:131 wl12xx_sdio_raw_write+0xf0/0x1b8 [wlcore_sdio] [ 1838.657750] Modules linked in: wlcore_sdio dmaproxy(O) wl18xx wlcore mac80211 cfg80211 zynqmp_r5_remoteproc mali(O) uio_pdrv_genirq [last unloaded: wlcore_sdio] [ 1838.672095] CPU: 2 PID: 771 Comm: iw Tainted: G W O 5.4.0-xilinx-v2020.1 #1 [ 1838.680173] Hardware name: xlnx,zynqmp (DT) [ 1838.684342] pstate: 00000005 (nzcv daif -PAN -UAO) [ 1838.689117] pc : wl12xx_sdio_raw_write+0xf0/0x1b8 [wlcore_sdio] [ 1838.695019] lr : wl12xx_sdio_raw_write+0xa4/0x1b8 [wlcore_sdio] [ 1838.700920] sp : ffffffc0112835f0 [ 1838.704218] x29: ffffffc0112835f0 x28: ffffff887936dc10 [ 1838.709514] x27: ffffffc0112837e8 x26: ffffffc008d01000 [ 1838.714809] x25: ffffff88792f9580 x24: 000000000001fffc [ 1838.720104] x23: 0000000000000000 x22: 0000000000000004 [ 1838.725400] x21: ffffff887936dc10 x20: ffffff887a03adc0 [ 1838.730695] x19: ffffff8879194400 x18: 0000000000000010 [ 1838.735990] x17: 0000000000000000 x16: ffffffc0112837f8 [ 1838.741286] x15: ffffff887a03b1e8 x14: ffffffffffffffff [ 1838.746581] x13: ffffffc091283217 x12: ffffffc01128321f [ 1838.751876] x11: ffffffc010fdc000 x10: 0000000000000000 [ 1838.757172] x9 : ffffffc011095000 x8 : 00000000000011bd [ 1838.762467] x7 : 0000000000000006 x6 : 0000002d44c9f175 [ 1838.767762] x5 : 00ffffffffffffff x4 : 0000000000000000 [ 1838.773057] x3 : 0000000000000001 x2 : ffffff887ab3a4e4 [ 1838.778353] x1 : 0000000000000000 x0 : 00000000ffffff92 [ 1838.783649] Call trace: [ 1838.786083] wl12xx_sdio_raw_write+0xf0/0x1b8 [wlcore_sdio] [ 1838.791657] wlcore_runtime_resume+0xf0/0x2c8 [wlcore] [ 1838.796788] pm_generic_runtime_resume+0x28/0x40 [ 1838.801395] __rpm_callback+0xf0/0x170 [ 1838.805127] rpm_callback+0x54/0x80 [ 1838.808599] rpm_resume+0x494/0x690 [ 1838.812071] __pm_runtime_resume+0x74/0xb0 [ 1838.816158] wl1271_op_hw_scan+0x68/0x180 [wlcore] [ 1838.820963] __ieee80211_start_scan+0x138/0x508 [mac80211] [ 1838.826455] ieee80211_request_scan+0x34/0x58 [mac80211] [ 1838.831769] ieee80211_scan+0x6c/0xc0 [mac80211] [ 1838.836385] nl80211_trigger_scan+0x50c/0x5d0 [cfg80211] [ 1838.841683] genl_family_rcv_msg+0x198/0x3c8 [ 1838.845944] genl_rcv_msg+0x58/0xd0 [ 1838.849416] netlink_rcv_skb+0x54/0x110 [ 1838.853236] genl_rcv+0x34/0x48 [ 1838.856361] netlink_unicast+0x174/0x200 [ 1838.860267] netlink_sendmsg+0x178/0x318 [ 1838.864175] ___sys_sendmsg+0x280/0x2c0 [ 1838.867994] __sys_sendmsg+0x64/0xb8 [ 1838.871553] __arm64_sys_sendmsg+0x20/0x28 [ 1838.875635] el0_svc_common.constprop.0+0x68/0x160 [ 1838.880416] el0_svc_handler+0x6c/0x88 [ 1838.884149] el0_svc+0x8/0xc [ 1838.887012] ---[ end trace 748c1280140ee90a ]--- [ 1838.891649] wl1271_sdio mmc1:0001:2: sdio write failed (-110) [ 1838.897408] wlcore: WARNING Enable for recovery failed command failed: Connection timed out (-110)[ 1838.902551] wlcore: down [ 1838.908921] ieee80211 phy7: Hardware restart was requested [ 1841.915651] wlcore: PHY firmware version: Rev 8.2.0.0.240 [ 1841.921044] wlcore: unmasking event_mask 0x3ffef01 [ 1842.895881] wlcore: ERROR reg domain conf error [ 1843.441691] wl1271_sdio mmc1:0001:2: sdio write 52 addr 0x1fffc, byte 0x01 [ 1845.903504] wlcore: PHY firmware version: Rev 8.2.0.0.240 [ 1845.908895] wlcore: unmasking event_mask 0x3ffef01 [ 1846.883715] wlcore: ERROR reg domain conf error [ 1847.429681] wl1271_sdio mmc1:0001:2: sdio write 52 addr 0x1fffc, byte 0x01 [ 1849.891407] wlcore: PHY firmware version: Rev 8.2.0.0.240 [ 1849.896799] wlcore: unmasking event_mask 0x3ffef01 [ 1850.865055] wlcore: ERROR reg domain conf error [ 1850.869622] wlcore: ERROR firmware boot failed despite 3 retries [ 1850.875668] ------------[ cut here ]------------ [ 1850.880308] WARNING: CPU: 0 PID: 665 at net/mac80211/util.c:2235 ieee80211_reconfig+0xa24/0xca8 [mac80211] [ 1850.889944] Modules linked in: wlcore_sdio dmaproxy(O) wl18xx wlcore mac80211 cfg80211 zynqmp_r5_remoteproc mali(O) uio_pdrv_genirq [last unloaded: wlcore_sdio] [ 1850.904288] CPU: 0 PID: 665 Comm: kworker/0:0 Tainted: G W O 5.4.0-xilinx-v2020.1 #1 [ 1850.913147] Hardware name: xlnx,zynqmp (DT) [ 1850.917335] Workqueue: events_freezable ieee80211_restart_work [mac80211] [ 1850.924113] pstate: 60000005 (nZCv daif -PAN -UAO) [ 1850.928905] pc : ieee80211_reconfig+0xa24/0xca8 [mac80211] [ 1850.934391] lr : ieee80211_reconfig+0x288/0xca8 [mac80211] [ 1850.939858] sp : ffffffc0112f3cd0 [ 1850.943157] x29: ffffffc0112f3cd0 x28: ffffff8878218200 [ 1850.948452] x27: 00000000ffffffea x26: 0000000000000000 [ 1850.953747] x25: 0000000000000000 x24: 0000000000000000 [ 1850.959042] x23: ffffff887f784a00 x22: ffffff88772e7180 [ 1850.964338] x21: ffffff88793787c0 x20: ffffff8879391888 [ 1850.969633] x19: ffffff88793907c0 x18: 0000000000000010 [ 1850.974929] x17: ffffff887a801108 x16: ffffff887a801128 [ 1850.980224] x15: ffffff88772e75a8 x14: ffffffffffffffff [ 1850.985519] x13: ffffffc0912f3967 x12: ffffffc0112f396f [ 1850.990814] x11: ffffffc010fdc000 x10: 0000000000000000 [ 1850.996110] x9 : ffffffc011095000 x8 : 00000000000017f3 [ 1851.001405] x7 : 0000000000000006 x6 : 0000002d8daa864d [ 1851.006700] x5 : 00ffffffffffffff x4 : 0000000000000000 [ 1851.011996] x3 : ffffff88772e7180 x2 : 0000000000000000 [ 1851.017291] x1 : 244ef920b7793600 x0 : 00000000ffffffea [ 1851.022587] Call trace: [ 1851.025037] ieee80211_reconfig+0xa24/0xca8 [mac80211] [ 1851.030175] ieee80211_restart_work+0xc0/0xf8 [mac80211] [ 1851.035474] process_one_work+0x1c4/0x338 [ 1851.039472] worker_thread+0x4c/0x488 [ 1851.043120] kthread+0x120/0x128 [ 1851.046331] ret_from_fork+0x10/0x18 [ 1851.049888] ---[ end trace 748c1280140ee90b ]--- [ 1851.054662] ------------[ cut here ]------------ [ 1851.059273] wlan0: Failed check-sdata-in-driver check, flags: 0x0 [ 1851.065507] WARNING: CPU: 0 PID: 665 at net/mac80211/driver-ops.h:17 drv_remove_interface+0x5c/0x70 [mac80211] [ 1851.075487] Modules linked in: wlcore_sdio dmaproxy(O) wl18xx wlcore mac80211 cfg80211 zynqmp_r5_remoteproc mali(O) uio_pdrv_genirq [last unloaded: wlcore_sdio] [ 1851.089823] CPU: 0 PID: 665 Comm: kworker/0:0 Tainted: G W O 5.4.0-xilinx-v2020.1 #1 [ 1851.098683] Hardware name: xlnx,zynqmp (DT) [ 1851.102870] Workqueue: events_freezable ieee80211_restart_work [mac80211] [ 1851.109649] pstate: 60000005 (nZCv daif -PAN -UAO) [ 1851.114441] pc : drv_remove_interface+0x5c/0x70 [mac80211] [ 1851.119927] lr : drv_remove_interface+0x5c/0x70 [mac80211] [ 1851.125394] sp : ffffffc0112f3ab0 [ 1851.128693] x29: ffffffc0112f3ab0 x28: 0000000000000690 [ 1851.133988] x27: ffffff88793907c0 x26: ffffff8879390fb8 [ 1851.139283] x25: ffffff8879379330 x24: 0000000000000018 [ 1851.144579] x23: 0000000000000000 x22: 0000000000000000 [ 1851.149874] x21: ffffff88793918e8 x20: ffffff88772e7180 [ 1851.155169] x19: ffffff8879378c58 x18: 0000000000000010 [ 1851.160465] x17: ffffff887a801108 x16: ffffff887a801128 [ 1851.165760] x15: ffffff88772e75a8 x14: ffffffffffffffff [ 1851.171055] x13: ffffffc0912f37f7 x12: ffffffc0112f3800 [ 1851.176351] x11: ffffffc010fdc000 x10: 0000000000000000 [ 1851.181646] x9 : ffffffc011095000 x8 : 0000000000001816 [ 1851.186941] x7 : 0000000000000006 x6 : ffffffc01109509d [ 1851.192236] x5 : 000000000000000f x4 : 0000000000000000 [ 1851.197532] x3 : 0000000000000000 x2 : 00000000ffffffff [ 1851.202827] x1 : 244ef920b7793600 x0 : 0000000000000000 [ 1851.208122] Call trace: [ 1851.210573] drv_remove_interface+0x5c/0x70 [mac80211] [ 1851.215712] ieee80211_do_stop+0x628/0x8f8 [mac80211] [ 1851.220764] ieee80211_stop+0x14/0x20 [mac80211] [ 1851.225368] __dev_close_many+0xac/0x128 [ 1851.229280] dev_close_many+0x84/0x120 [ 1851.233013] dev_close.part.0+0x3c/0x68 [ 1851.236832] dev_close+0x18/0x20 [ 1851.240061] cfg80211_shutdown_all_interfaces+0x78/0xe8 [cfg80211] [ 1851.246242] ieee80211_handle_reconfig_failure+0xe0/0xf0 [mac80211] [ 1851.252510] ieee80211_reconfig+0x310/0xca8 [mac80211] [ 1851.257648] ieee80211_restart_work+0xc0/0xf8 [mac80211] [ 1851.262944] process_one_work+0x1c4/0x338 [ 1851.266937] worker_thread+0x4c/0x488 [ 1851.270584] kthread+0x120/0x128 [ 1851.273795] ret_from_fork+0x10/0x18 [ 1851.277353] ---[ end trace 748c1280140ee90c ]---