WiFi chip detection problem

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

WiFi chip detection problem

Jump to solution
1,658 Views
bgaurav1718
Contributor III

Hello all, 

I have a custom board based on iMX8MP with U-Blox Maya-W266 wifi module integrated. (Schematic diagram snippets attached). 

bgaurav1718_0-1729657870368.pngbgaurav1718_2-1729657982861.png

 

SD2_X pins from U-Blox are connected to GPIO2 port of iMX8MP as shown below:

bgaurav1718_1-1729657902978.png

After booting the board, I followed instructions from "Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Linux OS" to bring up the wifi module:

bgaurav1718_3-1729658308034.png

However, I do not see any related messages in dmesg command output. I verified the configurations of wifi_mod_para.conf to be correct. Also, the firmware binary file is present inside nxp directory.

I have no idea on what to check for in further steps. I am not sure whether modifications in device tree are needed since the hardware designs are basically identical to the im8mp-evk design.  

Any guidance would be of great help. Thank you!!

 

 

 

 

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

Hello

I listed SDIO interface check items here. Please compare with your design. 

View solution in original post

0 Kudos
Reply
16 Replies
1,586 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @bgaurav1718 

1. I think mmc2 is not sdio interface you used. It is used for boot. You device didn't detected Wi-Fi card. There is a simply way to double check, our sd interface support hot swap. You could pullout when board running, see if mmc2 shows sd card removed. 

2. I cant find any sd node from your device tree, could you double check on your side? You could go to our github to check 8mp example devise treelinux-imx/arch/arm64/boot/dts/freescale/imx8mp-evk.dts at lf-6.6.y · nxp-imx/linux-imx · GitHub. A sdio node should like following: 

&usdhc3 {
assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
assigned-clock-rates = <400000000>;
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc3>;
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
bus-width = <8>;
non-removable;
status = "okay";
};

 

Best Regards

Shaun

1,558 Views
bgaurav1718
Contributor III

I installed a new image and looked through its device tree. 

usdhc1 is mapped to mmc@30b40000,

usdhc2 is mapped to mmc@30b50000,

usdhc3 is mapped to mmc@30b60000.

bgaurav1718_0-1729754219672.png

bgaurav1718_1-1729754242320.pngbgaurav1718_2-1729754254245.png

I think this is what the device tree configuration is supposed to be. Still I get the same message

[ 2.107370] mmc2: new HS400 Enhanced strobe MMC card at address 0001

NOTE: I was reading an this article related to the issue. There, it mentions following:

bgaurav1718_4-1729755591690.png

 

Regarding the schematic, I have attached an image in original question. The pins from UBlox are connected to SD2_xxxx pins of the processor.  These pins belong to USDHC2.

bgaurav1718_3-1729755294669.png

 

0 Kudos
Reply
1,553 Views
bgaurav1718
Contributor III
usdhc2 is at address 30b50000. It is aliased as mmc1. So, mmc1 is probably where the WiFi module is connected. But there is only one message in kernel log related to mmc1:
[ 3.312631] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
0 Kudos
Reply
1,547 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @bgaurav1718 

Please try add this node to your dts.

&usdhc2 {
assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
assigned-clock-rates = <400000000>;
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc3>;
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
bus-width = <8>;
non-removable;
status = "okay";
};

 

Best Regards

Shaun

0 Kudos
Reply
1,403 Views
bgaurav1718
Contributor III

Hi @shaun_wu 

I tested the signals in SDIO line. The clock seems fine. But the command is not correct. It needed to be 0 but it is something else. So, I guess the settings in device tree I am using is still wrong.

Screenshot 2024-10-30 110524.png 

0 Kudos
Reply
912 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello

I listed SDIO interface check items here. Please compare with your design. 

0 Kudos
Reply
1,526 Views
bgaurav1718
Contributor III

I have added the details. Since I am using dts file decompiled from dtb file, the symbols you mentioned are converted into corresponding hex values. 

bgaurav1718_3-1729817765866.png

I tried to compile this dts into dtb by commenting out the lines that were not shown in your device tree. The compiler showed some errors, so I had to include those lines. 

Hex values in pinctrl-X belong to following:

bgaurav1718_2-1729817216030.png

Even with this entry in device tree, the problem still exits.

Since there is only one parameter in the device tree you suggested, I tried removing the second parameter. I still get the same result.

 

 

 

 

0 Kudos
Reply
1,575 Views
bgaurav1718
Contributor III
We are using a custom board with UBlox WiFi module soldered onto the board. So, I don't think hot swapping is feasible here. Do you have any other ways I could possibly try?
0 Kudos
Reply
1,572 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @bgaurav1718 

 

You could check shematic.

 

Best Regards

Shaun

0 Kudos
Reply
1,602 Views
Amelia777
Contributor I

After struggling with a frustrating WiFi chip detection problem, I decided to take a break and called Ukraine Cleaners for house cleaning in Edmonds. They did an amazing job, leaving my home spotless and stress-free. Definitely lifted my spirits!

0 Kudos
Reply
1,611 Views
bgaurav1718
Contributor III

bgaurav1718_0-1729671959157.png

I don't think WiFi module is connected to other sd interfaces.

Device tree is attached below:

 

0 Kudos
Reply
1,638 Views
bgaurav1718
Contributor III

UPDATE: I found following messages in kernel log. 

[ 2.024245] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[ 2.103390] mmc2: new HS400 Enhanced strobe MMC card at address 0001

However, it is supposed to be detected as:

mmc1: new ultra high speed DDR50 SDIO card at address 0001

0 Kudos
Reply
1,632 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @bgaurav1718 

 

Could you check with following cmd:

dmesg       #check driver and firmware loading 

ifconfig -a #check if maln0 uap0 interface enabled

 

Best Regards

Shaun

0 Kudos
Reply
1,628 Views
bgaurav1718
Contributor III
The module is detected as SD card. I have added snippet from kernel log above.
Also, no mlan0 and uap0 interfaces are available.
0 Kudos
Reply
1,623 Views
shaun_wu
NXP TechSupport
NXP TechSupport

Hello @bgaurav1718 

 

I didn't see the log you shared, could you reshare?

I see the card was detected, it was detected as sdio card, not sd card. Thats what we expected. No problem.

 

Best Regards

Shaun

0 Kudos
Reply
1,616 Views
shaun_wu
NXP TechSupport
NXP TechSupport
[ 2.024245] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[ 2.103390] mmc2: new HS400 Enhanced strobe MMC card at address 0001
 
--> Sorry I misunderstand your post, you are right this is not we expected. Could you share dts you used? And could you double confirm which sd interface you are using?
 
Best Regards
Shaun 
0 Kudos
Reply