<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 88w8987 / PAN9028 connected to Raspberry PI CM4 Module in Wi-Fi® + Bluetooth® + 802.15.4</title>
    <link>https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/88w8987-PAN9028-connected-to-Raspberry-PI-CM4-Module/m-p/1421737#M2188</link>
    <description>&lt;P&gt;Dear&amp;nbsp;&lt;SPAN&gt;Christian,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the procedure to follow:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PAN9028 module includes NXP 88W8987 chipset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some NXP (ex-Marvell) Wifi/BT chipsets are supported by the Linux kernel mainline, but NXP unfortunately does not officially support that.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Moreover, the Linux kernel mainline firmwares (see &lt;/SPAN&gt;&lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; repository, mrvl directory) do not include the 88W8987 SDIO firmware.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So you should get the 88W8987 driver and firmware from NXP.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1/ Getting NXP Wifi/BT driver and firmware&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You can get NXP Wfi/BT driver from:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;git clone&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://source.codeaurora.org/external/nxpwifi/mwifiex" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://source.codeaurora.org/external/nxpwifi/mwifiex&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;git checkout&amp;nbsp;lf-5.10.72-2.2.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And NXP Wifi/BT firmware:&lt;/P&gt;
&lt;P&gt;git clone &lt;A href="https://github.com/NXP/imx-firmware" target="_blank" rel="noopener"&gt;https://github.com/NXP/imx-firmware&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;git checkout&amp;nbsp;lf-5.10.72-2.2.0&lt;/P&gt;
&lt;P&gt;88W8987 chipset (used in PAN9028) SDIO firmware is imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2/ Cross compiling the driver&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You will need to setup the cross compiler for your raspberry pi processor, then&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cd &lt;/SPAN&gt;&lt;SPAN&gt;mwifiex/mxm_wifiex/wlan_src &amp;amp;&amp;amp; make KERNELDIR=~/git/codeaurora.org/linux-imx build&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The driver is composed in two kernel modules moal.ko and mlan.ko, located in &lt;/SPAN&gt;&lt;SPAN&gt;mwifiex/mxm_wifiex/bin_wlan&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3/ Copy driver and firmware to the target&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;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&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Firmware: copy &lt;/SPAN&gt;&lt;SPAN&gt;imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin &lt;/SPAN&gt;&lt;SPAN&gt;to your raspberry pi, usually /lib/firmware/nxp/ directory&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4/ Starting Wifi driver&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Refer to README_MLAN for explanations&lt;/P&gt;
&lt;P&gt;Driver is started by insmod'ing moal.ko (has dependancy to mlan.ko)&lt;/P&gt;
&lt;P&gt;There are two ways to specify the drivers parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Using wifi_mod_para.conf file content to provide driver options: "modprobe moal mod_para=nxp/wifi_mod_para.conf"&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;moal.ko driver will get its parameters from the wifi_mod_para.conf file, automatically load mlan.ko dependency and start downloading the firmware&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Manually specifying driver options&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In that case,&amp;nbsp; you can use this kind of command: "modprobe moal fw_name=nxp/sdiouart8987_combo_v0.bin cfg80211_wext=0xf cal_data_cfg=none"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once firmware is loaded, ifconfig -a should show new network interfaces (by default mlan0 for STA mode and uap0 for AP mode)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can use wpa_supplicant to use 88W8987 in STA mode and connect to an access point:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;ifconfig mlan0 up&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;wpa_passphrase SSID SSID_PASSWD &amp;gt;&amp;gt; /etc/wpa_supplicant.conf&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf (-Dnl80211)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or hostapd to use 88W8987 as an access point:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;hostapd /etc/hostapd.conf -B&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Olivier&lt;/P&gt;</description>
    <pubDate>Wed, 02 Mar 2022 09:04:07 GMT</pubDate>
    <dc:creator>ocourson</dc:creator>
    <dc:date>2022-03-02T09:04:07Z</dc:date>
    <item>
      <title>88w8987 / PAN9028 connected to Raspberry PI CM4 Module</title>
      <link>https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/88w8987-PAN9028-connected-to-Raspberry-PI-CM4-Module/m-p/1420487#M2187</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I have connected a Panasonic PAN9028 to a Raspberry PI CM4 module via the SDIO interface. The Raspberry runs the normal Raspian image with desktop. Can someone please give me a tip on how to get the module to work now? Where do I find drivers and how do I install them?&lt;/P&gt;
