nxp mwifiex driver warning on cfg80211_calculate_bitrate_he

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

nxp mwifiex driver warning on cfg80211_calculate_bitrate_he

4,688 Views
martinetd
Contributor IV

Hello,

we have recently obtained samples of "AW-XM458" wireless modules, which use this driver with PCIE9098:

https://source.codeaurora.org/external/imx/mwifiex -b rel_imx_5.10.72-2.2.0

along with these firmwares: 

https://github.com/NXP/imx-firmware -b lf-5.10.72_2.2.0

(these come from the 5.10.72_2.2.0 bsp sources, so I am using exactly the same version as this -- I tried to reproduce on our imx8mp-evk but the pci link does not come up on evk, so I've run this on our board with a recompiled kernel and modules instead.)

 

I get a warning when using this driver on

this warning:

if (WARN_ON_ONCE(rate->he_gi > NL80211_RATE_INFO_HE_GI_3_2))

in net/wireless/util.c:1348

 

 

 

 

[    3.925416] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[    3.935790] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[    3.946853] imx6q-pcie 33800000.pcie: PLL REF_CLK is used!.
[    3.947029] SoC: i.MX8MP revision 1.1
[    3.953042] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[    3.956356] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 7 mkt segment 2 supported-hw 0x80 0x4
[    3.973639] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[    3.981789] imx-sdma 30e10000.dma-controller: firmware found.
[    3.992794] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[    3.998981] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[    4.006238] imx6q-pcie 33800000.pcie:   No bus range found for /soc@0/pcie@33800000, using [bus 00-ff]
[    4.015612] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[    4.023911] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff -> 0x0018000000
[    4.032142] imx6q-pcie 33800000.pcie: invalid resource
[    4.137650] imx6q-pcie 33800000.pcie: Link up
[    4.242361] imx6q-pcie 33800000.pcie: Link up
[    4.246745] imx6q-pcie 33800000.pcie: Link up, Gen2
[    4.251750] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[    4.258147] pci_bus 0000:00: root bus resource [bus 00-ff]
[    4.263658] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    4.265357] pps pps0: new PPS source ptp0
[    4.269865] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff]
[    4.280906] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[    4.286806] fec 30be0000.ethernet eth0: registered PHC device 0
[    4.286937] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    4.293650] imx-dwmac 30bf0000.ethernet: IRQ eth_lpi not found
[    4.299119] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    4.305021] imx-dwmac 30bf0000.ethernet: no reset control found
[    4.311683] pci 0000:00:00.0: supports D1
[    4.318278] imx-dwmac 30bf0000.ethernet: User ID: 0x10, Synopsys ID: 0x51
[    4.321580] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[    4.324023] pci 0000:01:00.0: MSI quirk detected; MSI disabled
[    4.328388] imx-dwmac 30bf0000.ethernet: 	DWMAC4/5
[    4.334742] pci 0000:01:00.0: quirk_disable_all_msi+0x0/0x40 took 10460 usecs
[    4.340564] imx-dwmac 30bf0000.ethernet: DMA HW capability register supported
[    4.340568] imx-dwmac 30bf0000.ethernet: RX Checksum Offload Engine supported
[    4.345362] pci 0000:01:00.0: [1b4b:2b43] type 00 class 0x020000
[    4.352493] imx-dwmac 30bf0000.ethernet: TX Checksum insertion supported
[    4.352496] imx-dwmac 30bf0000.ethernet: Wake-Up On Lan supported
[    4.359692] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
[    4.366763] imx-dwmac 30bf0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    4.366767] imx-dwmac 30bf0000.ethernet: Enabled Flow TC (entries=8)
[    4.372803] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x0001ffff 64bit pref]
[    4.379479] imx-dwmac 30bf0000.ethernet: Enabling HW TC (entries=256, max_off=256)
[    4.385590] pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    4.392792] imx-dwmac 30bf0000.ethernet: Using 34 bits DMA width
[    4.400711] pci 0000:01:00.0: supports D1
[    4.438843] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
[    4.445497] pci 0000:01:00.1: MSI quirk detected; MSI disabled
[    4.451340] pci 0000:01:00.1: [1b4b:2b44] type 00 class 0x020000
[    4.457408] pci 0000:01:00.1: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
[    4.464662] pci 0000:01:00.1: reg 0x18: [mem 0x00000000-0x0001ffff 64bit]
[    4.471481] pci 0000:01:00.1: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    4.478926] pci 0000:01:00.1: supports D1
[    4.482948] pci 0000:01:00.1: PME# supported from D0 D1 D3hot D3cold
[    4.503677] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[    4.510488] pci 0000:00:00.0: BAR 14: assigned [mem 0x18100000-0x181fffff]
[    4.517417] pci 0000:00:00.0: BAR 15: assigned [mem 0x18200000-0x184fffff pref]
[    4.524752] pci 0000:00:00.0: BAR 6: assigned [mem 0x18500000-0x1850ffff pref]
[    4.532008] pci 0000:01:00.0: BAR 0: assigned [mem 0x18200000-0x182fffff 64bit pref]
[    4.539909] pci 0000:01:00.1: BAR 0: assigned [mem 0x18300000-0x183fffff 64bit pref]
[    4.547685] pci 0000:01:00.0: BAR 2: assigned [mem 0x18400000-0x1841ffff 64bit pref]
[    4.555471] pci 0000:01:00.1: BAR 2: assigned [mem 0x18100000-0x1811ffff 64bit]
[    4.562810] pci 0000:01:00.0: BAR 4: assigned [mem 0x18420000-0x18423fff 64bit pref]
[    4.570591] pci 0000:01:00.1: BAR 4: assigned [mem 0x18424000-0x18427fff 64bit pref]
[    4.578363] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    4.583606] pci 0000:00:00.0:   bridge window [mem 0x18100000-0x181fffff]
[    4.590399] pci 0000:00:00.0:   bridge window [mem 0x18200000-0x184fffff pref]
[    4.597871] pcieport 0000:00:00.0: PME: Signaling with IRQ 227
[    4.609158] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[    4.622855] Attach moal handle ops, card interface type: 0x206
[    4.638030] No module param cfg file specified
[    4.648403] rx_work=1 cpu_num=4
[    4.655295] Attach mlan adapter operations.card_type is 0x206.
[    4.668250] Request firmware: nxp/pcieuart9098_combo_v1.bin
[    4.865710] random: crng init done
[    5.004389] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.032350] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[    5.233463] FW download over, size 620880 bytes
[    6.748553] WLAN FW is active
[    6.751522] on_time is 6747304000
[    6.770775] fw_cap_info=0x81c3fa3, dev_cap_mask=0xffffffff
[    6.776305] max_p2p_conn = 8, max_sta_conn = 64
[    6.800364] wlan: version = PCIE9098--17.92.5.p11-MM5X17247.p5-GPL-(FP92) 
[    6.807574] wlan_pcie 0000:01:00.1: enabling device (0000 -> 0002)
[    6.813828] Attach moal handle ops, card interface type: 0x206
[    6.819730] No module param cfg file specified
[    6.824199] rx_work=1 cpu_num=4
[    6.827370] Attach mlan adapter operations.card_type is 0x206.
[    6.840268] Request firmware: nxp/pcieuart9098_combo_v1.bin
[    6.845862] WLAN FW already running! Skip FW download
[    6.850927] WLAN FW is active
[    6.853898] on_time is 6849680375
[    6.862877] fw_cap_info=0x81c3fa3, dev_cap_mask=0xffffffff
[    6.868382] max_p2p_conn = 8, max_sta_conn = 64
[    6.898859] wlan: version = PCIE9098--17.92.5.p11-MM5X17247.p5-GPL-(FP92)
[    6.965585] Freeing unused kernel memory: 2560K
[    9.695331] uap0: Skip change virtual intf on uap: type=2
[   23.125707] ASSOC_RESP: Association Failed, status code = 30, error = 0x1511, a_id = 0x0
[   23.133817] IOCTL failed: 00000000c26f7ee0 id=0x20000, sub_id=0x20001 action=1, status_code=0x1511001e
[   59.128055] ASSOC_RESP: Association Failed, status code = 1, error = 0xfffc, a_id = 0xffff
[   59.136346] IOCTL failed: 000000004e0292b4 id=0x20000, sub_id=0x20001 action=1, status_code=0xfffc0001
[   71.922505] wlan: Connected to bssid ac:XX:XX:XX:0b:00 successfully
[   71.933348] mmlan0: 
[   71.933358] wlan: Send EAPOL pkt to ac:XX:XX:XX:0b:00
[   71.953882] mmlan0: 
[   71.953892] wlan: Send EAPOL pkt to ac:XX:XX:XX:0b:00
[   71.963471] IPv6: ADDRCONF(NETDEV_CHANGE): mmlan0: link becomes ready
[   71.978597] woal_cfg80211_set_rekey_data return: gtk_rekey_offload is DISABLE
[   91.893836] ------------[ cut here ]------------
[   91.898475] WARNING: CPU: 1 PID: 1353 at net/wireless/util.c:1348 cfg80211_calculate_bitrate_he+0x240/0x2a0
[   91.908212] Modules linked in:
[   91.911271] CPU: 1 PID: 1353 Comm: NetworkManager Not tainted 5.10.72-lts-5.10.y+xxx #418
[   91.927534] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
[   91.933538] pc : cfg80211_calculate_bitrate_he+0x240/0x2a0
[   91.939021] lr : cfg80211_calculate_bitrate+0x1ec/0x230
[   91.944242] sp : ffff800025b53550
[   91.947553] x29: ffff800025b53550 x28: ffff800025b53740 
[   91.952866] x27: 0000000000000024 x26: ffff000004db7000 
[   91.958177] x25: ffff00000acc3ef0 x24: ffff00000acc0000 
[   91.963488] x23: 0000000000003f34 x22: ffff00000acc3f34 
[   91.968801] x21: ffff00000acc3ed4 x20: ffff800025b53782 
[   91.974114] x19: ffff000008ef0200 x18: 3615d34039444e31 
[   91.979427] x17: 0000000030ad582a x16: 1b0ae9a01ca22718 
[   91.984738] x15: 000000001856ac15 x14: 0cea122a0dac8927 
[   91.990051] x13: 000000000b9f76c0 x12: 0675091506d65a47 
[   91.995362] x11: 0000000005cfbb60 x10: 0240717102625a00 
[   92.000676] x9 : 000000000206cc80 x8 : 010f4471011f2ba0 
[   92.005987] x7 : 0000000000f42400 x6 : 0087a238008f9a27 
[   92.011298] x5 : 0000000000000003 x4 : 0000000000000005 
[   92.016609] x3 : 0d550f5310ab1639 x2 : 21552c7242ab8555 
[   92.021920] x1 : 080008e40a000b1c x0 : ffff800025b53782 
[   92.027234] Call trace:
[   92.029680]  cfg80211_calculate_bitrate_he+0x240/0x2a0
[   92.034815]  cfg80211_calculate_bitrate+0x1ec/0x230
[   92.039691]  nl80211_put_sta_rate+0x58/0x2fc
[   92.043961]  nl80211_send_station+0x714/0xc04
[   92.048315]  nl80211_dump_station+0xa8/0x14c
[   92.052583]  netlink_dump+0xf4/0x2e4
[   92.056158]  __netlink_dump_start+0x170/0x2bc
[   92.060512]  genl_family_rcv_msg_dumpit+0x74/0x11c
[   92.065301]  genl_rcv_msg+0x1a4/0x1e0
[   92.068961]  netlink_rcv_skb+0x5c/0x130
[   92.072795]  genl_rcv+0x38/0x50
[   92.075934]  netlink_unicast+0x224/0x300
[   92.079854]  netlink_sendmsg+0x1dc/0x404
[   92.083775]  sock_sendmsg+0x54/0x60
[   92.087261]  ____sys_sendmsg+0x244/0x26c
[   92.091184]  ___sys_sendmsg+0x7c/0xc0
[   92.094844]  __sys_sendmsg+0x68/0xc4
[   92.098418]  __arm64_sys_sendmsg+0x24/0x30
[   92.102513]  el0_svc_common.constprop.0+0x78/0x1c4
[   92.107302]  do_el0_svc+0x20/0x2c
[   92.110616]  el0_svc+0x14/0x20
[   92.113669]  el0_sync_handler+0xa4/0x130
[   92.117591]  el0_sync+0x180/0x1c0
[   92.120905] ---[ end trace 0e3bb98b072e0629 ]---

 

 

 

 

 

