[Linux驱动炼成记] 06-博通WIFI模组AP6212配置

Buildroot 配置

Kernel -> wifi modle -> AP6212
Kernel -> wifi modle -> wifi fw local path (wifi固件路径)
  • 相关安装包主要是:
buildroot/package/wifi-fw/wifi_fw.mk

主要如下:
	AP6212) \
		mkdir -p $(TARGET_DIR)/etc/wifi/6212; \
		$(INSTALL) -D -m 0644 $(@D)/bcm_ampak/config/6212/*.bin $(TARGET_DIR)/etc/wifi/6212/; \
		$(INSTALL) -D -m 0644 $(@D)/bcm_ampak/config/6212/nvram.txt $(TARGET_DIR)/etc/wifi/6212/nvram.txt; \
		$(INSTALL) -D -m 0644 $(@D)/bcm_ampak/config/6212/BT/*.hcd $(TARGET_DIR)/etc/wifi/6212/; \
		$(INSTALL) -D -m 0644 $(@D)/bcm_ampak/config/config.txt $(TARGET_DIR)/etc/wifi/6212/; \
		;; \


系统根目录/hardware/aml-4.9/amlogic/wifi/bcm_ampak/config/6212,主要固件

BCM43430B0.hcd
fw_bcm43438a1.bin

问题点

# ifconfig wlan0 up
[  928.770295@1] dhd_open: Enter ffffffc00ccd6000
[  928.770341@1] 
[  928.770341@1] Dongle Host Driver, version 1.363.59.144.10 (r)
[  928.776514@1] wl_android_wifi_on in 1
...
[  929.792773@0] Final fw_path=/etc/wifi/6212/fw_bcm43438a1.bin
[  929.798372@0] Final nv_path=/etc/wifi/6212/nvram.txt
[  929.803283@0] Final clm_path=/etc/wifi/6212/clm_bcmdhd.blob
[  929.808818@0] Final conf_path=/etc/wifi/6212/config.txt
[  929.813991@0] dhd_set_bus_params: set use_rxchain 0
[  929.818817@0] dhd_set_bus_params: set txglomsize 36
// 问题所在
[  929.824738@1] dhdsdio_download_code_file: Open firmware file failed /etc/wifi/6212/fw_bcm43438a1.bin
[  929.832718@1] _dhdsdio_download_firmware: dongle image file download failed
[  929.839662@1] dhd_bus_devreset Failed to download binary to the dongle
[  929.846082@1] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  929.851412@1] dhd_wl_ioctl: returning as busstate=0
[  929.856255@1] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  929.861664@0] wifi_platform_set_power = 0
[  929.865570@0] ======== PULL WL_REG_ON(-1) LOW! ========
[  929.870748@0] wl_android_wifi_on: Failed
[  929.874622@0] dhd_open : wl_android_wifi_on failed (-35)
[  929.879940@0] dhd_stop: Enter ffffffc00ccd6000
[  929.884307@0] wl_android_wifi_off in 1
[  929.888007@0] wl_android_wifi_off in 2: g_wifi_on=0, on_failure=1
[  929.894023@0] dhd_wl_ioctl: returning as busstate=0
[  929.898871@0] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  929.904305@0] wifi_platform_set_power = 0
[  929.908168@0] ======== PULL WL_REG_ON(-1) LOW! ========
[  929.913374@0] wl_android_wifi_off out
[  929.916976@0] dhd_stop: Exit
[  929.919812@0] dhd_open: Exit ret=-1
ifconfig: SIOCSIFFLAGS: Operation not permitted

可以发现/etc/wifi/6212/fw_bcm43438a1.bin打不开该文件,由于系统中没有该文件导致的,最终找原厂提供最新AP6212固件包,问题解决1


  1. RK3288 添加WiFi&BT模块AP6212 ↩︎

你可能感兴趣的:([,驱动开发,])