&lt;P&gt;Regards and Thanks!&lt;/P&gt;
&lt;P&gt;Christian&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2024 18:47:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/88w8987-PAN9028-connected-to-Raspberry-PI-CM4-Module/m-p/1420487#M2187</guid>
      <dc:creator>christianschmit</dc:creator>
      <dc:date>2024-01-17T18:47:17Z</dc:date>
    </item>
    <item>
      <title>Re: 88w8987 / PAN9028 connected to Raspberry PI CM4 Module</title>
      <link>https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/88w8987-PAN9028-connected-to-Raspberry-PI-CM4-Module/m-p/1421737#M2188</link>
      <description>&lt;P&gt;Dear&amp;nbsp;&lt;SPAN&gt;Christian,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the procedure to follow:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PAN9028 module includes NXP 88W8987 chipset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some NXP (ex-Marvell) Wifi/BT chipsets are supported by the Linux kernel mainline, but NXP unfortunately does not officially support that.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Moreover, the Linux kernel mainline firmwares (see &lt;/SPAN&gt;&lt;A href="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; repository, mrvl directory) do not include the 88W8987 SDIO firmware.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So you should get the 88W8987 driver and firmware from NXP.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1/ Getting NXP Wifi/BT driver and firmware&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You can get NXP Wfi/BT driver from:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;git clone&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://source.codeaurora.org/external/nxpwifi/mwifiex" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://source.codeaurora.org/external/nxpwifi/mwifiex&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;git checkout&amp;nbsp;lf-5.10.72-2.2.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And NXP Wifi/BT firmware:&lt;/P&gt;
&lt;P&gt;git clone &lt;A href="https://github.com/NXP/imx-firmware" target="_blank" rel="noopener"&gt;https://github.com/NXP/imx-firmware&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;git checkout&amp;nbsp;lf-5.10.72-2.2.0&lt;/P&gt;
&lt;P&gt;88W8987 chipset (used in PAN9028) SDIO firmware is imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2/ Cross compiling the driver&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You will need to setup the cross compiler for your raspberry pi processor, then&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;cd &lt;/SPAN&gt;&lt;SPAN&gt;mwifiex/mxm_wifiex/wlan_src &amp;amp;&amp;amp; make KERNELDIR=~/git/codeaurora.org/linux-imx build&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The driver is composed in two kernel modules moal.ko and mlan.ko, located in &lt;/SPAN&gt;&lt;SPAN&gt;mwifiex/mxm_wifiex/bin_wlan&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3/ Copy driver and firmware to the target&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;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&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Firmware: copy &lt;/SPAN&gt;&lt;SPAN&gt;imx-firmware/nxp/FwImage_8987/sdiouart8987_combo_v0.bin &lt;/SPAN&gt;&lt;SPAN&gt;to your raspberry pi, usually /lib/firmware/nxp/ directory&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;4/ Starting Wifi driver&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Refer to README_MLAN for explanations&lt;/P&gt;
&lt;P&gt;Driver is started by insmod'ing moal.ko (has dependancy to mlan.ko)&lt;/P&gt;
&lt;P&gt;There are two ways to specify the drivers parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Using wifi_mod_para.conf file content to provide driver options: "modprobe moal mod_para=nxp/wifi_mod_para.conf"&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;moal.ko driver will get its parameters from the wifi_mod_para.conf file, automatically load mlan.ko dependency and start downloading the firmware&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Manually specifying driver options&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In that case,&amp;nbsp; you can use this kind of command: "modprobe moal fw_name=nxp/sdiouart8987_combo_v0.bin cfg80211_wext=0xf cal_data_cfg=none"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Once firmware is loaded, ifconfig -a should show new network interfaces (by default mlan0 for STA mode and uap0 for AP mode)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can use wpa_supplicant to use 88W8987 in STA mode and connect to an access point:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;ifconfig mlan0 up&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;wpa_passphrase SSID SSID_PASSWD &amp;gt;&amp;gt; /etc/wpa_supplicant.conf&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf (-Dnl80211)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Or hostapd to use 88W8987 as an access point:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;ifconfig uap0 192.168.1.2 netmask 255.255.255.0 up&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;hostapd /etc/hostapd.conf -B&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Olivier&lt;/P&gt;</description>
      <pubDate>Wed, 02 Mar 2022 09:04:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/88w8987-PAN9028-connected-to-Raspberry-PI-CM4-Module/m-p/1421737#M2188</guid>
      <dc:creator>ocourson</dc:creator>
      <dc:date>2022-03-02T09:04:07Z</dc:date>
    </item>
  </channel>
</rss>