Looking at the code, it happens because some completely unrelated value is stored in the he_gi field of the rate struct: the linux kernel expects it to be enum nl80211_he_gi, but the drive thinks otherwise:

mlinux/moal_sta_cfg80211.c
3067: sinfo->txrate.he_gi = rate->param.data_rate.tx_ht_gi;
3111: sinfo->rxrate.he_gi = rate->param.data_rate.rx_ht_gi;

where the above doesn't look like an enum at all, its value come apparently comes from wlan_ret_802_11_tx_rate_query in mlan/mlan_cmdevt.c and is filled like a bitmask, for example:

 

 

 

if ((pmpriv->tx_rate_info & 0x3) ==
    MLAN_RATE_FORMAT_HE)
        rate->param.data_rate.tx_ht_gi =
                (pmpriv->tx_rate_info & 0x10) >>
                        4 |
                (pmpriv->tx_rate_info & 0x80) >>
                        6;
else
        rate->param.data_rate.tx_ht_gi =
                (pmpriv->tx_rate_info & 0x10) >>
                4;

 

 

 

 

so this has no way of working.

I would assume sinfo->txrate.he_gi / sinfo->rxrate.he_gi would need some converted value from the other one, instead of assigning directly.

 

It doesn't seem to cause any problem while functioning, but would scare our users so please advise.

