IMX8MP Android 11 WiFi AW-CM276NF

cancel
Showing results for 
Search instead for 
Did you mean: 

IMX8MP Android 11 WiFi AW-CM276NF

370 Views
VeeraH
Contributor I

Hi,

We are trying to bring up the AW-CM276NF (88W8997) WiFi / BT combo module. We got the driver up and we could able to scan the wifi networks using command line:

iw dev mlan0 scan => getting the access points around us

iw dev mlan0 connect <access point name> => we could able to connect with the access point.

 

But when we are trying to use the Android UI, we found the following,

1. WiFi does not get powered on => keeps getting into power off stat

2. WiFi scan is not working, no AP list  is populated

3. Could not able to connect with the any AP as well.

 

Please share your inputs on this.

0 Kudos
9 Replies

338 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi @VeeraH ,

I checked android 11.0.0_2.6.0 bsp source, driver is in the path:

~/android_11.0.0_2.6.0/vendor/nxp-opensource/nxp-mwifiex/mxm_wifiex/wlan_src

you can open it Makefile:

......

CONFIG_SD8997=y
CONFIG_USB8997=n

......

8997 with SDIO interface has been supported by the driver. It means that you don't neet to do any porting work.

it means that default android bsp should support it.

it only needs wifi module is on your board.

According to your logs,  wifi driver (mlan.ko & moal.ko) is not ready.  

 

Regards,

weidong

0 Kudos

336 Views
VeeraH
Contributor I

Hi,

Please find herewith my current settings.

############################################################################
# Configuration Options
#############################################################################
# Multi-chipsets
CONFIG_SD8887=n
CONFIG_SD8897=n
CONFIG_USB8897=n
CONFIG_PCIE8897=n
CONFIG_SD8977=n
CONFIG_SD8978=n
CONFIG_USB8978=n
CONFIG_SD8997=y
CONFIG_USB8997=n
CONFIG_PCIE8997=y
CONFIG_SD8987=n
CONFIG_SD9097=n
CONFIG_USB9097=n
CONFIG_PCIE9097=n
CONFIG_SD9098=n
CONFIG_USB9098=n
CONFIG_PCIE9098=n

Please share your inputs.

0 Kudos

335 Views
VeeraH
Contributor I

Hi,

I also tried with following. With only CONFIG_SD8997 is y, still same behavior is happening.

 

CONFIG_SD8997=y
CONFIG_USB8997=n
CONFIG_PCIE8997=n

Thanks,

Hariharan.V.

0 Kudos

328 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @VeeraH ,

 

According to you logs, it seems that there are no wifi interfaces,such as wlan0 & wlan1.

wlan0 is STA , and WLAN1 is for hotspot.

Can you check if wifi driver has been build successfully  in out directory?

-----------------------------------------------

weidong@ubuntu:~/android_11.0.0_2.6.0/out/target/product/mek_8q$ find -name mlan.ko
./vendor/lib/modules/mlan.ko
./obj/PACKAGING/depmod_VENDOR_intermediates/lib/modules/0.0/vendor/lib/modules/mlan.ko
./obj/PACKAGING/depmod_vendor_stripped_intermediates/mlan.ko
./obj/MXMWIFI_OBJ/mlan.ko
weidong@ubuntu:~/android_11.0.0_2.6.0/out/target/product/mek_8q$ find -name moal.ko
./vendor/lib/modules/moal.ko
./obj/PACKAGING/depmod_VENDOR_intermediates/lib/modules/0.0/vendor/lib/modules/moal.ko
./obj/PACKAGING/depmod_vendor_stripped_intermediates/moal.ko
./obj/MXMWIFI_OBJ/moal.ko
weidong@ubuntu:~/android_11.0.0_2.6.0/out/target/product/mek_8q$

---------------------------------------

Regards,

weidong

0 Kudos

325 Views
VeeraH
Contributor I

Hi,

NXP SDIO WiFi Driver creates mlan0 interface

but android framework expect and uses the wlan0 as STA.

After changing the information in the following files,

  • hardware/nxp/wlan/wifi_hal/wifi_hal.cpp
  • frameworks/opt/net/wifi/libwifi_system_iface/interface_tool.cpp
  • frameworks/opt/net/wifi/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java

we could able to get the WiFi station is up and running on android UI as well.

Please share your inputs.

0 Kudos

317 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @VeeraH ,

 

Yes , right. Android uses wlan0 / wlan1...

for nxp wifi driver, when you load it , you can set interface's name .

like: sta_name=wlan0, uap_name=wlan1 wfd_name=p2p ...

 

Regards,

weidong

0 Kudos

347 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @VeeraH ,

 

I.MX8MP-EVK board supports 88W8997 with PCIe interface, WiFi is connected to M.2 interface on board.

Correspondingly, our default android 11 bsp also supports 88W8997 pcie module.

So suggest you check if there are something wrong with your porting procedure.

 

Regards,

weidong

0 Kudos

344 Views
VeeraH
Contributor I

We ported the 88W8997 with SDIO interface for WLAN and got the mlan0 interface on ifconfig.

using iw command, we could able to scan and connect using mlan0 interface.

we got mlan0 and p2p0 interface got created.

while debugging the logcat, we are getting following on WiFI ON using UI.

07-19 13:28:09.088   370   370 E WifiHAL : Timed out wating on Driver ready ...

07-19 13:28:09.088   370   370 E android.hardware.wifi@1.0-service: Failed or timed out awaiting driver ready

07-19 13:28:09.088   370   370 E android.hardware.wifi@1.0-service: Failed to start legacy HAL: TIMED_OUT

07-19 13:28:09.089   552   635 E HalDevMgr: executeChipReconfiguration: configureChip error: 9 (, timed out)

07-19 13:28:09.089   552   635 E WifiVendorHal: Failed to create STA iface

07-19 13:28:09.089   552   635 E WifiNative: Failed to create iface in vendor HAL

07-19 13:28:09.089   552   635 E WifiClientModeManager: Failed to create ClientInterface. Sit in Idle

 

wifi related configuration settings are fine as below,

wifi.interface => mlan0

wifi.direct.interface => p2p0

Please share your inputs

0 Kudos

200 Views
bull-rider
Contributor I

Hi VeeraH! I have a problem,The development board I use is imx8qm.my DTS follows:Can you provide your configuration file

&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
pinctrl-1 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
pinctrl-2 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
bus-width = <4>;
cap-power-off-card;
keep-power-in-suspend;
vmmc-supply = <&reg_usdhc2_vmmc>;
mmc_pwrseq = <&usdhc2_pwrseq>;
cd-gpios = <&lsio_gpio3 14 GPIO_ACTIVE_LOW>;
wp-gpios = <&lsio_gpio3 20 GPIO_ACTIVE_HIGH>;
status = "okay";

#address-cells = <1>;
#size-cells = <0>;
mwifiex: wifi@1 {
compatible = "marvell,sd8997";
reg = <1>;
};
};

0 Kudos