Skip to content

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:

  1. Create a new folder imx-yocto-bsp for the Linux BSP data.

    mkdir imx-yocto-bsp
    cd imx-yocto-bsp
    
  2. 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.

  3. 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.

  4. 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
    
  5. 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.

  6. 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 the nano editor.

    nano conf/local.conf
    
    local.conf
    IMAGE_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.

  1. 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:

Execute the following steps to write the image to the eMMC.

  1. Check out the Download Mode setting in the Boot mode explanation 1 that is printed on the silkscreen.

  2. 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.

  3. Connect the USB Type-C port USB1 8 to your computer.

  4. 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.

  5. 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.

  6. Power off the i.MX 8M Mini Evaluation Kit with the Power switch 2.

Booting from the eMMC🔗

The following requirements must be met:

Execute the following steps get the system ready for the following steps.

  1. Power off the i.MX 8M Mini Evaluation Kit with the Power switch 2.

  2. Check out the eMMC/SDHC3 setting in the Boot mode explanation 1 that is printed on the silkscreen.

  3. Set the boot mode switches SW1101 and SW1102 5 to eMMC/SDHC3.

  4. Connect to the USB Debug port 9 using a serial console like PuTTY (115200 baud).

  5. Power on the i.MX 8M Mini Evaluation Kit with the Power switch 2.

    The system boots.

  6. Wait until the system is fully booted and the login prompt appears.

    NXP i.MX Release Distro kirkstone imx8mmevk ttymxc1
    imx8mmevk login:
    
  7. 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:

To check if your i.MX 8M Mini Evaluation Kit has access to your local network execute the following steps.

  1. Connect the i.MX 8M Mini Evaluation Kit to your network using the Ethernet port 6.

  2. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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:

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.

  1. 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
    
  2. 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
    [...]
    

  3. Copy the driver to the home directory.

    cp /run/media/usb-sda/SD-WLAN-SD-BT-${BASE}.zip ~
    
  4. 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 {} \;
    
  5. 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}/
    
  6. 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/
    
  7. 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.

  1. Compile the WLAN driver.

    cd ${DIR}/wlan_src
    make build -j4
    
  2. Compile the Bluetooth driver.

    cd ${DIR}/mbt_src
    make build -j4
    
  3. Copy the compiled drivers to the module directory.

    cp ${DIR}/bin_sd8977/*.ko ${DIR}/bin_sd8977_bt/*.ko /lib/modules/$(uname -r)/extra
    
  4. 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.

  1. Refresh the Linux kernel module dependency information.

    depmod -a
    

System Evaluation🔗

The following requirements must be met:

You can test if the driver is working properly.

  1. Monitor the Linux kernel log.

    dmesg -w
    
  2. 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.

  1. 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
    

  2. 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
    

  3. 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.

  1. 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.

  1. 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.

  1. 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
    
  2. 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
    
  3. 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 
    
  4. 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
    

  5. You have to retrieve the network configuration including the IP address for the WLAN interface before you can actually use it.

    udhcpc -i mlan0
    
  6. 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.

  1. 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.

  1. Unpack MFG-W8977-MF-WIFI-BT-BRG-FC-VS2013-1.1.0.166-A1-16.80.205.p184.zip to a convenient location.

  2. Navigate to the bin\release\labtool directory.

  3. Open the file SetUp.ini for editing and change the settings for DutIpAddress and HostIpAddress 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.

  1. 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
    [...]
    

  2. 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 ~
    
  3. 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
    
  4. 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/
    
  5. 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.

  1. 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.

  1. 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.

  1. Make sure that the PAN9026 mSD adapter is not inserted in the host system and all modules are unloaded.

  2. 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
    

  3. 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.

  1. Bring up the Bluetooth interface, otherwise you cannot use the Bluetooth portion later.

    hciconfig hci0 up
    
  2. 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
    

  3. The application now waits for an incoming connection from the PC system.

On the PC system side you have to do the following steps.

  1. Navigate to the bin\release\labtool directory and execute the labtool 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:
    

  2. You can now control the application by entering numerical codes.

WLAN🔗

You can use the WLAN portion of the application.

  1. 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
    --------------------------------------------------------
    

  2. 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.
    

  3. 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 the Mfg Version version, then the communication is working correctly

  4. Enter 99 followed by the Enter key to leave the WLAN portion again.

Bluetooth🔗

You can use the Bluetooth portion of the application.

  1. 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
    -----------------------------------------------------------------------
    

  2. 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 the Mfg Version version, then the communication is working correctly

  3. 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.