Thank you,

Dominique Martinet

0 Kudos
15 Replies

3,614 Views
lanchanning
Contributor II

https://community.nxp.com/t5/Wireless-Connectivity/How-imx8mp-evk-support-AW-XM458-Wireless-Modules/...

I also have problems using the AW-XM458

Unable to recognize and initialize AW-XM458 using IMX8MP EVK ..

But connecting AW-CM276 can recognize the device..

Have you ever encountered a similar problem??

0 Kudos

4,030 Views
martinetd
Contributor IV

@Alexis_A 

Sorry for the delay I had trouble finding time to reproduce again.

 

> The best way would be to build your kernel/wifi driver with the patch and try it with the EVK.

> Let me know if the problem keeps happening after this.

 

Yes, the problem also happens on evk.

I've attached full serial log with `modprobe moal drvdbg=0x20037` as that was requested of me in another thread, feel free to ask for other debug flags that would be more appropriate for this as I found a way to reproduce it reliably on evk as well now.

 

Here are the two different warning traces, as well as `iw mlan0 link` command output when these happened:

he version

root@imx8mpevk:~# iw mlan0 link
Connected to 44:c3:06:00:03:44 (on mlan0)
        SSID: atmark
        freq: 2457
        RX: 21732410 bytes (14508 packets)
        TX: 381422 bytes (5698 packets)
        signal: -75 dBm
        rx bitrate: (unknown) HE-MCS 12 HE-NSS 1 HE-GI 3 HE-DCM 0
        tx bitrate: 24.0 MBit/s

        bss flags:      short-slot-time
        dtim period:    2
        beacon int:     100


