平台RK3288 Android5.1

最近由于硬件升级换芯片,WIFI模块换成AP6256,用原来的默认配置发现wifi和蓝牙都不能用。

首先查看SDIO是否正常通讯。有如下打印信息,说明通讯是正常的

[    2.263209] mmc2: new high speed SDIO card at address 0001

查询资料发现WIFI和蓝牙不同的型号会加载不同的固件。开机或打开WIFI时的会有如下的打印信息:

[  262.657531] dhd_bus_devreset: == WLAN ON ==

[  262.658134] F1 signature read @0x18000000=0x15294345

[  262.667091] F1 signature OK, socitype:0x1 chip:0x4345 rev:0x9 pkg:0x2

[  262.668922] DHD: dongle ram size is set to 819200(orig 819200) at 0x198000

[  262.669577] dhdsdio_probe_init: set use_rxchain 1 from config.txt

[  262.670011] dhd_conf_read_config: Ignore config file /system/etc/firmware/config.txt

[  262.670117] dhd_conf_set_fw_name_by_chip: firmware_path=/system/etc/firmware/fw_bcm4329.bin

[  262.670197] Final fw_path=/system/etc/firmware/fw_bcm4329.bin

[  262.670218] Final nv_path=/system/etc/firmware/nvram_AP6210.txt

[  262.670232] Final conf_path=/system/etc/firmware/config.txt

继续找资料,并拿到了一个AP6255-AP6256版本兼容的说明,发现6256的固件有以下几个相关文件

fw_bcm43456c5_ag.bin

fw_bcm43456c5_ag_apsta.bin

nvram_ap6256.txt

config.txt

查询源码,并没有发现这些文件, dts及源码相关选项也没有6256内容,可能拿到的SDK中硬件支持没有做到6256。那么自己动手添加。

1 . 将上面的文件拷贝到如下路径

external/wlan_loader/firmware

2. 关联dts及文件加载。

wifi_chip_type = "bcmwifi";

Dts中有wifi_chip_type用来加载wifi型号的,查看rk文档bcmwifi是个自适应的配置,这里我偷懒直接用了AP6335的(正常可以自己添加AP6256的选项)

修改dts为

wifi_chip_type = " ap6335";

3. 修改ap6335默认加载文件

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

将原来的修改为6256的文件

