WIfi/Bluetooth not working on clean demo Yocto image iMX8Mplus

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

WIfi/Bluetooth not working on clean demo Yocto image iMX8Mplus

Jump to solution
911 Views
dvega
Contributor II

I been having issues building a Yocto image with working wifi and bluetooth. I followed the instructions on the pdf tutorial

Clone the repo and sync:

 

$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-mickledore -m imx-6.1.36-2.1.0.xml

$ repo sync

 

 Initialize the build:

 

$ DISTRO="fsl-imx-wayland" MACHINE="imx8mp-lpddr4-evk" source imx-setup-release.sh -b imx-builds

 

Build the image (no changes where made into the local.conf file):

 

$ bitbake imx-image-full

 

This generated an image with 18 warnings that doesn't seem important, such as:

 

WARNING: cinematicexperience-rhi-1.0-r0 do_package_qa: QA Issue: File /usr/src/debug/cinematicexperience-rhi/1.0-r0/.rcc/qrc_cinematic-shaders.cpp in package cinematicexperience-rhi-src contains reference to TMPDIR
WARNING: onnxruntime-1.16.1-r0 do_package_qa: QA Issue: File /usr/bin/onnxruntime-1.16.1/tests/onnxruntime_test_all in package onnxruntime-tests contains reference to TMPDIR [buildpaths]
WARNING: qtbase-6.5.0-r0 do_package_qa: QA Issue: File /usr/lib/qtbase/ptest/tests/auto/dbus/qdbusabstractinterface/pinger_interface.h in package qtbase-ptest contains reference to TMPDIR
...

 

On eMMC mode. I enter the u-boot console and mounted the eMMC memory into my system

 

u-boot=> ums 0 mmc 2
UMS: LUN 0, dev mmc 2, hwpart 0, sector 0x0, count 0x3a68000

 

Once mounted it. I flashed the memory with the generated image:

 

$ zstdcat imx-image-full-imx8mp-lpddr4-evk.wic.zst | sudo dd of=/dev/sdc bs=1M conv=fsync status=progress
8934785024 bytes (8.9 GB, 8.3 GiB) copied, 377 s, 23.7 MB/s8938585088 bytes (8.9 GB, 8.3 GiB) copied, 377.181 s, 23.7 MB/s

 

Once it booted I enter the root user and tried to enable the wifi module:

 

$ modprobe moal mod_para=nxp/wifi_mod_para.conf
[   48.145268] mlan: loading out-of-tree module taints kernel.
[   48.172891] wlan: Loading MWLAN driver
[   48.177259] wlan: Register to Bus Driver...
[   48.181718] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[   48.187991] PCI memory map Virt0: 00000000816126a8 PCI memory map Virt2: 0000000003b32c17
[   48.196219] Attach moal handle ops, card interface type: 0x204
[   48.202092] rps set to 0 from module param
[   48.207182] PCIE8997: init module param from usr cfg
[   48.212315] card_type: PCIE8997, config block: 0
[   48.217064] cfg80211_wext=0xf
[   48.220418] max_vir_bss=1
[   48.223236] cal_data_cfg=none
[   48.226238] ps_mode = 1
[   48.228688] auto_ds = 1
[   48.231160] host_mlme=enable
[   48.234059] fw_name=nxp/pcieuart8997_combo_v4.bin
[   48.238793] rx_work=1 cpu_num=4
[   48.241950] Enable moal_recv_amsdu_packet
[   48.245985] Attach mlan adapter operations.card_type is 0x204.
[   48.253868] Request firmware: nxp/pcieuart8997_combo_v4.bin
[   48.861714] FW download over, size 622824 bytes

[   49.566289] WLAN FW is active
[   49.569271] on_time is 49567624625
[   49.610443] FW country code WW does not match with US
[   49.615691] fw_cap_info=0x587c7fa3, dev_cap_mask=0xffffffff
[   49.621295] max_p2p_conn = 8, max_sta_conn = 8
[   49.636091] Register NXP 802.11 Adapter mlan0
[   49.640609] wlan: uap%d set max_mtu 2000
[   49.646391] Register NXP 802.11 Adapter uap0
[   49.656925] Register NXP 802.11 Adapter wfd0
[   49.661291] wlan: version = PCIE8997--16.92.21.p84.4-MM6X16423.p6-GPL-(FP92) 
[   49.671821] wlan: Register to Bus Driver Done
[   49.676455] wlan: Driver loaded successfully

 

 After this I was expecting to see the wifi module loaded but to my surprise is not there

 

$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:04:9f:08:3c:8e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:04:9f:08:3c:8f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 222  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 104  bytes 8628 (8.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 104  bytes 8628 (8.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

Why the wifi module is not there? I tried following this guide about wifi modules. The module I have is the AW-CM276MA.

I tried enabling SDIO on M.2 connector by doing:

 

u-boot=> setenv fdtfile imx8mq-evk-usdhc2-m2.dtb
u-boot=> saveenv
Saving Environment to MMC... Writing to MMC(2)... OK
u-boot=> reset
resetting ...

 

 But when I do that the os doesn't boot anymore.

I checked other post such as:

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/How-to-use-Bluetooth-on-i-MX8M-boards/ta...

https://community.nxp.com/t5/i-MX-Processors/How-to-configure-Yocto-to-enable-WiFi-BT-on-the-i-MX8-M...

https://community.nxp.com/t5/i-MX-Processors/Bring-up-wifi-BT-with-Imx8mp-evk-with-yocto-Linux/m-p/1...

I also tried downloading the official demo image from NXP Same thing happens.

 

Am I missing copy some file?

Do I need to enable something in Yocto?

Do I need to enable something on the kernel config?

 

0 Kudos
Reply
1 Solution
895 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @dvega 

 

You can check 

ifconfig -a

 

The interface is not active, you need issue 

ifconfig mlan0 up

to enable interface.

 

Best Regards

Shaun

 

View solution in original post

0 Kudos
Reply
1 Reply
896 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @dvega 

 

You can check 

ifconfig -a

 

The interface is not active, you need issue 

ifconfig mlan0 up

to enable interface.

 

Best Regards

Shaun

 

0 Kudos
Reply