[  359.670878] ------------[ cut here ]------------
[  359.674510] WARNING: CPU: 1 PID: 1410 at net/wireless/util.c:1345 cfg80211_calculate_bitrate_he+0x234/0x2a0
[  359.688846] Modules linked in: moal(O) mlan(O) btrfs blake2b_generic libcrc32c xor xor_neon overlay raid6_pq fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes imx8_media_dev(C) flexcan crct10dif_ce can_dev caam secvio error fuse
[  359.688890] CPU: 1 PID: 1410 Comm: iw Tainted: G        WC O      5.10.72-00001-gd7cbb42fb5e9 #14
[  359.688893] Hardware name: NXP i.MX8MPlus EVK board (DT)
[  359.688896] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
[  359.688901] pc : cfg80211_calculate_bitrate_he+0x234/0x2a0
[  359.688905] lr : cfg80211_calculate_bitrate+0x1ec/0x230
[  359.688906] sp : ffff800012feb640
[  359.688908] x29: ffff800012feb640 x28: ffff800012feb828
[  359.688912] x27: ffff0000c0077880 x26: ffff0000cc804000
[  359.688917] x25: ffff0000ccf08030 x24: ffff0000ccf08000
[  359.688920] x23: 0000000000000060 x22: ffff0000ccf08060
[  359.688925] x21: ffff0000ccf08014 x20: ffff800012feb86a
[  359.688929] x19: ffff0000c1f26f00 x18: 3615d34039444e31
[  359.713658] mlan0:
[  359.722465]
[  359.722467] x17: 0000000030ad582a x16: 1b0ae9a01ca22718
[  359.722471] x15: 000000001856ac15 x14: 0cea122a0dac8927
[  359.722475] x13: 000000000b9f76c0 x12: 0675091506d65a47
[  359.722479] x11: 0000000005cfbb60 x10: 0240717102625a00
[  359.722487] x9 : 000000000206cc80 x8 : 010f4471011f2ba0
[  359.722491] x7 : 0000000000f42400 x6 : 0087a238008f9a27
[  359.727814] +
[  359.733802]
[  359.733804] x5 : 00000000007a1200 x4 : 000000000000000c
[  359.733808] x3 : 0d550f5310ab1639 x2 : 21552c7242ab8555
[  359.733812] x1 : 080008e40a000b1c x0 : ffff800012feb86a
[  359.739342] mlan0:
[  359.744519] Call trace:
[  359.744524]  cfg80211_calculate_bitrate_he+0x234/0x2a0
[  359.744528]  cfg80211_calculate_bitrate+0x1ec/0x230
[  359.744533]  nl80211_put_sta_rate+0x58/0x2f4
[  359.744540]  nl80211_send_station+0x710/0xc00
[  359.744545]  nl80211_get_station+0xe4/0x150
[  359.747879] #
[  359.753164]  genl_family_rcv_msg_doit+0xc8/0x150
[  359.753168]  genl_rcv_msg+0xe4/0x1e0
[  359.753171]  netlink_rcv_skb+0x5c/0x12c
[  359.753174]  genl_rcv+0x38/0x50
[  359.753179]  netlink_unicast+0x2c0/0x31c
[  359.753187]  netlink_sendmsg+0x1a0/0x3b0
[  359.885989]  ____sys_sendmsg+0x1e8/0x244
[  359.889911]  ___sys_sendmsg+0x7c/0xc0
[  359.893572]  __sys_sendmsg+0x68/0xc4
[  359.897146]  __arm64_sys_sendmsg+0x28/0x3c
[  359.901245]  el0_svc_common.constprop.0+0x78/0x1c4
[  359.906035]  do_el0_svc+0x28/0x9c
[  359.909350]  el0_svc+0x14/0x20
[  359.912403]  el0_sync_handler+0xa4/0x130
[  359.916326]  el0_sync+0x180/0x1c0
[  359.919640] ---[ end trace 3a655b92bccda86d ]---

non-he version

root@imx8mpevk:~# iw mlan0 link
Connected to 44:c3:06:00:03:44 (on mlan0)
        SSID: atmark
        freq: 2457
        RX: 22679074 bytes (15142 packets)
        TX: 401476 bytes (5998 packets)
        signal: -76 dBm
        rx bitrate: (unknown) VHT-MCS 12 short GI VHT-NSS 1
        tx bitrate: 48.0 MBit/s

        bss flags:      short-slot-time
        dtim period:    2
        beacon int:     100


[  371.866025] ------------[ cut here ]------------
[  371.870658] invalid rate bw=0, mcs=12, nss=1
[  371.875099] WARNING: CPU: 3 PID: 1421 at net/wireless/util.c:1313 cfg80211_calculate_bitrate+0x15c/0x230
[  371.884578] Modules linked in: moal(O) mlan(O) btrfs blake2b_generic libcrc32c xor xor_neon overlay raid6_pq fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes imx8_media_dev(C) flexcan crct10dif_ce can_dev caam secvio error fuse
[  371.909303] CPU: 3 PID: 1421 Comm: iw Tainted: G        WC O      5.10.72-00001-gd7cbb42fb5e9 #14
[  371.918173] Hardware name: NXP i.MX8MPlus EVK board (DT)
[  371.923486] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[  371.929494] pc : cfg80211_calculate_bitrate+0x15c/0x230
[  371.934716] lr : cfg80211_calculate_bitrate+0x15c/0x230
[  371.939939] sp : ffff8000131436d0
[  371.943253] x29: ffff8000131436d0 x28: ffff800013143828
[  371.948569] x27: ffff0000c0077880 x26: ffff0000cc804000
[  371.953885] x25: ffff0000cc3bf030 x24: ffff0000cc3bf000
[  371.959198] x23: 0000000000000060 x22: ffff0000cc3bf060
[  371.964515] x21: ffff0000cc3bf014 x20: ffff80001314386a
[  371.969828] x19: 0000000000000000 x18: ffffffffffffffff
[  371.975144] x17: 0000000000000000 x16: 0000000000000001
[  371.980460] x15: ffff800093143397 x14: 00000000000002dc
[  371.985774] x13: 0000000000000000 x12: 0000000000000000
[  371.991089] x11: 0000000000000000 x10: 00000000000009d0
[  371.996405] x9 : ffff800013143410 x8 : ffff0000c09c9870
[  372.001721] x7 : ffff00017f43da00 x6 : 0000000000000000
[  372.007032] x5 : 0000000000000000 x4 : ffff00017f433900
[  372.012432] x3 : ffff00017f43a838 x2 : 0000000000000000
[  372.017745] x1 : 0000000000000000 x0 : ffff0000c09c8e40
[  372.023140] Call trace:
[  372.025589]  cfg80211_calculate_bitrate+0x15c/0x230
[  372.030634]  nl80211_put_sta_rate+0x58/0x2f4
[  372.034988]  nl80211_send_station+0x710/0xc00
[  372.039425]  nl80211_get_station+0xe4/0x150
[  372.043695]  genl_family_rcv_msg_doit+0xc8/0x150
[  372.048395]  genl_rcv_msg+0xe4/0x1e0
[  372.052049]  netlink_rcv_skb+0x5c/0x12c
[  372.055965]  genl_rcv+0x38/0x50
[  372.059109]  netlink_unicast+0x2c0/0x31c
[  372.063200]  netlink_sendmsg+0x1a0/0x3b0
[  372.067202]  ____sys_sendmsg+0x1e8/0x244
[  372.071203]  ___sys_sendmsg+0x7c/0xc0
[  372.074945]  __sys_sendmsg+0x68/0xc4
[  372.078601]  __arm64_sys_sendmsg+0x28/0x3c
[  372.082786]  el0_svc_common.constprop.0+0x78/0x1c4
[  372.087658]  do_el0_svc+0x28/0x9c
[  372.091055]  el0_svc+0x14/0x20
[  372.094277]  el0_sync_handler+0xa4/0x130
[  372.098366]  el0_sync+0x180/0x1c0
[  372.101681] ---[ end trace 3a655b92bccda86e ]---

 