if (chip == WIFI_AP6335) {// sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm4339a0_ag.bin");//sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6335.txt");sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43456c5_ag.bin");sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_ap6256.txt");}

重新编译烧写后,开机打印正常加载设置的固件,但是设置界面打开WIFI却加载的其他固件,这块没仔细去研究RK的流程。应该还有地方没改到

继续研究打印信息,发现如下信息

[   12.811074] dhd_conf_read_nv_by_chip: chip=0x4345, chiprev=6, name=nvram_ap6255.txt

[   12.811082] dhd_conf_read_nv_by_chip: chip=0x4345, chiprev=9, name=nvram_ap6256.txt

看了系统读取芯片ID成功,6256的chiprev=9,可能这个地方加载有问题。找到这个文件进行修改。

4. 在以下文件添加43456相关加载内容

/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c

添加定义

#define BCM43456C5_CHIP_REV     9

添加加载文件数组

const static char *bcm43456c5_ag_fw_name[] = {"fw_bcm43456c5_ag.bin","fw_bcm43456c5_ag_apsta.bin",// "fw_bcm43455c0_ag_p2p.bin",^M// "fw_bcm43455c0_ag_mfg.bin"^M};

修改函数dhd_conf_set_fw_name_by_chip,添加相关内容

case BCM4345_CHIP_ID:if (chiprev == BCM43455C0_CHIP_REV)^Mstrcpy(&fw_path[i+1], bcm43455c0_ag_fw_name[fw_type]);
//添加以下内容else if(chiprev == BCM43456C5_CHIP_REV)//strcpy(&fw_path[i+1], bcm43456c5_ag_fw_name[fw_type]);break;

重新编译烧写后,WIFI工作正常。

蓝牙修改

  1. 将固件BCM4345C5.hcd拷贝到vendor/rockchip/common/bluetooth/lib/firmware
  2. 以下文件添加蓝牙加载固件路径及名称

device/common/bluetooth/libbt/conf/rockchip/rk30sdk/bt_vendor.conf

FwPatchFileName = BCM4345C5.hcd

3.默认名称修改
path:device/rockchip/rk3288/bluetooth/bdroid_buildcfg.h
#define BTM_DEF_LOCAL_NAME    "XXXX"

蓝牙工作正常!

固件可到如下链接下载,如积分不够,可私信我(不一定能及时看到哦。。)

AP6255-AP6256固件及android linux版本兼容

RK3288 android5.1 增加AP6256 调试wifi和蓝牙相关推荐

  1. 2020-02-24 RK3288 Android7.1 5.1 增加AP6256 WI-FI Bluetooth调试记录

    RK3288 Android7.1 5.1 增加AP6256 WI-FI Bluetooth调试记录 一.硬件连接图,AP6335.AP6255.AP6256 Pin对Pin,可以直接替换. 二.原本 ...

  2. RK3288 Android5.1 RTL8723DS WIFI/BT模块移植 以及AP6XXX模块与RTL8723DS模块做兼容

    一.rk3288 android5.1 rtl8723ds移植 瑞芯微对RK3288 Android7.1的SDK已经集成了RTL8723DS的模块并做了wifi模块的兼容,但是android5.1并 ...

  3. RK3288的GTxx触摸屏驱动调试

    电容屏是在LCD屏上覆盖一个透明的矩阵键盘,在调试goodix gt9xx系列触控屏的驱动时,会遇到各种问题! 1.linux启动时,触控屏驱动偶尔不能加载固件信息. 2.在使用过程中偶尔不能触发或触 ...

  4. 调试wifi转串口的板子成功了

    今天下班回到家就开始调我在淘宝上买的wifi转串口的板子,到目前为止算是调通了.回头就是编写arduino的串口通信程序了.这样的话,我的手机智能家局系统很快就可以完成了.下边是调试wifi转串口板子 ...

  5. RK3288 Android5.1配置Innolux M215HJJ-L30 LVDS屏

    RK3288 Android5.1 SDK,Rockchip官方提供. Innolux M215HJJ-L30 21.5寸LVDS屏,需要在rk3288-tb_8846.dts配置的主板上点亮,在网上 ...

  6. 奇怪的知识又增加了8——Wi-Fi

    奇怪的知识又增加了8--Wi-Fi Wi-Fi 信号强度检测工具 一个检测脚本 linux命令 WiFi定位 非常详细的WiFi各种知识介绍:一文搞懂WiFi的所有知识点 为做一些WiFi信号强度检测 ...

  7. 智能家居无线方案ZIGBEE、Z-Wave、WIFI、蓝牙、红外、GPRS以及NB-IOT对比

    无线取代有线已经成为一个不可逆转的趋势,在智能家居行业最流行的是四种无线技术,即WiFi.Z-Wave.ZigBee.SmartRoom.其中WiFi技术和ZigBee这两种技术最值得竞争.那么WiF ...

  8. 关闭苹果无线服务器,苹果iOS11 WiFi、蓝牙无法关闭怎么回事?附彻底关闭方法...

    iOS 11版本更新给用户带来了不少全新功能,不过随着正式版登场后,一些问题也开始慢慢浮出水面,其中无法在控制中心彻底关闭WiFi和蓝牙功能更是被iPhone用户吐槽不已.这个早在六月份已经被不少玩家 ...

  9. win7 蓝牙4.0 ble驱动_恩智浦发布行业领先的2x2 Wi-Fi 6 +蓝牙解决方案,彻底改变游戏、音频、工业和物联网市场...

    原标题:恩智浦发布行业领先的2x2 Wi-Fi 6 +蓝牙解决方案,彻底改变游戏.音频.工业和物联网市场 恩智浦半导体(NXP Semiconductors N.V.)近日宣布推出2x2 Wi-Fi ...

最新文章

  1. NLP中关键字提取方法总结和概述
  2. 常考的 21 条 Linux 命令
  3. jaxb util_JAXB自定义绑定– Java.util.Date / Spring 3序列化
  4. WINFORM應用程式的主進入點和清除資源
  5. (JAVA)获取对象
  6. 多方法接口回调_浅析接口定义和接口回调
  7. 国内少有的Flutter干货分享:Flutter的原理及美团的实践!
  8. Android WebView示例教程
  9. oracle聚合字符串,Oracle 聚合字符串
  10. 我在CSDN上使用了大半年的账号最后不属于自己,纵有疾风起,人生不言弃
  11. python传奇自动打怪脚本_GOM引擎内挂自动挂机打怪脚本实例
  12. 信号完整性分析学习--15--传输线
  13. 广义预测控制及其matlab仿真,广义预测控制(GPC).doc
  14. 媒体查询、移动端、网页响应式布局
  15. 【Linux应用】Clonezilla使用指南
  16. RxSwift 学习:基础使用篇 - 序列 订阅 销毁
  17. 物联网基础设施安全防护
  18. 【QCM2150】WCN3680 WFA认证11ac AP 4.2.23测试FAIL
  19. OpenMp之sections用法
  20. uefi启动 多硬盘gtp_UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统

热门文章

  1. python matplotlib画抛物线和一次函数图像
  2. 如何打造业务系统的数据生产力
  3. 【印度经济】一口气了解印度经济
  4. 7-1 买鸡问题 (10 分)
  5. 图片查看器:Android支持图片查看、缩放、滑动的PhotoView
  6. react-native 学习(一)
  7. Makefile里面的$(MAKE)
  8. kafka带kerberos和sasl安全认证:命令行消费指定topic数据
  9. 商业化广告--体系学习-- 4 -- 行业蓝图篇 -- 广告产品的变化与发展趋势
  10. 一滴泪水能够承载多少的爱?