Dear Christian,
Here is the procedure to follow:
PAN9028 module includes NXP 88W8987 chipset.
Some NXP (ex-Marvell) Wifi/BT chipsets are supported by the Linux kernel mainline, but NXP unfortunately does not officially support that.
Moreover, the Linux kernel mainline firmwares (see https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git repository, mrvl directory) do not include the 88W8987 SDIO firmware.
So you should get the 88W8987 driver and firmware from NXP.
1/ Getting NXP Wifi/BT driver and firmware
You can get NXP Wfi/BT driver from:
git clone https://source.codeaurora.org/external/nxpwifi/mwifiex
git checkout lf-5.10.72-2.2.0
And NXP Wifi/BT firmware:
git clone https://github.com/NXP/imx-firmware
git checkout lf-5.10.72-2.2.0
88W8987 chipset (used in PAN9028) SDIO firmware is imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin
2/ Cross compiling the driver
You will need to setup the cross compiler for your raspberry pi processor, then
cd mwifiex/mxm_wifiex/wlan_src && make KERNELDIR=~/git/codeaurora.org/linux-imx build
The driver is composed in two kernel modules moal.ko and mlan.ko, located in mwifiex/mxm_wifiex/bin_wlan
3/ Copy driver and firmware to the target
Driver: copy mwifiex/mxm_wifiex/bin_wlan content to your raspberry pi (.ko file in usual location, the other files in /lib/firmware/nxp/ directory
Firmware: copy imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin to your raspberry pi, usually /lib/firmware/nxp/ directory
4/ Starting Wifi driver
Refer to README_MLAN for explanations
Driver is started by insmod'ing moal.ko (has dependancy to mlan.ko)
There are two ways to specify the drivers parameters:
- Using wifi_mod_para.conf file content to provide driver options: "modprobe moal mod_para=nxp/wifi_mod_para.conf"
moal.ko driver will get its parameters from the wifi_mod_para.conf file, automatically load mlan.ko dependency and start downloading the firmware
- Manually specifying driver options
In that case, you can use this kind of command: "modprobe moal fw_name=nxp/sdiouart8987_combo_v0.bin cfg80211_wext=0xf cal_data_cfg=none"
Once firmware is loaded, ifconfig -a should show new network interfaces (by default mlan0 for STA mode and uap0 for AP mode)
You can use wpa_supplicant to use 88W8987 in STA mode and connect to an access point:
ifconfig mlan0 up
wpa_passphrase SSID SSID_PASSWD >> /etc/wpa_supplicant.conf
wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf (-Dnl80211)
Or hostapd to use 88W8987 as an access point:
ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up
hostapd /etc/hostapd.conf -B
Regards,
Olivier