It is triggered when userspace asks for link speed, so running iw mlan0 link regularly on a link where speed varies (e.g. while downloading something) should easily reproduce it. It's not shown on the traces but when it happened in logs I was running iw mlan0 link from a ssh connection; this is the only command I ever ran there and everything is readily available on the BSP (modprobe driver, wpa_supplicant to connect, set ip and generate some activity while iw command to dump speed reproduces the issue)

The rootfs is exactly the BSP, the kernel was compiled with imx_v8_defconfig with just that single patch reverted, and moal was compiled with that kernel with default options from the same branch as used in yocto (lf-5.10.72_2.2.0) so it should all be identical to BSP.

 

It's just a warning, but I'd like to avoid it as it would confuse our users and taints the kernel.

Thanks

0 Kudos

3,905 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

According to the logs and further investigation of the issue you are seeing, it seems to be related to the version of the chip you are using, the A0 , by any chance, is there a way that you can help us test this by using a board with a version A1 of the chip ?

 

Regards

0 Kudos

3,895 Views
martinetd
Contributor IV

Hello @estephania_mart - thanks for looking into it!

We only have two imx8mp-evk here and they both are with the A0 version of the chip, but I can also reproduce the same bitrate warnings (both he and not he) with our product which uses the released version of the chip (MIMX8ML8CVNKZAB Rev A1) without the A0 PCI workaround patch.

 

As said in the original post, I really don't think it is a PCI error here; I don't believe we can have such a reproducible PCI corruption only here, and as I pointed out in the code the value comes straight from the device firmware and is not sanitized at all/doesn't look like it has the same meaning in mwifiex code vs. cfg80211 code so I do not think this is related to the PCI difference.

 

I cannot reproduce easily with all APs I have around me, but it does happen fairly often with APs that reproduce it if you just query `iw mlan0 link` many times while transfers happen. If it doesn't happen with your company AP, you might be able to reproduce with another board running hostapd?

 

Thank you in advance for continued investigation,

0 Kudos

4,612 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @martinetd,

Sorry for the late reply, could you share the Device Tree used to enable the PCIe?

BR,

Alexis Andalon

4,605 Views
martinetd
Contributor IV

Hi @Alexis_A - thanks for the reply.

 

I don't think it's anything PCI-related, but sure, we're using this file on our board:

https://github.com/atmark-techno/linux-5.10-at/blob/main/arch/arm64/boot/dts/freescale/armadillo_iot...

