Could NXP support the WiFi issues,when the host CPU is QCA

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Could NXP support the WiFi issues,when the host CPU is QCA

Jump to solution
783 Views
LewisLiu
Contributor III
 
Labels (1)
0 Kudos
1 Solution
739 Views
ocourson
NXP TechSupport
NXP TechSupport

Dear @LewisLiu 

 

NXP promotes NXP host CPU (like i.MX, Layerscape, etc) + NXP Wifi/BT chipset (like AW690) bundle solution, as we integrate our Wifi/BT driver into our host CPU SW, and we test it.

Nevertheless we can also support customers using NXP Wifi/BT chipsets (like AW690) with competition host CPU.

Please confirm that the Qualcomm host CPU supports PCIe interface, because it is the only AW690 HW interface for Wifi (UART used for BT).

If am am correct, Qualcomm 8155 & 8295 CPUs support both Linux and Android SW. We can support AW690 integration on both OS.

 

1/ For Linux support:

1.1. Yocto build

As both Qualcomm and NXP hosts are using Yocto build system, we could take NXP i.MX Linux SW as reference to reuse the relevent Wifi/BT bitbake layer and recipes.

Refer to:

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

The following README file explains how to get the Yocto sources:

https://github.com/nxp-imx/imx-manifest/blob/imx-linux-kirkstone/README.md

You can then reuse the following recipes:

New recipes:
- For wlan utils and common part (.inc)
sources/meta-imx/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.bb
sources/meta-imx/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc
- For kernel module (Wifi driver)
sources/meta-imx/meta-bsp/recipes-kernel/kernel-modules/kernel-module-nxp89xx.bb
- Wireless tools
sources/meta-imx/meta-bsp/recipes-connectivity/wireless-tools

Wifi chipset firmwares are added in
sources/meta-imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend

 

1.2. Linux driver manual build

- Getting NXP Wifi/BT driver and firmware
You can get NXP Wfi/BT driver from:
git clone http://github.com/nxp-imx/mwifiex.git
git checkout lf-5.15.71-2.2.0

And NXP Wifi/BT firmware:
git clone https://github.com/NXP/imx-firmware
git checkout lf-5.15.712-2.2.0

AW690 uses the same firmware as 9098 chipset.

9098 chipset PCIE firmware is imx-firmware/nxp/FwImage_9098_PCIE/pcieuart9098_combo_v1.bin

- Cross compiling the driver
You will need to setup the cross compiler for your host processor, then
cd mwifiex/mxm_wifiex/wlan_src && make KERNELDIR=<KERNEL_SOURCES> build
The driver is composed in two kernel modules moal.ko and mlan.ko, located in mwifiex/mxm_wifiex/bin_wlan

- Copy driver and firmware to the target
Driver: copy mwifiex/mxm_wifiex/bin_wlan content to your host processor (.ko file in usual location, the other files in /lib/firmware/nxp/ directory
Firmware: copy imx-firmware/nxp/FwImage_9098_PCIE/pcieuart9098_combo_v1.bin to your host processor, usually /lib/firmware/nxp/ directory

- Starting Wifi driver
Refer to README_MLAN for explanations
Driver is started by insmod'ing moal.ko (has dependency 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/pcieuart9098_combo_v1.bin cfg80211_wext=0xf cal_data_cfg=none host_mlme=1"

Once firmware is loaded, ifconfig -a should show new network interfaces (by default mlan0 for STA mode and uap0 for AP mode)

 

2/ For Android support:

We can provide Android 12 vendor HAL (documentation targeting NXP i.MX8 host)

 

Regards,

Olivier

View solution in original post

0 Kudos
4 Replies
767 Views
ocourson
NXP TechSupport
NXP TechSupport

Dear Lewis,

 

Could you please carify:

1/ Which host CPU is used

2/ Which host OS is used

3/ Which Wifi chipset is used

 

Regards,

Olivier

0 Kudos
754 Views
LewisLiu
Contributor III

Dear Olivier,

 

1/8155&8295

2/I don't know yet,and will feed back soon.

3/AW690

Thank you!

Regards,

Lewis

0 Kudos
740 Views
ocourson
NXP TechSupport
NXP TechSupport

Dear @LewisLiu 

 

NXP promotes NXP host CPU (like i.MX, Layerscape, etc) + NXP Wifi/BT chipset (like AW690) bundle solution, as we integrate our Wifi/BT driver into our host CPU SW, and we test it.

Nevertheless we can also support customers using NXP Wifi/BT chipsets (like AW690) with competition host CPU.

Please confirm that the Qualcomm host CPU supports PCIe interface, because it is the only AW690 HW interface for Wifi (UART used for BT).

If am am correct, Qualcomm 8155 & 8295 CPUs support both Linux and Android SW. We can support AW690 integration on both OS.

 

1/ For Linux support:

1.1. Yocto build

As both Qualcomm and NXP hosts are using Yocto build system, we could take NXP i.MX Linux SW as reference to reuse the relevent Wifi/BT bitbake layer and recipes.

Refer to:

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

The following README file explains how to get the Yocto sources:

https://github.com/nxp-imx/imx-manifest/blob/imx-linux-kirkstone/README.md

You can then reuse the following recipes:

New recipes:
- For wlan utils and common part (.inc)
sources/meta-imx/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.bb
sources/meta-imx/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc
- For kernel module (Wifi driver)
sources/meta-imx/meta-bsp/recipes-kernel/kernel-modules/kernel-module-nxp89xx.bb
- Wireless tools
sources/meta-imx/meta-bsp/recipes-connectivity/wireless-tools

Wifi chipset firmwares are added in
sources/meta-imx/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend

 

1.2. Linux driver manual build

- Getting NXP Wifi/BT driver and firmware
You can get NXP Wfi/BT driver from:
git clone http://github.com/nxp-imx/mwifiex.git
git checkout lf-5.15.71-2.2.0

And NXP Wifi/BT firmware:
git clone https://github.com/NXP/imx-firmware
git checkout lf-5.15.712-2.2.0

AW690 uses the same firmware as 9098 chipset.

9098 chipset PCIE firmware is imx-firmware/nxp/FwImage_9098_PCIE/pcieuart9098_combo_v1.bin

- Cross compiling the driver
You will need to setup the cross compiler for your host processor, then
cd mwifiex/mxm_wifiex/wlan_src && make KERNELDIR=<KERNEL_SOURCES> build
The driver is composed in two kernel modules moal.ko and mlan.ko, located in mwifiex/mxm_wifiex/bin_wlan

- Copy driver and firmware to the target
Driver: copy mwifiex/mxm_wifiex/bin_wlan content to your host processor (.ko file in usual location, the other files in /lib/firmware/nxp/ directory
Firmware: copy imx-firmware/nxp/FwImage_9098_PCIE/pcieuart9098_combo_v1.bin to your host processor, usually /lib/firmware/nxp/ directory

- Starting Wifi driver
Refer to README_MLAN for explanations
Driver is started by insmod'ing moal.ko (has dependency 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/pcieuart9098_combo_v1.bin cfg80211_wext=0xf cal_data_cfg=none host_mlme=1"

Once firmware is loaded, ifconfig -a should show new network interfaces (by default mlan0 for STA mode and uap0 for AP mode)

 

2/ For Android support:

We can provide Android 12 vendor HAL (documentation targeting NXP i.MX8 host)

 

Regards,

Olivier

0 Kudos
728 Views
LewisLiu
Contributor III

Hi Olivier,

 

Thank you for your professional answer!

Because of your detailed answers, the client's project will make great progress.

I appreciate your time.

Best Regards,

Lewis

0 Kudos