我的编程空间,编程开发者的网络收藏夹
学习永远不晚

RK3288怎么添加WiFi和BT模块AP6212

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

RK3288怎么添加WiFi和BT模块AP6212

这篇文章将为大家详细讲解有关RK3288怎么添加WiFi和BT模块AP6212,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

CPU:RK3288

系统:Android 5.1

 注:系统中自带的模块没有AP6212,相近的只有AP6210,设置为AP6210,直接添加固件也可以正常使用。

此文是手动添加AP6212的例程。

在设备树中修改 wifi 芯片为 ap6212,

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--- a/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts+++ b/kernel/arch/arm/boot/dts/rk3288-tb_8846.dts@@ -42,7 +42,7 @@                  * rtl8188eu, rtl8723bs, rtl8723bu                  * esp8089                */-               wifi_chip_type = "ap6330";+               wifi_chip_type = "ap6212";          sdio_vref = <1800>; //1800mv or 3300mv

在 Kconfig 文件中增加 AP6212 选项。

/kernel/drivers/net/wireless/Kconfig

diff --git a/kernel/drivers/net/wireless/Kconfig b/kernel/drivers/net/wireless/Kconfigindex 544aa86..3e1026d 100755--- a/kernel/drivers/net/wireless/Kconfig+++ b/kernel/drivers/net/wireless/Kconfig@@ -84,6 +84,10 @@ choice        config AP6210                bool "AP6210"                depends on RKWIFI+               +       config AP6212+               bool "AP6212"+               depends on RKWIFI         config AP6234                bool "AP6234"

在配置文件 rockchip_defconfig 中屏蔽旧 wifi 芯片,增加新的 wifi 芯片

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/kernel/arch/arm/configs/rockchip_defconfig+++ b/kernel/arch/arm/configs/rockchip_defconfig@@ -299,7 +299,7 @@ CONFIG_USB_SIERRA_NET=y CONFIG_RTL8188EU=y CONFIG_ESP8089=y CONFIG_RKWIFI=y-CONFIG_AP6335=y+# CONFIG_AP6335 is not set+CONFIG_AP6212=y # CONFIG_INPUT_MOUSEDEV is not set CONFIG_INPUT_EVDEV=y CONFIG_INPUT_KEYRESET=y

此时串口打印中会出现打开文件 fw_bcm43438a1.bin 失败,需要更新 wifi 模块固件。

[   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 固件路径:/external/wlan_loader/firmware

将模块供应商提供的固件文件拷贝到此目录下,然后编译烧录。

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

编译后,系统会将模块固件拷贝到 out/target/product/rk3288/system/etc//firmware/ 目录下

如果只是调试,可以通过 adb 将固件 push 到 /system/etc//firmware/ 目录下,然后重启。

kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c

wifi 驱动路径:kernel/net/rfkill/rfkill-wlan.c

如果器件升级,比如器件为AP6212A,供应商给的文件问 nvram_ap6212a.txt,则需要修改下面文件。(直接用以前的 nvram_ap6212.txt 也可以用,但文件不一样,不清楚)

路径:\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--- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c+++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c@@ -477,7 +477,7 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path)                                strcpy(&fw_path[i+1], bcm43438a0_fw_name[fw_type]);                        else if (chiprev == BCM43430A1_CHIP_REV)                                strcpy(&fw_path[i+1], bcm43438a1_fw_name[fw_type]);-                       strcpy(&nv_path[j+1], "nvram_ap6212.txt");+                       strcpy(&nv_path[j+1], "nvram_ap6212a.txt");break;                case BCM43340_CHIP_ID:                        if (chiprev == BCM43340B0_CHIP_REV)

BT 驱动中增添代码,支持 AP6212

BT 驱动路径: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--- a/kernel/net/rfkill/rfkill-bt.c+++ b/kernel/net/rfkill/rfkill-bt.c@@ -95,6 +95,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,7 +268,7 @@ 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);

 到此 AP6212 就可以正常使用了,但是不知道供应商提供的 BT 固件应该拷贝到哪里。

关于RK3288怎么添加WiFi和BT模块AP6212就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

RK3288怎么添加WiFi和BT模块AP6212

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

RK3288怎么添加WiFi和BT模块AP6212

这篇文章将为大家详细讲解有关RK3288怎么添加WiFi和BT模块AP6212,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CPU:RK3288系统:Android 5.1 注:系统中自带的
2023-06-05

怎么在iptables中添加connlimit模块

怎么在iptables中添加connlimit模块?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。注:2.6.23以前的内核版本默认不支持 connlimit 推荐规则 ip
2023-06-13

Springboot怎么添加本地模块依赖

本篇内容介绍了“Springboot怎么添加本地模块依赖”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!添加本地模块依赖这个真的困扰了我好几天
2023-06-29

安装apache后怎么添加代理模块

这篇文章主要介绍安装apache后怎么添加代理模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言:在安装完apache后,发现缺少一些必需的模块。因此需要自己手动来向apache中添加模块。我们以代理模块为例来介
2023-06-07

本地Apache服务器怎么添加php7模块

这篇文章主要讲解了“本地Apache服务器怎么添加php7模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“本地Apache服务器怎么添加php7模块”吧!Apache的一些基础命令Opti
2023-06-20

怎么在CentOS 6.3下给PHP添加mssql扩展模块

本篇内容主要讲解“怎么在CentOS 6.3下给PHP添加mssql扩展模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在CentOS 6.3下给PHP添加mssql扩展模块”吧!如果在L
2023-06-09

git-github子模块仓库更新及git中submodule子模块的添加、使用和删除方法是什么

这篇文章主要介绍“git-github子模块仓库更新及git中submodule子模块的添加、使用和删除方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“git-github子模块仓库更新及g
2023-07-05

laravel添加角色和模糊搜索功能怎么实现

这篇“laravel添加角色和模糊搜索功能怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“laravel添加角色和模糊
2023-07-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录