(it's using the internal oscillator unlike the evk)

Copying the section for PCI here:

&pcie{
	disable-gpio = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
	disable2-gpio = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
	reset-gpio = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
	ext_osc = <0>;
	clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
		 <&clk IMX8MP_CLK_PCIE_AUX>,
		 <&clk IMX8MP_CLK_HSIO_AXI>,
		 <&clk IMX8MP_CLK_PCIE_ROOT>;
	clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus";
	assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>,
			  <&clk IMX8MP_CLK_PCIE_AUX>;
	assigned-clock-rates = <500000000>, <10000000>;
	assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>,
				 <&clk IMX8MP_SYS_PLL2_50M>;
	status = "okay";
};

&pcie_phy{
	ext_osc = <0>;
	status = "okay";
};

If you have a dts that works on imx8mp-evk with pci I'll be happy to confirm the problem with the bsp, but I wasn't able to get the PCI to initialize properly there on newer kernels so couldn't test wireless.

Thanks!

Dominique

0 Kudos

4,579 Views
Alexis_A
NXP TechSupport
NXP TechSupport
0 Kudos

4,576 Views
martinetd
Contributor IV

Hello @Alexis_A 

I'm sorry, I don't understand -- this is the dts for the imx8mp evk as of the BSP release, so it should be identical to what is present in the LF_v5.10.72-2.2.0_images_IMX8MPEVK.zip release artifacts?

I cannot get PCI to link up on evk with this image, nor with the other 5.10.72 versions. I can rebuild the kernel myself instead of using the one provided in the BSP, but I do not see why I would get a different result, something broke with the 5.10 upgrade (it used to work with older 5.4 images but these did not have the wireless driver...)

 

Anyway, PCI does work on our board with the dts I provided, and wifi works with the nxp driver, so this isn't the problem.

If you can provide me with a working evk image I'll be happy to try, but I have no interest in trying to fix it for you as it is unrelated to what I'm reporting anyway: the value comes from the firmware and is simply not what the kernel expects to see as rate, so either the driver should convert the value/fill in something else, or the the firmware should provide a valid value (ideally with an extra check on driver side anyway).

I can add more debug messages to the driver if you'd like traces of when the value is filled, and if necessarily I can probably even provide a patch, but I'd appreciate an acknowledgement of the problem first.

Thank you.

0 Kudos

4,524 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @martinetd,

Since I see in the logs that there's some mismatches between the SOC used and what the log mention I think there could be some problems.

Would be possible to share the hostapd.conf or the commands used to configure the module as AP/STA?

BR,
Alexis Andalon

 

4,487 Views
martinetd
Contributor IV

Hello @Alexis_A 

 

I rebooted my board this morning and could reproduce:

[  110.519791] ------------[ cut here ]------------
[  110.524427] WARNING: CPU: 0 PID: 1518 at net/wireless/util.c:1349 cfg80211_calculate_bitrate_he+0x240/0x2a0
[  110.534163] Modules linked in:
[  110.537221] CPU: 0 PID: 1518 Comm: wpa_supplicant Not tainted 5.10.109-00003-gc3bb2586587a-dirty #424
[  110.546436] Hardware name: Atmark-Techno Armadillo-IoT Gateway G4 Board (DT)
[  110.553482] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
[  110.559486] pc : cfg80211_calculate_bitrate_he+0x240/0x2a0
[  110.564969] lr : cfg80211_calculate_bitrate+0x1ec/0x230
[  110.570192] sp : ffff8000126e3620
[  110.573503] x29: ffff8000126e3620 x28: ffff8000126e3808 
[  110.578815] x27: 0000000000000028 x26: ffff000004d9b000 
[  110.584126] x25: ffff0000058b8030 x24: ffff0000058b8000 
[  110.589437] x23: 0000000000000080 x22: ffff0000058b8080 
[  110.594748] x21: ffff0000058b8014 x20: ffff8000126e384a 
[  110.600061] x19: ffff000009116c00 x18: 3615d34039444e31 
[  110.605372] x17: 0000000030ad582a x16: 1b0ae9a01ca22718 
[  110.610686] x15: 000000001856ac15 x14: 0cea122a0dac8927 
[  110.615997] x13: 000000000b9f76c0 x12: 0675091506d65a47 
[  110.621310] x11: 0000000005cfbb60 x10: 0240717102625a00 
[  110.626621] x9 : 000000000206cc80 x8 : 010f4471011f2ba0 
[  110.631935] x7 : 0000000000f42400 x6 : 0087a238008f9a27 
[  110.637246] x5 : 0000000000000003 x4 : 0000000000000000 
[  110.642557] x3 : 0d550f5310ab1639 x2 : 21552c7242ab8555 
[  110.647870] x1 : 080008e40a000b1c x0 : ffff8000126e384a 
[  110.653181] Call trace:
[  110.655625]  cfg80211_calculate_bitrate_he+0x240/0x2a0
[  110.660761]  cfg80211_calculate_bitrate+0x1ec/0x230
[  110.665637]  nl80211_put_sta_rate+0x58/0x2fc
[  110.669905]  nl80211_send_station+0x714/0xc04
[  110.674260]  nl80211_get_station+0xe4/0x150
[  110.678442]  genl_family_rcv_msg_doit+0xc8/0x150
[  110.683057]  genl_rcv_msg+0xe4/0x1e0
[  110.686630]  netlink_rcv_skb+0x5c/0x130
[  110.690463]  genl_rcv+0x38/0x50
[  110.693604]  netlink_unicast+0x224/0x300
[  110.697524]  netlink_sendmsg+0x1dc/0x404
[  110.701448]  sock_sendmsg+0x54/0x60
[  110.704934]  ____sys_sendmsg+0x244/0x26c
[  110.708854]  ___sys_sendmsg+0x7c/0xc0
[  110.712514]  __sys_sendmsg+0x68/0xc4
[  110.716090]  __arm64_sys_sendmsg+0x24/0x30
[  110.720185]  el0_svc_common.constprop.0+0x78/0x1c4
[  110.724973]  do_el0_svc+0x20/0x2c
[  110.728287]  el0_svc+0x14/0x20
[  110.731339]  el0_sync_handler+0xa4/0x130
[  110.735260]  el0_sync+0x180/0x1c0
[  110.738572] ---[ end trace fc47fad6a9a10b14 ]---

 

This is just connecting with nmtui-connect, the wpa_supplicant process is the one spawned by networkmanager.

 

Here's what iw link has to say about this link:

# iw mlan0 link
Connected to 04:42:1a:e4:78:0c (on mlan0)
	SSID: asus_rt_ax89x_5G
	freq: 5580
	RX: 1142390791 bytes (4682165 packets)
	TX: 2226442986 bytes (7684966 packets)
	signal: -36 dBm
	rx bitrate: 52.0 MBit/s MCS 5
	tx bitrate: 1200.9 MBit/s 80MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0

	bss flags:	short-slot-time
	dtim period:	1
	beacon int:	100

 

(this is actually a different AP than I tried the other day, this one is 80211ax/wifi 6 compatible)

 

 

By the way I've tried running the new 5.15.5 BSP on imx8mpevk and got the same PCI issue, link never came up, so this is still with my kernel (based on the 5.10.72 branch and merged with upstream 5.10.109 hence the version number)

Thanks,

0 Kudos

4,367 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @martinetd,

Can you tell me which IMX8P EVK version are you using?

Today I tried the i.MX 5.10.72 image found in the webpage using the IMX8MP EVK booting from the eMMC and after running the some commands to check the PCI link and the driver loading this are the logs that I see:

lspci
01:00.0 Class 0200: 1b4b:2b42
00:00.0 Class 0604: 16c3:abcd
root@imx8mpevk:~# dmesg | grep pci
[    0.198764] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
[    1.638111] ehci-pci: EHCI PCI platform driver
[    1.654314] ohci-pci: OHCI PCI platform driver
[    2.622418] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy                         regulator
[    2.638050] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[    2.644296] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[    2.703360] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[    2.713663] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges                        :
[    2.726781] imx6q-pcie 33800000.pcie:   No bus range found for /soc@0/pcie@33                        800000, using [bus 00-ff]
[    2.741583] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff ->                         0x0000000000
[    2.757408] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff ->                         0x0018000000
[    2.772163] imx6q-pcie 33800000.pcie: invalid resource
[    2.879020] imx6q-pcie 33800000.pcie: Link up
[    2.887621] imx6q-pcie 33800000.pcie: Link up
[    2.897465] imx6q-pcie 33800000.pcie: Link up, Gen1
[    3.015467] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[    3.022807] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.022812] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    3.022819] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff]
[    3.037918] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[    3.050993] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    3.064313] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    3.078019] pci 0000:00:00.0: supports D1
[    3.092546] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[    3.109892] pci 0000:01:00.0: MSI quirk detected; MSI disabled
[    3.116923] pci 0000:01:00.0: [1b4b:2b42] type 00 class 0x020000
[    3.117024] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref                        ]
[    3.178420] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x000fffff 64bit pref                        ]
[    3.186100] pci 0000:01:00.0: supports D1 D2
[    3.190401] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
[    3.197035] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by                         2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe                         x1 link)
[    3.225614] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[    3.236400] pci 0000:00:00.0: BAR 15: assigned [mem 0x18100000-0x182fffff pre                        f]
[    3.250669] pci 0000:00:00.0: BAR 6: assigned [mem 0x18300000-0x1830ffff pref                        ]
[    3.265645] pci 0000:01:00.0: BAR 0: assigned [mem 0x18100000-0x181fffff 64bi                        t pref]
[    3.279959] pci 0000:01:00.0: BAR 2: assigned [mem 0x18200000-0x182fffff 64bi                        t pref]
[    3.296313] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    3.327841] pci 0000:00:00.0:   bridge window [mem 0x18100000-0x182fffff pref                        ]
[    3.335311] pcieport 0000:00:00.0: PME: Signaling with IRQ 250
[   81.544843] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[   81.585236] fw_name=nxp/pcieuart8997_combo_v4.bin
[   81.607039] Request firmware: nxp/pcieuart8997_combo_v4.bin

 As you can see the PCIe link is configured correctly and the module is recognized. Please check which version your board is and if the correct image is being loaded.

