WiFi is not working on i.MX6Q board

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
PrMa_4522936
Level 1
Level 1

Hi Cypress team,

We are using i.MX6Q custom board with WiFi + BT (LBEE5KL1DX-883) module having chipset CYW4343W.

We have used the firmware files as below,

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

# ls -l /lib/firmware/brcm/

-rwxr-x--- 1 root root 386920 Oct 10 2019 brcmfmac43430-sdio.bin

-rwxr-x--- 1 root root 7222 Oct 10 14:53 brcmfmac43430-sdio.clmblob

-rwxr-x--- 1 root root 792 Oct 10 15:10 brcmfmac43430-sdio.txt

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

Still, we are getting below errors while loading the fmac WLAN driver on our custom board.

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

# insmod brcmutil.ko

# insmod brcmfmac.ko

mmc1: queuing unknown CIS tuple 0x80 (2 bytes)

mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

mmc1: queuing unknown CIS tuple 0x80 (7 bytes)

mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

mmc1: queuing unknown CIS tuple 0x80 (6 bytes)

brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 43430 rev 1 pmurev 24

nvram fw name = brcm/brcmfmac43430-sdio.txt

fw name = brcm/brcmfmac43430-sdio.bin

brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout

brcmfmac: brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -52

brcmfmac: brcmf_bus_start: failed: -52

brcmfmac: brcmf_sdio_firmware_callback: dongle is not responding

# ifconfig wlan0 up

ifconfig: SIOCGIFFLAGS: No such device

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

Also, we tried to enable debug logs and we see failure in getting current ethernet address after upgrading the firmware.

Please see below snippet.

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

[ 2098.365765] brcmfmac: brcmf_sdio_readframes processed 1 frames

[ 2098.365776] brcmfmac: brcmf_sdio_tx_ctrlframe Enter

[ 2098.365782] brcmutil: Tx Frame:

[ 2098.365789] 00000000: 30 00 cf ff ff 00 00 0c 00 00 00 00 06 01 00 00 0...............

[ 2098.365802] 00000010: 14 00 00 00 00 00 01 00 00 00 00 00 63 75 72 5f ............cur_

[ 2098.365813] 00000020: 65 74 68 65 72 61 64 64 72 00 00 00 00 00 00 00 etheraddr.......

;

;

;

;

[ 2100.372512] brcmfmac: brcmf_fil_cmd_data Failed: (unknown) (-110)

[ 2100.372529] brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=cur_etheraddr, len=6

[ 2100.372541] brcmutil: data

[ 2100.372557] 00000000: 00 00 00 00 00 00 ......

[ 2100.372572] brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -52

[ 2100.377975] brcmf_bus_start: failed: -52

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

Our DTS configurations for Wi-Fi are as below.

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

usdhc2_pwrseq: usdhc2_pwrseq {

compatible = "mmc-pwrseq-simple";

regulator-name = "VSD_3V3";

regulator-min-microvolt = <3300000>;

regulator-max-microvolt = <3300000>;

reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>, /* CPU_WL_REG_ON */

<&gpio5 9 GPIO_ACTIVE_LOW>; /* CPU_WL_HOST_WAKE */

enable-active-high;

};

pinctrl_wifi: wifigrp {

fsl,pins = <

MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059

MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059

MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059

MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059

MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059

MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059

MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13069 /* CPU_WL_REG_ON */

MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x13069 /* CPU_WL_HOST_WAKE */

>;

};

/* Wi-Fi */

&usdhc2 {

#address-cells = <1>;

#size-cells = <0>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_wifi>;

bus-width = <4>;

no-1-8-v;

non-removable;

/* cd-post; */

cap-power-off-card;

pm-ignore-notify;

wifi-host;

mmc-pwrseq = <&usdhc2_pwrseq>;

fsl,delay-line = <0>;

status = "okay";

brcmf: bcrmf@1 {

reg = <1>;

compatible = "brcm,bcm4329-fmac";

brcm,drive-strength = <8>;

interrupt-parent = <&gpio5>; /* WL_HOST_WAKE gpio */

interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; /* WL_HOST_WAKE = GPIO5_IO09 active high. Change to IRQ_TYPE_EDGE_RISING for 1BW and SN8000. */

interrupt-names = "host-wake";

status = "okay";

};

};

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

The Bluetooth is working fine but Wi-Fi seems having some issue.

Please let us know, if we are missing something or doing anything wrong.

Thank you.

Regards,
Pratik Manvar

0 Likes
1 Solution

Hi,

Thanks for the reply.

Yes, it was a typo regarding blob file extension.

We found the actual root cause. Actually, we have done "WL_HOST_WAKE" GPIO pin HIGH during boot-up which is an INPUT pin to the processor and will be driven by brcmfmac driver.

Once, we have released "WL_HOST_WAKE" driven HIGH from DTS, everything is working fine.

Thanks & Regards,

Pratik Manvar

View solution in original post

0 Likes
2 Replies
RaktimR_11
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

in the /lib/firmware/brcm directory, the blob file extension is incorrect. It should be something of brcmfmac43430-sdio.clm_blob type.

0 Likes

Hi,

Thanks for the reply.

Yes, it was a typo regarding blob file extension.

We found the actual root cause. Actually, we have done "WL_HOST_WAKE" GPIO pin HIGH during boot-up which is an INPUT pin to the processor and will be driven by brcmfmac driver.

Once, we have released "WL_HOST_WAKE" driven HIGH from DTS, everything is working fine.

Thanks & Regards,

Pratik Manvar

0 Likes