Porting AP6236/CYW4343/BCM4343 WiFi module to imx6ull platform(BSP_YOCTO)

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

cross mob
prkh_4809306
Level 1
Level 1

Hi guys,

I would like to install the driver of AP6236(CYW4343/BCM4343) Wi-Fi module to my iMX6ULL14x14EVK using Yocto's bitbake command , but since I am new to this, I don't know how to do it.

So far,

(1)I managed to create the simplest OS image using the command  "bitbake core-image-base" and deployed the image to my target board, however when I power up the board, I am not able bring up the wlan up option.

Getting following error..

root@imx6ull14x14evk:~# ifconfig wlan0 up
dhd_open: Enter 8851d000
dhd_open : no mutex held. set lock

Dongle Host Driver, version 1.579.77.41.16 (r-20190511-2)
wl_android_wifi_on in 1
wl_android_wifi_on in 2: g_wifi_on=0
======== PULL WL_REG_ON HIGH! ========
mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
mmc0: queuing unknown CIS tuple 0x81 (9 bytes)
sdioh_start: set sd_f2_blocksize 256


dhd_bus_devreset: == WLAN ON ==
F1 signature read @0x18000000=0x1542a9a6
F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x2 pkg:0x4
DHD: dongle ram size is set to 524288(orig 524288) at 0x0
dhd_bus_set_default_min_res_mask: Unhandled chip id
[dhd] dhd_conf_read_config : Ignore config file /lib/firmware/bcm/AP6236/Wi-Fi/config.txt
[dhd] dhd_conf_set_path_params : Final fw_path=/lib/firmware/bcm/AP6236/Wi-Fi/fw_bcm43436b0.bin
[dhd] dhd_conf_set_path_params : Final nv_path=/lib/firmware/bcm/AP6236/Wi-Fi/nvram_ap6236.txt
[dhd] dhd_conf_set_path_params : Final clm_path=/lib/firmware/bcm/AP6236/Wi-Fi/clm_bcm43436b0.blob
[dhd] dhd_conf_set_path_params : Final conf_path=/lib/firmware/bcm/AP6236/Wi-Fi/config.txt
dhdsdio_download_code_file: Open firmware file failed /lib/firmware/bcm/AP6236/Wi-Fi/fw_bcm43436b0.bin
_dhdsdio_download_firmware: dongle image file download failed
dhd_bus_devreset Failed to download binary to the dongle
dhd_net_bus_devreset: dhd_bus_devreset: -35
dhd_wl_ioctl: returning as busstate=0
dhd_net_bus_devreset: dhd_bus_devreset: -35
======== PULL WL_REG_ON LOW! ========
wl_android_wifi_on: Failed
dhd_open : wl_android_wifi_on failed (-35)
dhd_stop: Enter 8851d000
wl_android_wifi_off in 1
wl_android_wifi_off in 2: g_wifi_on=0, on_failure=1
dhd_wl_ioctl: returning as busstate=0
dhd_net_bus_devreset: dhd_bus_devreset: -35
======== PULL WL_REG_ON LOW! ========
------------[ cut here ]------------
WARNING: CPU: 0 PID: 404 at /home/teju/ebf_yocto/build/tmp/work-shared/imx6ull14x14evk/kernel-source/drivers/regulator/core.c:2040 _regulator_disable+0xf8/0x164()
unbalanced disables for wlan-en-gpio
Modules linked in: evbug
CPU: 0 PID: 404 Comm: ifconfig Tainted: G W 4.1.15-2.1.0+g30278ab #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[<80015db8>] (unwind_backtrace) from [<8001275c>] (show_stack+0x10/0x14)
[<8001275c>] (show_stack) from [<80845050>] (dump_stack+0x84/0xc4)
[<80845050>] (dump_stack) from [<80036ba8>] (warn_slowpath_common+0x80/0xb0)
[<80036ba8>] (warn_slowpath_common) from [<80036c08>] (warn_slowpath_fmt+0x30/0x40)
[<80036c08>] (warn_slowpath_fmt) from [<803353e4>] (_regulator_disable+0xf8/0x164)
[<803353e4>] (_regulator_disable) from [<80335480>] (regulator_disable+0x30/0x6c)
[<80335480>] (regulator_disable) from [<8046f6ac>] (wifi_platform_set_power+0x7c/0xe4)
[<8046f6ac>] (wifi_platform_set_power) from [<8047fc1c>] (wl_android_wifi_off+0xa0/0xf0)
[<8047fc1c>] (wl_android_wifi_off) from [<8046be24>] (dhd_stop+0x16c/0x29c)
[<8046be24>] (dhd_stop) from [<8046cef0>] (dhd_open+0x17c/0x3d0)
[<8046cef0>] (dhd_open) from [<806b5a98>] (__dev_open+0xa8/0x10c)
[<806b5a98>] (_dev_open) from [<806b5d1c>] (_dev_change_flags+0x94/0x144)
[<806b5d1c>] (__dev_change_flags) from [<806b5de4>] (dev_change_flags+0x18/0x48)
[<806b5de4>] (dev_change_flags) from [<80715e68>] (devinet_ioctl+0x664/0x738)
[<80715e68>] (devinet_ioctl) from [<8069cb14>] (sock_ioctl+0x1bc/0x290)
[<8069cb14>] (sock_ioctl) from [<800fbfbc>] (do_vfs_ioctl+0x3e8/0x608)
[<800fbfbc>] (do_vfs_ioctl) from [<800fc210>] (SyS_ioctl+0x34/0x5c)
[<800fc210>] (SyS_ioctl) from [<8000f4c0>] (ret_fast_syscall+0x0/0x3c)
---[ end trace efc97e1b4bfd862b ]---
wifi_platform_set_power: regulator enable/disable failedwl_android_wifi_off out
dhd_stop: Exit
dhd_open : the lock is released.
dhd_open: Exit ret=-1
ifconfig: SIOCSIFFLAGS: Operation not permitted

(2) Also I have run the menuconfig tool on the bitbake environment:

bitbake linux-imx -c menuconfig

Enabled the necessary options like below image..

netwk sup image.png

(3) We are also having AP3626 firmware files fw_bcm43436b0.bin and nvram_ap6236.txt

but please guide us in this process, where should I add these files in order to bring up wlan up??

Any porting guide available for this??

Note: Using kernel version 4.1.15

Many thanks in advance...

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

Hello:

would you please check this fail log firstly ?

dhdsdio_download_code_file: Open firmware file failed /lib/firmware/bcm/AP6236/Wi-Fi/fw_bcm43436b0.bin

0 Likes

This thread is locked due to inactivity, please create a new thread with reference to this thread if need further discussing.

Roy Liu
0 Likes