Also, please sent the log files using dmesg | grep pci to check where the mismatch could be happening.

BR,

Alexis Andalon

0 Kudos

4,360 Views
martinetd
Contributor IV

Hello @Alexis_A 

According to the stickers on the back, this is:

board: SCH-46370 REV A1

soc: 700-35260 REV X1 (8MPLUSLPD4_CPU)

 

Here's the logs when booting from 5.10.72 image:

root@imx8mpevk:~# lspci
root@imx8mpevk:~# uname -a
Linux imx8mpevk 5.10.72-lts-5.10.y+ga68e31b63f86 #1 SMP PREEMPT Tue Nov 23 06:02:20 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@imx8mpevk:~# dmesg | grep -i pci
[    0.147301] PCI: CLS 0 bytes, default 64
[    0.199502] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
[    1.637677] ehci-pci: EHCI PCI platform driver
[    1.653867] ohci-pci: OHCI PCI platform driver
[    2.612750] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[    2.628713] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[    2.634973] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[    2.699206] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[    2.709064] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[    2.721738] imx6q-pcie 33800000.pcie:   No bus range found for /soc@0/pcie@33800000, using [bus 00-ff]
[    2.738712] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[    2.753407] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff -> 0x0018000000
[    2.765379] imx6q-pcie 33800000.pcie: invalid resource
[    3.771568] imx6q-pcie 33800000.pcie: Phy link never came up
[    3.777273] imx6q-pcie 33800000.pcie: failed to initialize host
[    3.783214] imx6q-pcie 33800000.pcie: unable to add pcie port.

 

I've tried on two identical evk boards, with two different PCI cards (the AW-XM458 I'm reporting this for but also an older AW-CM276MA that I was convinced worked with an older 5.4 kernel)

I've now tried 5.4.70-2.3.2 and it doesn't link up to that either. Perhaps an older 5.4 version would work... But I unfortunately did not keep the files around, and the older images no longer seem to be available on the website. I was comparing this latest 5.4 to 5.10 earlier and did not notice much difference but there are changes from the older 5.4.70-2.3.0 to 5.4.70-2.3.2 so that would be worth trying again, if you can accept me building my own kernel from an older tag, but at this rate we might as well use our board...

For what it's worth, the new 5.15.5-1.0.0 image also behaves the same.

0 Kudos

4,359 Views
martinetd
Contributor IV

So rebuilding my own kernel, rel_imx_5.4.47_2.2.0 works (PCI comes up) and rel_imx_5.4.70_2.3.0 doesn't (phy link never came up error)

Since I got it down this far I went ahead and bisected it down to this commit:

---

commit 47fcb66d3e1fd7102bca0d47bd09c7962e28bd46 (HEAD)
Author: Richard Zhu <hongxing.zhu@nxp.com>
Date: Thu Oct 22 15:23:03 2020 +0800

MLK-24910-3 phy: pcie: imx8mp: remove the pcie workaround

Since the bug had been fixed on A1 chip and A0 chip is not supported
anymore, so remove the SW workaround.
NOTE: PCIe wouldn't work anymore on A0 chip after the SW workatound is
removed.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>

---

 

Well, yeah.

So, how would you like to proceed with the wireless report? I don't have any newer evk with the newer chips, from what I was told we didn't buy the evk but they were provided for our software integration.

ERR050442 description seems to say it should work fine in gen2 with the patch reverted, so if it helps I can just rebuild my own kernel/wifi driver and try to reproduce on our evk like this.

 

