i.MX 8M Mini Evaluation Kit🔗
Introduction🔗
The PAN9026 requires a fairly powerful host processor that executes the low-level Wi-Fi® and Bluetooth® drivers as well as some high-level Wi-Fi application software and a Bluetooth stack.
As an evaluation platform you can use the NXP® i.MX 8M Mini Evaluation Kit (8MMINILPD4-EVK), which is based on the i.MX 8M Mini application processor with four Arm® Cortex®-A53 cores and a Cortex-M4 core. It features a 2 GB LPDDR4 RAM, a 16 GB eMMC, Gigabit Ethernet and USB 2.0.
The i.MX 8M Mini supports the SDIO 3.0 specification, which is required for operation of the PAN9026.
Software Driver Package🔗
On the NXP 88W8977 product page NXP provides extensive documentation, including software driver packages.
Please note that you need an account for the NXP Homepage to be able to access any of the mentioned documents.
Furthermore you need to sign a non-disclosure agreement (NDA) with NXP and special approval to access certain material.
Note
Please contact your local Panasonic Sales representative who will assist you with this process.
The latest version of the driver is SD-WLAN-SD-BT-8977-U16-MMC-W16.68.102.p9-16.26.102.p9-CS4X16710_V2-MGPL. Make sure that you download exactly that version.
There is a similarly named driver with a GPL suffix which - due to whatever reasons - contains the identical driver, but is licensed under a proprietary license.
As of today the software driver package is in maintenance mode and receives yearly security updates only.
Due to the mature age of the 88W8977 chipset only a generic software driver package is available, but no ready-to-use integration into the Yocto Project for use together with the i.MX 8M Mini Evaluation Kit, for example. It has to be manually integrated into the software stack of the target platform.
This guide shows you how to evaluate the PAN9026 using the PAN9026 mSD adapter on the i.MX 8M Mini Evaluation Kit by compiling the driver directly on the host platform.
Warning
After you have evaluated this solution successfully and wish to continue, you have to integrate the driver into your Yocto Project build environment on your own.
Neither NXP nor Panasonic offers a ready-to-use integration into the Yocto Project. You can contact your local Panasonic Sales representative for further information regarding this topic.
Board Overview🔗
1
Boot mode explanation
You can check the possible settings for the boot mode switches here.
2
Power switch
You can turn the evaluation board on and off using this switch.
3
Reset button
You can use the reset button to reset the i.MX 8M Mini Evaluation Kit to a known-good state.
4
Expansion connector - EXP CN
You can use this connector to attach peripherals.
5
Boot mode switches - SW1101 and SW1102
You can use the boot mode switches to select the boot mode. Also see Writing to the eMMC and Host System Configuration.
6
Ethernet port
You can use the Ethernet port to connect the i.MX 8M Mini Evaluation Kit to wired networks.
7
USB Type-C power connector
You can use the USB Type-C power connector to supply power the i.MX 8M Mini Evaluation Kit.
8
USB Type-C port - USB1
You can use the USB Type-C port to write images to the eMMC. Also see Writing to the eMMC
9
USB Debug port
You can use the USB debug port to interact with the operating system.
10
micro SD card slot
You can insert a micro SD card into this slot.
Host System Setup🔗
Introduction🔗
For the i.MX 8M Mini Evaluation Kit a Linux® Board Support Package (BSP) is available from NXP. The Linux BSP provides everything that is needed to build a Linux-based image for the i.MX 8M Mini Evaluation Kit using the Yocto Project®.
Yocto Project
The Yocto Project is an open source project that provides templates, tools and methods for creating custom Linux images for embedded systems.
Chip and board vendors as well as the Linux community contribute to it by adding support for evaluation boards, processors, drivers and software packages in the form of so-called meta layers.
You can find an overview of the Linux BSP releases on the Embedded Linux for i.MX Application Processors page.
Under the section Linux Current Release you can find information and documentation regarding the latest BSP release. Including the following:
-
The name of the release 1. In this case, Linux 5.15.5_1.0.0 with 5.15.5 being the Linux kernel version that is used.
-
The i.MX Yocto Project User's Guide 2 documenting the build process of the Linux image with Yocto.
-
The NXP Wi-Fi Driver Features and Release Notes 3.
-
A list of the supported evaluation kits 4 based on processors from the i.MX application processor family.
Note
Please note that you need an account for the NXP Homepage to be able to access the mentioned documents.
Building the Yocto Image🔗
The Linux BSP consists of a number of meta layers providing recipes for building packages that in sum make up the image for the i.MX 8M Mini Evaluation Kit. This includes the Linux kernel, a root filesystem and a bootloader. In this setup the Wi-Fi drivers are built as so-called out-of-tree kernel modules.
A manifest file specifies the meta layers that the BSP is based on. The manifest files are hosted on the imx-manifest repository. The repo tool is used to manage the Git repositories of the different meta layers.
The Linux BSP is built upon the meta layers maintained by the FSL Community which provide support for i.MX boards in the Yocto Project. An additional meta-imx
layer is used to release updated and new recipes and machine configurations that are eventually upstreamed to the community layers maintained by the community.
The following requirements must be met:
-
You have a Linux based development machine set up for Yocto builds as described in the Host Setup chapter of the i.MX Yocto Project User's Guide.
-
You have the repo tool installed on the development machine as described in the Host Setup chapter of the i.MX Yocto Project User's Guide.
-
Create a new folder
imx-yocto-bsp
for the Linux BSP data.mkdir imx-yocto-bsp cd imx-yocto-bsp
-
Initialize the current directory as a repo client directory.
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.71-2.2.2.xml
The
.repo
folder is created. -
Synchronize the local directory with the remote repositories.
repo sync
The latest revision of the meta layers is downloaded from the respective repositories and stored in the
sources
directory. -
Execute the following command to setup the build directory and configuration files.
DISTRO=fsl-imx-wayland MACHINE=imx8mmevk source imx-setup-release.sh -b build
-
You are prompted to read and accept an EULA by NXP. To continue to use the i.MX proprietary software, you must agree to the conditions of this license. Press Space to page through the EULA. At the end press Y to accept.
In case you accepted the EULA, the
build
directory is created and set as the current working directory. -
The default build does not include certain components that are necessary for the evaluation.
Add the following line to the end of the file
conf/local.conf
using thenano
editor.nano conf/local.conf
local.confIMAGE_INSTALL:append = " dtc kernel-devsrc packagegroup-core-buildessential bluez5-dev"
Note
Press Ctrl+O to save the file, then press Ctrl+X to exit the editor.
-
Start the Yocto build.
bitbake imx-image-core
Once the build is done you can find the resulting image in
tmp/deploy/images/imx8mmevk/imx-image-core-imx8mmevk.wic.zst
.
Note
The Linux BSP lets you choose from a number of distros, images and target machines.
For further information on the Linux BSP and the Yocto build process please refer to the i.MX Yocto Project User's Guide.
However, for this manual only the distro, image and target machine as described above work.
Writing to the eMMC🔗
The following requirements must be met:
-
You have successfully built the Yocto image as described in Building the Yocto Image.
-
You have installed the Universal Update Utility as described in the chapter Universal update utility of the i.MX Linux User's Guide.
Execute the following steps to write the image to the eMMC.
-
Check out the Download Mode setting in the Boot mode explanation 1 that is printed on the silkscreen.
-
Set the boot mode switches SW1101 and SW1102 5 to Download Mode.
If the device was in the regular eMMC3/SDHC3 mode before, only the first two switches for SW1101 need to be toggled.
-
Connect the USB Type-C port USB1 8 to your computer.
-
Power on the i.MX 8M Mini Evaluation Kit by inserting a USB Type-C power supply cable into the USB Type-C power connector 7 and make sure that the Power switch 2 is set to the On position.
-
Execute the following command.
uuu.exe -v -b emmc_all imx-image-core-imx8mmevk.wic.zst
The Universal Update Utility decompresses and writes the image to the eMMC.
-
Power off the i.MX 8M Mini Evaluation Kit with the Power switch 2.
Booting from the eMMC🔗
The following requirements must be met:
-
You have successfully built the Yocto image as described in Building the Yocto Image.
-
You have written the Linux image to the eMMC as described in Writing to the eMMC.
Execute the following steps get the system ready for the following steps.
-
Power off the i.MX 8M Mini Evaluation Kit with the Power switch 2.
-
Check out the eMMC/SDHC3 setting in the Boot mode explanation 1 that is printed on the silkscreen.
-
Set the boot mode switches SW1101 and SW1102 5 to eMMC/SDHC3.
-
Connect to the USB Debug port 9 using a serial console like PuTTY (115200 baud).
-
Power on the i.MX 8M Mini Evaluation Kit with the Power switch 2.
The system boots.
-
Wait until the system is fully booted and the login prompt appears.
NXP i.MX Release Distro kirkstone imx8mmevk ttymxc1 imx8mmevk login:
-
Login as the user
root
without a password.The system is ready for the following steps.
Connectivity🔗
In later steps you may have to communicate from your development system with your i.MX 8M Mini Evaluation Kit, so it needs access to your local network.
Or you may have to download some software components directly onto the host system, in which case your i.MX 8M Mini Evaluation Kit needs Internet connectivity.
The following requirements must be met:
-
You have started the i.MX 8M Mini Evaluation Kit as described in Booting from the eMMC.
-
You have a wired network that supports dynamic address assignment via DHCP.
To check if your i.MX 8M Mini Evaluation Kit has access to your local network execute the following steps.
-
Connect the i.MX 8M Mini Evaluation Kit to your network using the Ethernet port 6.
-
Use the
ip addr
command to check the IP address that got assigned to the Ethernet port.ip addr
The output should look something like this:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:04:9f:08:78:a8 brd ff:ff:ff:ff:ff:ff inet 192.168.0.10/24 scope global dynamic eth0 valid_lft 86336sec preferred_lft 86336sec 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:04:9f:08:78:a7 brd ff:ff:ff:ff:ff:ff
Your i.MX 8M Mini Evaluation Kit uses the IPv4 address
192.168.0.10
.
To check if your i.MX 8M Mini Evaluation Kit has Internet connectivity execute the following steps.
-
Use the
ping
command to check Internet connectivity.ping -n 2 8.8.8.8
The output should look something like this:
Pinging 8.8.8.8 with 32 bytes of data: Reply from 8.8.8.8: bytes=32 time=19ms TTL=116 Reply from 8.8.8.8: bytes=32 time=17ms TTL=116 [...]
Your i.MX 8M Mini Evaluation Kit has Internet connectivity.
Host System Configuration🔗
Disable On-System Connectivity Solution🔗
You have to disable the on-system connectivity solution so that it does not interfere with our setup.
-
Execute the following commands in the console to put the on-system connectivity solution into disabled state.
fdtput -d /run/media/boot-mmcblk2p1/imx8mm-evk.dtb /soc@0/bus@30800000/mmc@30b40000 status fdtput -t s /run/media/boot-mmcblk2p1/imx8mm-evk.dtb /soc@0/bus@30800000/mmc@30b40000 status disabled
Complete Setup of Build Environment🔗
You have to complete the setup of the Linux kernel build environment on the system.
-
Execute the following command to complete the setup of the Linux kernel build environment.
cd /lib/modules/$(uname -r)/build make modules_prepare
Configure SDIO Interface🔗
The PAN9026 module supports both 3.3 V and 1.8 V operation, but the PAN9026 mSD adapter (and the PAN9026 mSD-U adapter) only support 3.3 V operation.
The i.MX 8M Mini Evaluation Kit attempts to switch from an initial SDIO signal voltage level of 3.3 V to 1.8 V after an adapter is inserted into the micro SD card slot which leads to errors.
Because of that you have to configure the SDIO interface so that it does not attempt to switch the supply voltage from 3.3 V to 1.8 V.
-
Execute the following commands in the console to add the no-1-8-v property to the SDIO interface configuration.
fdtput /run/media/boot-mmcblk2p1/imx8mm-evk.dtb /soc@0/bus@30800000/mmc@30b50000 no-1-8-v
System Reboot
You have to reboot the system for these changes to take effect.
Driver Installation🔗
The following requirements must be met:
-
You have successfully built the Yocto image as described in Building the Yocto Image.
-
You have written the Linux image to the eMMC as described in Writing to the eMMC.
-
You have configured the host system as described in Host System Configuration.
-
You have downloaded the driver
SD-WLAN-SD-BT-${BASE}.zip
from the NXP homepage as explained in Software Driver Package.
System Time
If your system is not connected to the Internet using the Ethernet port, the system time is not set automatically.
You have to set the system date to a reasonable date to avoid compilation warnings about outdated files, for example:
date -s "20240401"
For evaluation purposes you can compile the driver directly on the host system.
-
It is convenient to define a variable to contains the version portion of the driver to be used.
export BASE=8977-U16-MMC-W16.68.102.p9-16.26.102.p9-CS4X16710_V2-MGPL
-
Copy the driver
SD-WLAN-SD-BT-${BASE}.zip
to the host system, for example by using a USB thumb drive.When you insert the USB thumb drive that contains the driver, the device is automatically mounted. You can check the location easily.
lsblk
The output should look something like this:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 1 488.8M 0 disk /run/media/usb-sda [...]
-
Copy the driver to the home directory.
cp /run/media/usb-sda/SD-WLAN-SD-BT-${BASE}.zip ~
-
Unpack the driver in multiple steps.
cd ~ unzip SD-WLAN-SD-BT-${BASE}.zip -d nxp cd nxp unzip SD-WLAN-SD-BT-${BASE}.zip cd SD-WLAN-SD-BT-${BASE} find . -maxdepth 1 -iname "*tgz" -exec tar xzf {} \;
-
It is convenient to define a variable to contains the name of the driver directory.
export DIR=~/nxp/SD-WLAN-SD-BT-${BASE}/SD-UAPSTA-BT-${BASE}/
-
Copy the firmware files to a well-known location.
mkdir -p /lib/firmware/nxp/ cp ~/nxp/SD-WLAN-SD-BT-${BASE}/FwImage/sdsd8977_combo_v2.bin /lib/firmware/nxp/
-
You have to disable support for the so-called wireless extension interface (WEXT) inside the driver.
Use
nano ${DIR}/wlan_src/Makefile
to open an editor window and change the file as described.Makefile 239 240 241 242 243 244 245 246 247 248 249 250 251
############################################################################# # Make Targets ############################################################################# ifneq ($(KERNELRELEASE),) ifeq ($(CONFIG_WIRELESS_EXT),y) ifeq ($(CONFIG_WEXT_PRIV),y) # Enable WEXT for STA CONFIG_STA_WEXT=n # Enable WEXT for uAP CONFIG_UAP_WEXT=n else
Note
Press Ctrl+O to save the file, then press Ctrl+X to exit the editor.
-
Compile the WLAN driver.
cd ${DIR}/wlan_src make build -j4
-
Compile the Bluetooth driver.
cd ${DIR}/mbt_src make build -j4
-
Copy the compiled drivers to the module directory.
cp ${DIR}/bin_sd8977/*.ko ${DIR}/bin_sd8977_bt/*.ko /lib/modules/$(uname -r)/extra
-
You have to configure the module load order where you can also specify the default module parameters.
Use
nano /etc/modprobe.d/nxp.conf
to open an editor window and add the following lines to the file.options sd8977 cal_data_cfg=none cfg80211_wext=0xc fw_name=nxp/sdsd8977_combo_v2.bin softdep bt8977 pre: sd8977
Note
Press Ctrl+O to save the file, then press Ctrl+X to exit the editor.
-
Refresh the Linux kernel module dependency information.
depmod -a
System Evaluation🔗
The following requirements must be met:
-
You have successfully built the Yocto image as described in Building the Yocto Image.
-
You have written the Linux image to the eMMC as described in Writing to the eMMC.
-
You have configured the host system as described in Host System Configuration.
-
You have installed the driver as described in Driver Installation.
You can test if the driver is working properly.
-
Monitor the Linux kernel log.
dmesg -w
-
Now insert the PAN9026 mSD adapter into the micro SD card slot.
The output should look something like this:
mmc1: new high speed SDIO card at address 0001 vendor=0x02DF device=0x9145 class=0 function=1 SDIO: max_segs=128 max_seg_size=65535 rx_work=1 cpu_num=4 wlan: Enable TX SG mode wlan: Enable RX SG mode Request firmware: nxp/sdsd8977_combo_v2.bin Wlan: FW download over, firmwarelen=590016 downloaded 590016 WLAN FW is active fw_cap_info=0x18fccf03, dev_cap_mask=0xffffffff max_p2p_conn = 8, max_sta_conn = 8 wlan: version = SD8977-16.68.102.p9-C4X16CS710-GPL-(FP68) Set REG 0x80002328: 0x13d57 slew_rate=3 BT FW is active(0) BT: FW already downloaded! NET: Registered PF_ALG protocol family
Energy Detection Feature🔗
Energy Detection Feature
If you intend to use the PAN9026 module in the EU, you have to assure that the energy detection feature is enabled and provide a suitable configuration.
You can download a suitable configuration file from the Downloads section.
-
Under Windows you can calculate the hash value of the file and verify the authenticity.
Get-FileHash -Algorithm SHA256 .\ed_mac_ctrl_V3_8977.conf
The output should look something like this:
Algorithm Hash --------- ---- SHA256 E6753A23346C248B6C0F0A07A9B67B0CCF8ED35807407E2998D9D1A93274EFFA
-
Under Linux you can also calculate the hash value of the file and verify the authenticity.
sha256sum ed_mac_ctrl_V3_8977.conf
The output should look something like this:
e6753a23346c248b6c0f0a07a9b67b0ccf8ed35807407e2998d9d1a93274effa ed_mac_ctrl_V3_8977.conf
-
On the host system, copy the file to the designated directory for later use.
cp ed_mac_ctrl_V3_8977.conf /lib/firmware/nxp/
The binary configuration file for the energy detection mechanism is now provided correctly.
You have to enable the energy detection feature after every start of the device.
-
Use the
mlanutl
utility to transfer the binary configuration file to the PAN9026 module.${DIR}/bin_sd8977/mlanutl mlan0 hostcmd /lib/firmware/nxp/ed_mac_ctrl_V3_8977.conf ed_mac_ctrl_v3
The output should look something like this:
HOSTCMD_RESP: CmdCode=0x130, Size=0x14, SeqNum=0x27, Result=0000 payload: len=12 01 00 09 00 01 00 0c 00 ff 00 00 00
The energy detection mechanism is enabled.
WLAN🔗
You can execute the following steps to check if WLAN is functional.
-
You have to bring up the WLAN interface, then you can do a WLAN scan.
ip link set dev mlan0 up iw dev mlan0 scan
You can see that nearby WLAN networks are discovered successfully.
You can execute the following steps to manually connect to a WLAN network.
-
You have to select a WLAN network from the scan results of the previous scan, for example.
BSS 00:aa:bb:cc:dd:ee(on mlan0) [...] freq: 2462 [...] SSID: Guest-Net
-
You have to create a configuration file for the
wpa_supplicant
tool that implements the WLAN network authentication.You have to replace Guest-Net and password with the actual SSID of the network you want to connect to and the password that provides access to this WLAN network.
wpa_passphrase Guest-Net password > wpa.conf
-
You have to start the
wpa_supplicant
tool in the background now. It automatically established a connection to the network you specified.wpa_supplicant -Dnl80211 -i mlan0 -B -c wpa.conf
-
After a few seconds you can verify if the connection to the WLAN network is present.
iw dev mlan0 link
The output should look something like this:
Connected to e2:28:6d:aa:bb:cc (on mlan0) SSID: Guest-Net freq: 5500 RX: 3684 bytes (26 packets) TX: 9722 bytes (80 packets) signal: -33 dBm tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI bss flags: short-slot-time dtim period: 1 beacon int: 100
-
You have to retrieve the network configuration including the IP address for the WLAN interface before you can actually use it.
udhcpc -i mlan0
-
Finally you can ping a server to check if name resolution and network connectivity are working.
ping www.google.de
You can see that the server answer the ping requests.
Bluetooth🔗
You can execute the following steps to check if Bluetooth is fully functional.
-
You have to bring up the Bluetooth interface, then you can do a Bluetooth scan.
hciconfig hci0 up bluetoothctl scan on
You can see that nearby Bluetooth devices that are advertising are discovered successfully.
Manufacturing Setup🔗
If you want to do measurements for regulatory purposes you can do so by rigging up a so-called manufacturing setup.
In this setup the host system operates the PAN9026 module in a special test mode (manufacturing mode) and communicates via Ethernet (mfgbridge) with a control application (labtool) that runs on a regular personal computer (PC).
Please note that the host system and the PC must be in the same network and be able to communicate via Ethernet.
Download
The latest version of the manufacturing driver is MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.
You need an account for the NXP Homepage and additionally you need special approval from NXP to be able to download that version.
You can contact your local Panasonic Sales representative for further information regarding this topic.
PC Setup🔗
The following requirements must be met:
-
You have downloaded
MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip
from the NXP homepage as explained in Software Driver Package. -
You know the IP addresses of both the host system and your PC.
The labtool
is included in the manufacturing driver package and does not require a special installation. But you have to configure some network settings.
-
Unpack
MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip
to a convenient location. -
Navigate to the
bin\release\labtool
directory. -
Open the file
SetUp.ini
for editing and change the settings forDutIpAddress
andHostIpAddress
according to your configuration.SetUp.ini 7 8 9 10 11 12 13 14 15
;for UDP routine implementation [DutIp] DutIf= 1 ;0 - UART ;1 - ETH DutIpAddress = 192.168.187.126 HostIpAddress = 192.168.187.97 Protocol = TCP ;Protocol = UDP
Host System Setup🔗
Manufacturing Bridge Compilation🔗
You have to compile the manufacturing bridge application that communicates with the test equipment.
-
Copy the driver
MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip
to the host system, for example by using a USB thumb drive.When you insert the USB thumb drive that contains the driver file, the device is automatically mounted. You can check the location easily.
lsblk
The output should look something like this:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 1 488.8M 0 disk /run/media/usb-sda [...]
-
Copy the driver to the home directory.
cp /run/media/usb-sda/MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip ~
-
Unpack the manufacturing bridge file.
cd ~ unzip MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip -d nxp cd ~/nxp/MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184/Bridge tar xzf bridge_linux_0.1.0.43-src.tgz
-
Copy the special manufacturing firmware file to a well-known location.
mkdir -p /lib/firmware/nxp/ cp ~/nxp/MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184/bin/FwImage/sdio8977_sdio_combo.bin /lib/firmware/nxp/
-
Compile the manufacturing bridge application.
cd ~/nxp/MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184/Bridge/bridge_linux_0.1.0.43/bridge make -j4
Module Load Configuration🔗
Note
If you want to use the test mode, you always must start from scratch and reload the drivers.
If you have used the module in regular mode before, you have to unplug the PAN9026 mSD adapter and unload the driver first.
rmmod bt8xxx sd8xxx mlan
The module needs a special firmware for the manufacturing mode that the system must load instead of the regular firmware.
You have to (re-)configure the module load order where you can also specify the default module parameters.
-
Use
nano /etc/modprobe.d/nxp.conf
to open an editor window and add the following lines to the file or modify the existing configuration.options sd8977 mfg_mode=1 drv_mode=1 cal_data_cfg=none fw_name=nxp/sdio8977_sdio_combo.bin softdep bt8977 pre: sd8977
Note
Press Ctrl+O to save the file, then press Ctrl+X to exit the editor.
-
Refresh the Linux kernel module dependency information.
depmod -a
Usage🔗
The following requirements must be met:
-
You have set up the PC side as explained in PC Setup.
-
You have set up the host system side as explained in Host System Setup.
You have to setup the communication between the two devices.
On the host system side you have to do the following steps.
-
Make sure that the PAN9026 mSD adapter is not inserted in the host system and all modules are unloaded.
-
Monitor the Linux kernel log and insert the PAN9026 mSD adapter.
dmesg -w
The output should look something like this:
Request firmware: nxp/sdio8977_sdio_combo.bin Wlan: FW download over, firmwarelen=437408 downloaded 437408 WLAN FW is active wlan: version = SD8977-0.0.0.p0-C4X16CS710-GPL-(FP68) wlan: Driver loaded successfully
-
Verify that the correct firmware named
sdio8977_sdio_combo.bin
was loaded.
Note
If you can see that the regular firmware is loaded here, then something is wrong and later steps will fail.
You have to check the instructions given in Module Load Configuration again.
-
Bring up the Bluetooth interface, otherwise you cannot use the Bluetooth portion later.
hciconfig hci0 up
-
Navigate to the directory of the
mfgbridge
application and execute it.cd ~/nxp/MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184/Bridge/bridge_linux_0.1.0.43/bridge ./mfgbridge
The output should look something like this:
UART: initialize ... Can't get port settings: Input/output error NET: initialize ... NET: socket bind is completed! NET: initialization is completed. NET: server port: 9930 NET: client port: 9931
-
The application now waits for an incoming connection from the PC system.
On the PC system side you have to do the following steps.
-
Navigate to the
bin\release\labtool
directory and execute thelabtool
application.The output should look something like this:
Name: Dut labtool Version: 1.0.0.172 Date: Oct 15 2019 (03:50:13) Note: 1. =========WiFi tool============= 2. =========BT tool============= Enter CMD 99 to Exit Enter option:
-
You can now control the application by entering numerical codes.
WLAN🔗
You can use the WLAN portion of the application.
-
Enter
1
followed by the Enter key to navigate to the WLAN portion of the application.The output should look something like this:
Dut's IP 192.168.187.126:9930 Host's IP 192.168.187.97:9931 DutIf_UdpIp::delay 0 DutIf_UdpIp::vg_IfSpy 0 _WSAStartup _socketCount=1 TCP connecting... DutIf_InitConnection: 0x00000000 -------------------------------------------------------- W89xx (802.11a/g/b/n/ac) TEST MENU --------------------------------------------------------
-
On the host system side you can see that communication is happening between the two devices.
The output should look something like this:
NET: socket FD = 4 NET: new connection from 192.168.187.97 Initialize drvwrapper .... ioctl[SIOCGIWPRIV]: Operation not supported mlan0 no private ioctls. DRV: driver is initialized.
-
On the PC system side, enter
88
followed by the Enter key to test the communication and retrieve WLAN version information from the host system.The output should look something like this:
Enter option: 88 DLL Version : 1.0.0.172 LabTool Version: 1.0.0.172 FW Version: 16.80.205.184 Mfg Version: 2.0.0.63 SOC OR Version: 2.3 Customer ID: 0 RF OR Version: 8.2 Customer ID: 0
If you can see the
FW Version
and theMfg Version
version, then the communication is working correctly -
Enter
99
followed by the Enter key to leave the WLAN portion again.
Bluetooth🔗
You can use the Bluetooth portion of the application.
-
Enter
2
followed by the Enter key to navigate to the Bluetooth portion of the application.The output should look something like this:
Dut's IP 192.168.187.126:9930 Host's IP 192.168.187.97:9931 DutIf_UdpIp::delay 0 DutIf_UdpIp::vg_IfSpy 0 Dut's Port: 9930 Host's Port: 9931 _WSAStartup _socketCount=65537 TCP connecting... Dut_Bt_OpenDevice: 0x00000000 ----------------------------------------------------------------------- W87xx (BT) TEST MENU -----------------------------------------------------------------------
-
Enter
88
followed by the Enter key to test the communication and retrieve Bluetooth version information from the host system.The output should look something like this:
Enter option: 88 DLL Version : 1.0.0.172 LabTool Version: 1.0.0.172 FW Version: 16.80.205.184 Mfg Version: 1.0.0.10
If you can see the
FW Version
and theMfg Version
version, then the communication is working correctly -
Enter
99
followed by the Enter key to leave the Bluetooth portion again.
Conclusion🔗
At this point you or a test house can use the setup for regulatory measurements using the test commands as specificed in the documentation supplied by NXP.
Note
You can contact your local Panasonic Sales representative for further information regarding this topic.