1 Reply Latest reply on Oct 5, 2020 4:32 AM by GauravS_31

    LBEE5HY1MW on i.MX6ULL and Linux version 4.1.15

    dede_4788626

      Hi,

      Currently we are working on i.MX6ULL platform and Linux Kernel used is 4.1.15.

      WE are using WiFi module : LBEE5HY1MW-TEMP

       

      As kernel version is 4.1.15 I used driver source code from below link:

      Cypress Linux WiFi Driver Release (FMAC) [2018-02-05]

       

      I builded the .ko files and copied firmware files to target:

      tar -xvzf cypress-fmac-v4.12-2018_0205.zip

      cd cypress-fmac-v4.12-2018_0205

      tar -xvzf cypress-backports-v4.12-2017_1030-module-src.tar.gz

      cd v4.12-backports

      MY_KERNEL=/home/devendra/IMX6ULL/yocto_build/iwg18-release-bsp/build_iwg18/tmp/work/imx6_iwg18-poky-linux-gnueabi/linux-iwg18/4.1.15-r0/build

      make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL defconfig-brcmfmac

      source /opt/fsl-imx-x11/4.1.15-2.0.3/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

      make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL modules

       

      The .ko files are generated and copied  to target:

      ls compat/compat.ko

      ls net/wireless/cfg80211.ko

      ls drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko

      ls drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko

       

      ls cypress-fmac-v4.12-2018_0205/firmware

      brcmfmac43012-sdio.bin  brcmfmac43012-sdio.clm_blob brcmfmac43340-sdio.bin brcmfmac4339-sdio.bin brcmfmac43455-sdio.bin brcmfmac4354-sdio.bin

      brcmfmac4373.bin brcmfmac4373-sdio.bin brcmfmac43362-sdio.bin brcmfmac43430-sdio.bin brcmfmac43455-sdio.clm_blob brcmfmac4356-pcie.bin

      brcmfmac4373.clm_blob brcmfmac4373-sdio.clm_blob

       

      Firmware are copied to target:

      cp cypress-fmac-v4.12-2018_0205/firmware/*  /lib/firmware/brcm/

       

      In the DTS file added the node like below:

       

      &usdhc2 {

              pinctrl-names = "default";

              pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_wlan>;

              bus-width = <4>;

              no-1-8-v;

              non-removable;

              cap-power-off-card;

              mmc-pwrseq = <&usdhc2_pwrseq>;

              status = "okay";

              #address-cells = <1>;

              #size-cells = <0>;

              brcmf: bcrmf@1 {

                      reg = <1>;

                      compatible = "brcm,bcm4329-fmac";

                      status = "okay";

              };

      };

       

      PINX MUX:

              usdhc2_pwrseq: usdhc2-pwrseq {

                      compatible = "mmc-pwrseq-simple";

                      reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; /* WF_REG_ON */

              };

       

                      pinctrl_wlan: wlangrp { /* WiFi: IOMUX Pin Configuration */

                              fsl,pins = <

                                      MX6UL_PAD_UART1_CTS_B__GPIO1_IO18   0x80000000 /* WL_REG_GPIO1_IO18 */

                              >;

                      };

       

                      pinctrl_usdhc2: usdhc2grp {

                              fsl,pins = <

                                      MX6UL_PAD_CSI_VSYNC__USDHC2_CLK         0x1b088

                                      MX6UL_PAD_CSI_HSYNC__USDHC2_CMD         0x1b088

                                      MX6UL_PAD_CSI_DATA00__USDHC2_DATA0      0x1b088

                                      MX6UL_PAD_CSI_DATA01__USDHC2_DATA1      0x1b088

                                      MX6UL_PAD_CSI_DATA02__USDHC2_DATA2      0x1b088

                                      MX6UL_PAD_CSI_DATA03__USDHC2_DATA3      0x1b088

                              >;

                      };

       

       

      Once booted I checked the firmware files and inserted the modules as below:

      root@iWave-G18M:~#

      root@iWave-G18M:~# ls /lib/firmware/brcm/

      LICENCE  brcmfmac43012-sdio.clm_blob  brcmfmac4339-sdio.txt  brcmfmac43455-sdio.clm_blob brcmfmac4356-pcie.bin brcmfmac4359-pcie.bin brcmfmac4373-sdio.bin    versions README brcmfmac43340-sdio.bin brcmfmac43430-sdio.bin brcmfmac43455-sdio.txt    brcmfmac4356-pcie.clm_blob  brcmfmac4359-pcie.clm_blob brcmfmac4373-sdio.clm_blob brcmfmac-sdio.bin brcmfmac43362-sdio.bin brcmfmac43430-sdio.clm_blob  brcmfmac4354-sdio.bin brcmfmac4356-sdio.bin brcmfmac4359-sdio.bin brcmfmac4373.bin brcmfmac43012-sdio.bin  brcmfmac4339-sdio.bin  brcmfmac43455-sdio.bin       brcmfmac4354-sdio.clm_blob   brcmfmac4356-sdio.clm_blob  brcmfmac4359-sdio.clm_blob  brcmfmac4373.clm_blob

      root@iWave-G18M:~#

       

      root@iWave-G18M:~/wlan_modules# insmod compat.ko

      Loading modules backported from Linux version v4.12-0-g6f7da29

      Backport generated by backports.git backports-20160324-111-g97b8d7c

      root@iWave-G18M:~/wlan_modules#

      root@iWave-G18M:~/wlan_modules# insmod cfg80211.ko

      root@iWave-G18M:~/wlan_modules# 

      root@iWave-G18M:~/wlan_modules# insmod brcmutil.ko

      root@iWave-G18M:~/wlan_modules#

      root@iWave-G18M:~/wlan_modules# insmod brcmfmac.ko

      root@iWave-G18M:~/wlan_modules# 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 (6 bytes)

      brcmfmac: brcmf_sdiod_regrw_helper: failed to read data F1@0x080fc, err: -84

      brcmfmac: brcmf_sdiod_regrw_helper: failed to read data F1@0x0ffff, err: -84

      brcmfmac: brcmf_chip_cores_check: CPU core not detected

      brcmfmac: brcmf_sdio_probe_attach: brcmf_chip_attach failed!

      brcmfmac: brcmf_sdio_probe: brcmf_sdio_probe_attach failed

      brcmfmac: brcmf_ops_sdio_probe: F2 error, probe failed -19...

      usbcore: registered new interface driver brcmfmac

      root@iWave-G18M:~/wlan_modules# ifconfig wlan0 up

      ifconfig: SIOCGIFFLAGS: No such device

      root@iWave-G18M:~/wlan_modules#

       

      What is wrong happened in above steps ? Anything I missed in DTS files ?

      Please can you help on this ?

       

      Thanks and Regards,

      Devendra