Also, while looking at this I also got a similar error with vht bitrate (cfg80211_calculate_bitrate_vht is inlined so function name does not show but the warning is that one's):

 

[   82.020074] invalid rate bw=3, mcs=11, nss=1
[   82.024434] WARNING: CPU: 3 PID: 1311 at net/wireless/util.c:1314 cfg80211_calculate_bitrate+0x15c/0x230
[   82.033912] Modules linked in:
[   82.036974] CPU: 3 PID: 1311 Comm: NetworkManager Not tainted 5.10.109-00005-g33446536f892 #431
[   82.045669] Hardware name: Atmark-Techno Armadillo-IoT Gateway G4 Board (DT)
[   82.052717] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[   82.058721] pc : cfg80211_calculate_bitrate+0x15c/0x230
[   82.063943] lr : cfg80211_calculate_bitrate+0x15c/0x230
[   82.069164] sp : ffff800025c735e0
[   82.072476] x29: ffff800025c735e0 x28: ffff800025c73740
[   82.077789] x27: 0000000000000024 x26: ffff000005918000
[   82.083101] x25: ffff00000863bef0 x24: ffff000008638000
[   82.088414] x23: 0000000000003f20 x22: ffff00000863bf20
[   82.093725] x21: ffff00000863bed4 x20: ffff800025c73782
[   82.099037] x19: 0000000000000000 x18: ffffffffffffffff
[   82.104348] x17: 0000000000000000 x16: 0000000000000000
[   82.109659] x15: ffff8000a5c732a7 x14: 0000000000000006
[   82.114971] x13: 000000000000025c x12: ffff800025c73290
[   82.120282] x11: ffff800011e36898 x10: 00000000fffff000
[   82.125594] x9 : ffff800011dde898 x8 : 00000000ffffefff
[   82.130905] x7 : ffff800011e36898 x6 : 0000000000000000
[   82.136218] x5 : 0000000000000000 x4 : 0000000000000000
[   82.141528] x3 : 00000000ffffffff x2 : 0000000000000000
[   82.146839] x1 : 0000000000000000 x0 : ffff000008745100
[   82.152150] Call trace:
[   82.154596]  cfg80211_calculate_bitrate+0x15c/0x230
[   82.159472]  nl80211_put_sta_rate+0x58/0x2fc
[   82.163740]  nl80211_send_station+0x714/0xc04
[   82.168096]  nl80211_dump_station+0xa8/0x14c
[   82.172364]  netlink_dump+0xf4/0x2e4
[   82.175937]  __netlink_dump_start+0x170/0x2bc
[   82.180291]  genl_family_rcv_msg_dumpit+0x74/0x11c
[   82.185081]  genl_rcv_msg+0x1a4/0x1e0
[   82.188741]  netlink_rcv_skb+0x5c/0x130
[   82.192574]  genl_rcv+0x38/0x50
[   82.195714]  netlink_unicast+0x224/0x300
[   82.199639]  netlink_sendmsg+0x1dc/0x404
[   82.203561]  sock_sendmsg+0x54/0x60
[   82.207049]  ____sys_sendmsg+0x244/0x26c
[   82.210970]  ___sys_sendmsg+0x7c/0xc0
[   82.214632]  __sys_sendmsg+0x68/0xc4
[   82.218205]  __arm64_sys_sendmsg+0x24/0x30
[   82.222300]  el0_svc_common.constprop.0+0x78/0x1c4
[   82.227088]  do_el0_svc+0x20/0x2c
[   82.230404]  el0_svc+0x14/0x20
[   82.233456]  el0_sync_handler+0xa4/0x130
[   82.237376]  el0_sync+0x180/0x1c0
[   82.240688] ---[ end trace c1befe05cfb93ad8 ]---

 

 It looks like the problem is similar: mcs (here 11) is > 9, but the value comes straight from the firmware in mlan/mlan_cmdevt.c (tx here, but rx is similar):

rate->param.data_rate.tx_mcs_index = (pmpriv->tx_rate) & 0xF;

In this case the [tr]x_mcs_index fields are not used anywhere else so I cannot tell if they just mean something else like it did for he, or if the firmware should not have sent something bigger than 9, (or if some race changed it to something > 9 while vht rate was looked up but vht no longer applies...), so help from someone who can look at the firmware would be appreciated.

 

Thank you

0 Kudos

4,206 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @martinetd

The best way would be to build your kernel/wifi driver with the patch and try it with the EVK.

Let me know if the problem keeps happening after this.

BR,

Alexis Andalon

0 Kudos

4,513 Views
martinetd
Contributor IV

> Since I see in the logs that there's some mismatches between the SOC used and what the log mention I think there could be some problems.

Sorry for this, I just wanted to make it clear that our kernel was based on the latest 5.10.72 imx branch with the associated mwifiex driver but I shouldn't have muddied it. This happens on our kernel on our board with an imx8mp soc, as I can't setup PCI on the evk.

I've just noticed that there's been a 5.15 release last week, I'll try that over the next few days in case it helped the evk establish PCI links. I don't see anything in the diff from 5.10.72 that would help with this warning (neither linux side nor mwifiex side) so it'll probably still happen and I agree it's best to work on known versions.

... Speaking of which checking this made me remember an important details, I couldn't get hostapd to work in WEXT mode so my mwifiex is built with CONFIG_WIRELESS_EXT=n, this is probably important...

 

> Would be possible to share the hostapd.conf or the commands used to configure the module as AP/STA?

I used to see it just connecting to my company's AP as a station (with nmcli-connect), but obviously as soon as I'm trying to reproduce it doesn't seem to happen anymore.

I also saw it with hostapd but I can't setup any client right now, I'll give you my hostapd config and established link details once I've confirmed that tomorrow.

 

Thanks

0 Kudos