We are evaluating the NXP 88W9098 chipset, as used in a uBlox JODY-W377-00B module on a TI TMDS64EVM evaluation board, mostly for use an an access point via Linux.
Specifically, we have been setting uap_max_sta=64 and max_sta_conn=64 in wifi_mod_para.conf to support high connectivity. This no longer seems to work.
It worked fine Using the lf-6.12.20_2.0.0 branch (May 27, 2025) of https://github.com/nxp-imx/mwifiex and https://github.com/nxp-imx/imx-firmware (which identifies as "PCIE9098--17.92.1.p149.70-MM6X17537.p9-GPL-(FP92)")
Recently I updated to the lf-6.12.34_2.1.0 branch (Aug 27, 2025) of both of the above repositories, and WiFi no longer works (firmware init failure) with the above settings of uap_max_sta=64 and max_sta_conn=64. This is using version 540.p7 of mlan.ko and moal.ko and version "PCIE9098--17.92.1.p149.76-MM6X17540.p7-(FP92)" of pcieuart9098_combo_v1.bin which are all from that branch of those two repositories.
Bootup failure indications are (edited down part of Linux bootup):
[ 17.023637] Request firmware: nxp/pcieuart9098_combo_v1.bin
[ 17.058326] WLAN FW is active
[ 17.075178] woal_request_fw failed
[ 17.078616] Firmware Init Failed
[ 17.112302] Free module params
[ 17.127100] woal_pcie_probe: failed
[ 127.513518] IOCTL failed: 00000000ccd62525 id=0x200000, sub_id=0x200011 action=1, status_code=0x3 [FW_CMDRESP]
[ 207.385673] IOCTL failed: 00000000dcc6ae8c id=0x20000, sub_id=0x2000c action=1, status_code=0x1 [FW_NOT_READY]
But it DOES work if set "uap_max_sta=48" and "max_sta_conn=48" instead of 64 in wifi_mod_para.conf . I basically did a binary search to find a working value.
Stranger still, if I replace the /lib/firmware/nxp/ contents which contained lf-6.12.34_2.1.0 with that of the original lf-6.12.20_2.0.0 files but KEEP the newer lf-6.12.34_2.1.0 drivers, everything seems to work fine with the old "uap_max_sta=64" and "max_sta_conn=64" settings.
That is, the newer drivers seem to work fine, but only with the older firmware when using the higher settings.
mlan/mlan_ioctl.h in branch lf-6.12.34_2.1.0 still has "#define MAX_STA_COUNT 64". So is this no longer correct? Either the newer firmware should reject settings it cannot support, or the firmware should be updated to support it again.