Build FMAC driver/backports modules error

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

cross mob
Leo_Liu
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Hi Sir,

我使用的平台是IMX.8,Linux4.14.98的kernel,在编译cypress-fmac-v5.4.18-2020_0925出现以下问题,请帮忙看下:

我参考README文档,在第二步Build the cypress driver/backports modules出现error,我是按照要求重新打开terminal,没有设置cross compile。

pastedImage_0.png

pastedImage_1.png

因为这一步编不过,所以下面编译modules也出现error,这是什么原因导致的呢

Thanks,

Leo

0 Likes
1 Solution

Hi Zhengbao,

找到原因了,编译V5.4.18的fmac需要用到lex,yacc命令,但是我的Ubuntu下面没有安装,所以安装后编译通过了。

Thanks,

Leo

View solution in original post

0 Likes
12 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hi Liu:

   我这边试了下,在5.4.18下面用4.1.15的kernel来编backport, 没有问题的。

我猜测两个原因, 一个是你的编译环境的各种选项依赖没有添加完整, 第二个就是你的kernel的路径设置有问题。

0 Likes

Hi Zhengbao,

我按照readme执行的,V5.4.18编不过,下面是完整的步骤,但是我又验证了其他版本v4.14.77是没有问题的。

pastedImage_0.png

pastedImage_1.png

readme文档如下:

#### Build the kernel image

```bash

#1. Have the BSP kernel source available

   git clone https://source.codeaurora.org/external/imx/linux-imx

   cd linux-imx

   git checkout imx_4.14.78_1.0.0_ga

#2. Set up build environment and kernel configuration

   source /opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi

   make imx_v7_defconfig

#3. Edit .config and build cfg80211 as module

#     CONFIG_CFG80211=m

#     CONFIG_BCMDHD=n

#4. Enable below configs in .config

#     CONFIG_ASYMMETRIC_KEY_TYPE=y

#     CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y

#     CONFIG_X509_CERTIFICATE_PARSER=y

#     CONFIG_PKCS7_MESSAGE_PARSER=y

#5. Build the Linux kernel image

   make oldconfig

   make zImage -j 8

#6. The kernel image is available here

   arch/arm/boot/zImage

```

#### Build the cypress driver/backports modules

```bash

#1. Untar the Cypress backports package

    tar zxvf cypress-backports-*.tar.gz

    cd v5.4.18-backports

#2. (Native) compile local tools and generate .config (in a new terminal

#   without sourcing Yoctol toolchain settings)

    bash

    MY_KERNEL=<the 4.14.78 kernel path>

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

#3. (Cross) compile kernel modules

    source /opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi

    make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL modules

#4. The kernel modules are available here

#      compat/compat.ko

#      net/wireless/cfg80211.ko

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

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

```

0 Likes

ok, 我找时间测试下4.14的kernel

0 Likes

我试了4.14.76 ,刚开始也是有问题的, 你需要clean 掉先前所有的编译结果, 或者重新解压一个backports的文件夹,另起一个shell,然后就可以跑成功了。

0 Likes
lock attach
Attachments are accessible only for community members.
Leo_Liu
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Hi Zhengbao,

我重新解压了V5.4.18的backports,make clean之后,仍然出现相同的错误,附件是我使用的版本,你试下是否可以编过。

0 Likes

我用的kernel是4.14.76 官方release的, 不是imx的版本, 我尝试下你的版本, 你也可以考虑下官方release的看看。

0 Likes

我编译过Image后,仅重新按照README,修改.config,出现了如下choice,我全部选的y,会提示缺少oppnssl/bio.h的错误。

pastedImage_0.png

pastedImage_1.png

0 Likes

ubuntu系统里面openssl的相关有安装吗?

0 Likes

我的环境里面bio.h 在/usr/include/openssl/ 目录下

0 Likes

有的,路径不一样

myzr@u14045:~$ openssl version -a

OpenSSL 1.0.1f 6 Jan 2014

built on: Wed Jun 20 12:30:12 UTC 2018

platform: debian-amd64

options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)

compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

OPENSSLDIR: "/usr/lib/ssl"

myzr@u14045:/usr$ find -name bio.h

./src/linux-headers-4.4.0-127/include/linux/bio.h

./src/linux-headers-4.4.0-139/include/linux/bio.h

0 Likes

Hi Zhengbao,

找到原因了,编译V5.4.18的fmac需要用到lex,yacc命令,但是我的Ubuntu下面没有安装,所以安装后编译通过了。

Thanks,

Leo

0 Likes

Hi Leo:

thanks for the share .

0 Likes