In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-12 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
This article will explain in detail how to add WiFi and BT module AP6212 to RK3288. The content of the article is of high quality, so the editor shares it for you as a reference. I hope you will have some understanding of the relevant knowledge after reading this article.
CPU:RK3288
System: Android 5.1
Note: the modules included in the system do not have AP6212, but only AP6210, which is set to AP6210, and can be used normally by adding firmware directly.
This article is a routine to add AP6212 manually.
1. Change the wifi chip to ap6212 in the device tree
Kernel/arch/arm/boot/dts/rk3288-tb_8846.dts
Diff-- git a/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts b/kernel/arch/arm/boot/dts/rk3288-tb_8846.dtsindex 6a65163..aa5480d 100755-- an Archetype git a/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts b/kernel/arch/arm/boot/dts/rk3288-tb_8846.dtsindex 6a65163..aa5480d of KernelThese Archetype raceme rk3288 qtbqltbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (rtl8723bs) Rtl8723bu * esp8089 * /-wifi_chip_type = "ap6330" + wifi_chip_type = "ap6212"; sdio_vref =; / / 1800mv or 3300mv
2. Add AP6212 option to the Kconfig file.
/ kernel/drivers/net/wireless/Kconfig
Diff-- git a/kernel/drivers/net/wireless/Kconfig b/kernel/drivers/net/wireless/Kconfigindex 544aa86..3e1026d 100755 Lashi-an Accord Kernel depends on RKWIFI+ driversCharger AP6210 depends on RKWIFI+ + config AP6212+ bool "AP6212" + Depends on RKWIFI config AP6234 bool "AP6234"
3. Shield the old wifi chip and add the new wifi chip in the configuration file rockchip_defconfig.
Kernel/arch/arm/configs/rockchip_defconfig
Diff-- git a/kernel/arch/arm/configs/rockchip_defconfig b/kernel/arch/arm/configs/rockchip_defconfigindex e7c697a..5199ec0 100755-a kernell CONFIG_INPUT_MOUSEDEV is not set CONFIG_INPUT_EVDEV=y CONFIG_INPUT_KEYRESET=y Archard git a/kernel/arch/arm/configs/rockchip_defconfig b/kernel/arch/arm/configs/rockchip_defconfigindex e7c697a..5199ec0 configsCharkchippotdefconfigholders + b Greg KernelUniqArchschilk ArchbackdefconfigChargers @-299Lab 7 + 299L7 @ Kernel7 @ @
4. At this time, there will be a failure to open the file fw_bcm43438a1.bin in the serial port print, and the firmware of the wifi module needs to be updated.
[18.686420] dhdsdio_download_code_file: Open firmware file failed / system/etc/firmware/fw_bcm43438a1.bin [18.686430] _ dhdsdio_download_firmware: dongle image file download failed
WiFI firmware path: / external/wlan_loader/firmware
Copy the firmware file provided by the module vendor to this directory, and then compile the burn.
External/wlan_loader/firmware/fw_bcm43438a1.binexternal/wlan_loader/firmware/fw_bcm43438a1_apsta.binexternal/wlan_loader/firmware/fw_bcm43438a1_p2p.binexternal/wlan_loader/firmware/nvram_ap6212.txt
After compilation, the system copies the module firmware to the out/target/product/rk3288/system/etc//firmware/ directory
If you are just debugging, you can push the firmware to the / system/etc//firmware/ directory through adb, and then restart it.
Kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c
Wifi driver path: kernel/net/rfkill/rfkill-wlan.c
If the device is upgraded, for example, the device is AP6212A, and the supplier's document asks nvram_ap6212a.txt, the following file needs to be modified. (you can also use the previous nvram_ap6212.txt directly, but the file is different and not clear)
Path:\ kernel\ drivers\ net\ wireless\ rockchip_wlan\ rkwifi\ bcmdhd\ dhd_config.c
Diff-- git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.cindex 39641e1..91d7925 100755-- diff-- git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.cindex 39641e1..91d7925 100755-- NETERNELD driversUniverse BCIMHIDEN WLANLANG rkwifiBcmdhdBUBUBUBUBUBG kernelDUVERVER Name_by_chip (dhd_pub_t * dhd Char * fw_path, char * nv_path) strcpy (& fw_path [iTun1], bcm43438a0_fw_ name [FW _ type]) Else if (chiprev = = BCM43430A1_CHIP_REV) strcpy (& fw_path [iTun1], bcm43438a1_fw_ name [FW _ type]);-strcpy (& nv_path [juni1], "nvram_ap6212.txt"); + strcpy (& nv_path [jig1], "nvram_ap6212a.txt"); break Case BCM43340_CHIP_ID: if (chiprev = = BCM43340B0_CHIP_REV)
5. Add code to the BT driver to support AP6212
BT driver path: kernel/net/rfkill/rfkill-bt.c
Diff-- git a/kernel/net/rfkill/rfkill-bt.c b/kernel/net/rfkill/rfkill-bt.cindex a1a156c..3070080 100755-- diff-git a/kernel/net/rfkill/rfkill-bt.c b/kernel/net/rfkill/rfkill-bt.cindex a1a156c..3070080 100755-a bank kernelUniverse netapace rfkillripple rfKILLLY BTHUBITY + bUnip kernelUniplex RFKILLLY BT.cpermission @-95 ap6210_24M 6 + 95 ap6210_24M 8 @ @ static const char bt_name [] = # else "ap6210_24M" # endif+#elif defined (CONFIG_AP6212) + "ap6212" # Elif defined (CONFIG_AP6330) "ap6330" # elif defined (CONFIG_AP6476) @ @-266 static int rfkill_rk_set_power 7 + 268 static int rfkill_rk_set_power (void * data) Bool blocked) struct rfkill_rk_data * rfkill = data Struct rfkill_rk_gpio* poweron = & rfkill- > pdata- > poweron_gpio; struct rfkill_rk_gpio* reset = & rfkill- > pdata- > reset_gpio;-#if defined (CONFIG_AP6210) | | defined (CONFIG_AP6335) + # if defined (CONFIG_AP6210) | | defined (CONFIG_AP6212) | | defined (CONFIG_AP6335) struct rfkill_rk_gpio* rts = & rfkill- > pdata- > rts_gpio; struct pinctrl * pinctrl = rfkill- > pdata- > pinctrl # endif@@-307, 7 + 309, 7 @ @ static int rfkill_rk_set_power (void * data, bool blocked) msleep (20); gpio_direction_output (reset- > io, reset- > enable) }-# if defined (CONFIG_AP6210) | | defined (CONFIG_AP6335) + # if defined (CONFIG_AP6210) | | defined (CONFIG_AP6212) | | defined (CONFIG_AP6335) if (pinctrl! = NULL & & gpio_is_valid (rts- > io)) {pinctrl_select_state (pinctrl, rts- > gpio_state)
At this point, AP6212 can be used normally, but I don't know where to copy the BT firmware provided by the vendor.
On RK3288 how to add WiFi and BT module AP6212 to share here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 302
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.