Hasanuddin Abu Bakar 10b51c3dc0 mwifiex: rebase PS5 IW620 patch for linux 7.1.y (#5)
* mwifiex: rebase PS5 IW620 patch for linux 7.1

- Rebase ps5-iw620.patch onto nxp-imx/mwifiex lf-6.18.20_2.0.0, which carries the cfg80211 API updates needed by Linux 7.1.

- Restore PS5 IW620 Wi-Fi module builds on the linux-7.1.y kernel by avoiding the net_device versus wireless_dev API mismatch.

- Target the PS5 IW620 PCIe path and disable unrelated SDIO/USB targets so the build does not pull unresolved sdio_* symbols.

- Export the PCI module alias so the PS5 IW620 module can autoload when the device is present.

- Keep the PS5 connected-state scan workaround, which fake-completes scans while associated to reduce firmware/driver instability.

- Preserve the legacy scan option behavior used by the PS5 load parameters.

- Update README fresh-build instructions to use the new NXP base ref.

* mwifiex: avoid IW620 scan and regulatory firmware quirks

The PS5 IW620 firmware accepts the core STA path but rejects the channel-attribute regulatory download with CHAN_REGION_CFG status 0x3. That shows up at boot as sub_id=0x200046 action=1 [FW_CMDRESP], even though the interface can still scan and associate.

Skip the channel attribute download for the PCIEIW620/PCIE9097 card type used by PS5 so the driver does not send the firmware command that fails on this platform.

Also treat a scan response with exactly zero optional TLV bytes as valid. NXP used a strict greater-than check, so normal scan responses without trailing TLVs were logged as scan_resp_size: Incorrect size of TLV buff size even when AP parsing completed successfully.

Keep the existing PS5 behavior that forces legacy scan mode and fake-completes connected-state scans for stability.

* Fix mwifiex installer ref

---------

Co-authored-by: Anderson <22428720+buzzer-re@users.noreply.github.com>
2026-06-21 22:29:47 +02:00
2026-05-04 14:06:04 -03:00

PS5 IW620 mwifiex port

Single-patch PS5 IW620 port for NXP mwifiex.

Install

Run from this package root:

sudo ./install.sh

If no boot lib/ payload exists, the installer logs that and continues; this keeps kernel module upgrades independent from firmware delivery.

To remove the installed driver files:

sudo ./install.sh uninstall

Fresh Build

Run from this package root:

git clone https://github.com/nxp-imx/mwifiex.git && cd mwifiex
git checkout lf-6.18.20_2.0.0
git apply ../ps5-iw620.patch
make CONFIG_OBJTOOL=

Load

Run from the built driver root:

sudo DRIVER_DIR="$PWD" ../test-iw620.sh load

Equivalent manual load:

sudo modprobe cfg80211
sudo insmod ./mlan.ko
sudo insmod ./moal.ko fw_name=nxp/pcieuartiw620_combo_v1.bin pcie_int_mode=1 drv_mode=1 cfg80211_wext=4 sta_name=mlan ext_scan=1 auto_fw_reload=0 wifi_reset_config=0 sched_scan=0 ps_mode=2 auto_ds=2 amsdu_disable=1

Test

Run from the built driver root:

sudo DRIVER_DIR="$PWD" ../test-iw620.sh capture
Description
No description provided
Readme 48 KiB
Languages
Shell 100%