S5p4418平台AP6212 WIFI稳定性的解决过程
平台:
s5p4418, ubuntu-core(14.04), WIFI(AP6212)
一、问题描述:
WIFI(AP6212)作为ap模式时, 手机有时搜索不到WIFI热点。(测了五块板子,每块板子重启10次,其中三块大约有3-4次搜索不到板子的WIFI热点)
二、解决过程:
1. 更新原厂提供的驱动版本
1.1 根据原厂提供的< AP6212新旧版兼容说明.pdf> 修改,发现原厂提供的.bin文件和其他文件并不能更新驱动版本。
1.2 同原厂沟通,原厂重新提供了一份WIFI驱动的源代码bcmdhd.1.201.59.x.cn, 用于加入到内核kernel-3.4.39
1.3 把bcmdhd.1.201.59.x.cn加入到内核源码kernel-3.4.39的过程:
1.3.1把bcmdhd.1.201.59.x.cn目录下的文件,替换掉kernel-3.4.39/drivers/net/wireless/bcmdhd 目录下所有的文件。
1.3.2 跟根据原理图修改了dhd_gpio.c中的gpio_wl_reg_on和gpio_wl_host_wake的值,如下图所示:
1.3.3. 编译上述修改的linux内核源码,得到uImage,并制作成boot.img; 发现WIFI并没有起来。
部分错误log如下:
测量gpio_wl_reg_on和gpio_wl_host_wake两处引脚电压都为3.3v
经分析应该是MMC检测错误.
1.4 修改MMC驱动
1.4.1 修改kernel-3.4.39/drivers/net/wireless/bcmdhd/dhd_gpio.c 中的dhd_wlan_set_carddetect 函数
替换为:
1.4.2修改kernel-3.4.39/drivers/net/wireless/bcmdhd/dhd_gpio.c 中的force_presence_change 函数声明.
//extern void force_presence_change(struct platform_device *dev, int state);
修改为:
extern void force_presence_change(/*struct platform_device *dev, */int state);
1.4.3 编译内核得到uImage ,并制作boot.img
经测试,新版本驱动已更新成功,从1.201.59.06更新到1.201.59.11
1.5 新版本驱动已更新成功,测试之后发现仍然存在以下问题:
1.5.1 手机有时搜索不到WIFI热点,具体如下:
测了五块板子,每块板子重启10次,其中三块大约有3-4次搜索不到板子的WIFI热点
1.5.2 经测试分析,搜索不到WIFI热点分为以下两种情况:
a) u-boot启动成功,内核并没有加载, 此时发现电流偏低,测试当然搜索不到WIFI热点
b) 发现系统已启动,命令查看wlan0均已加载成功,有时候手动关闭wlan,再次打开之后,可以搜索得到
WIFI热点; 但有时候这种操作依然搜索不到
2. 解决系统没有启动的问题.
解决方案:电源供电,在WIFI电源部分增加一个电容蓄电
结果:
1) 发现内核没加载成功的情况基本解决
2) 发现系统已启动,命令查看wlan0均已加载成功, 测了五块板子,每块板子重启10次,其中三块大约有1-2次搜索不到板子的WIFI热点
3. 解决系统已启动,WIFI驱动加载成功,但是不稳定的问题
查看各种配置文件
结果,还是没有完全解决!!!
4.重新对WIFI原理图检查,发现 7脚bt-host-wake需要加一个上拉电阻
(原厂协助检查)
5. 发现CONFIG_MMC_DW_IDMAC没有去掉,把CONFIG_MMC_DW_IDMAC去掉
去掉重新编译内核uImage,制作成boot.img
6. 替换fw_bcm43438a1.bin为fw_bcm43438a1_apsta.bin
原厂建议:
是客戶的op_mode設置錯了 NG: [ 7.356000] Final fw_path=/etc/firmware/fw_bcm43438a1.bin [ 7.610000] Firmware up: op_mode=0x0005, MAC=8c:f7:10:0f:af:ce OK: [ 10.034000] Final fw_path=/etc/firmware/fw_bcm43438a1.bin [ 10.193000] Firmware up: op_mode=0x0002, MAC=8c:f7:10:0f:af:dc 建議客戶用AP mode時就用fw_bcm43438a1_apsta.bin,而不是用fw_bcm43438a1.bin |
操作步骤:
修改linux kernel的.config配置文件
cd /home/kernel-3.4.39/
vim .config
然后重新编译内核生成uImage,制作成boot.img
自此,WIFI稳定性能已解决!
S5p4418平台AP6212 WIFI稳定性的解决过程相关推荐
- 设置计算机在睡眠状态下能共享,使用wifi共享精灵的过程中电脑会自动休眠锁屏的解决方法...
我在使用wifi共享精灵的过程中经常是这样做:电脑一直开着,然后自己躺在床上用手机看小说.看韩剧.但几十分钟之后,电脑会因为长期没人操作而自动休眠,从而导致wifi连接不上,要是每次重启软件又太费事, ...
- android的wifi网卡移植详细过程已经通用驱动的问题
这里有一篇详细的教程,看完还有一个问题 就是android的wifi驱动移植,如果有wifi网卡的驱动代码,是一定需要对android系统本身的代码修改重写编译吗?就是说,有无可能不改变android ...
- php curl p12证书处理,PHP如何支持CURL字符串证书传输(详细解决过程)
背景 最近在对接微信支付的时候,需要在退款处用到证书,由于我们是SAAS平台,要支持多方多渠道支付,如果把所有证书文件保存在应用服务器会受到SLB的影响,会导致某台机器文件不同步而阻碍退款流程,但把文 ...
- bat批处理开发-wifi联网系列(5):wifi稳定性分析之日期时间比较及奇特数字的坑
公司wifi很不稳定,编写了个wifi断网后自动重连的批处理,主要包括:可用wifi查询.联网.wifi切换感知.自动检测及掉线重连,网络状态分析等功能. 上篇:bat批处理开发-wifi联网系列(4 ...
- 从应用到平台 – 云服务架构的演进过程
麦穗技术 屌丝程序员的自我对白 最新 Python 头条资讯 技术文章 LNMP 前端 设计模式 视频 软件 从应用到平台 – 云服务架构的演进过程 目录头条资讯2016年7月12日 转载自:http ...
- 基于I.MX6UL平台的WIFI模块AP6214A 驱动移植
基于I.MX6UL平台的WIFI模块AP6214A 驱动移植 IoT-6ULX简要介绍 IoT-6ULX,主要面向Internet Of Things应用,该产品集成了 ARM Cortex-A7 9 ...
- MySQL 遇到的死锁问_一个罕见的MySQL redo死锁问题排查及解决过程
原标题:一个罕见的MySQL redo死锁问题排查及解决过程 作者:张青林,腾讯云布道师.MySQL架构师,隶属腾讯TEG-基础架构部-CDB内核开发团队,专注于MySQL内核研发&相关架构工 ...
- 关于一台电脑无法搜索到另外一台电脑wifi热点的解决方法
背景:我自己的笔记本在重装系统后无法搜索到台式电脑分享的WiFi热点,但是在没有重装系统之前都是能搜索到并且连接上的.并且我的笔记本能搜索到除了我这台台式电脑分享到的任何信号,比如我的手机热点,我办公 ...
- 生产中NFS案例记录---写入权限解决过程
生产中NFS案例记录---写入权限解决过程 NFS配置要求: 1. 将oracle文件写入到NFS Server端,注意权限要与oracle端一致. 2. Oracle端目录文件所属用户为or ...
- 生产环境GC故障解决过程记录
2019独角兽企业重金招聘Python工程师标准>>> 排查了五六个小时,终于解决了GC的问题,记录一下希望可以帮到有需要的人,本文假定读者对GC知识有一定的了解 如果不了解可以先参 ...
最新文章
- 简述进程的启动、终止的方式以及如何进行进程的查看。
- 怎样通过css控制table的部分td
- java下载zip_从Servlet Java下载zip
- Codeforces 864E - Fire(dp)
- mongodb mysql 写_MongoDB与MySQL关于写确认的异同
- django不修改数据库创外键_Django——model(建表,增删改查,外键,多对多)
- 一个关于导出excel模板的实例
- Android 使用ViewPager实现view轮播效果,单个item分页样式,多个item分页样式,横向listview
- 基于java的数据结构学习——动态数组C++类模板(含拷贝构造,重载常见运算符)
- ip 十进制 整型 java_IP地址转换成10进制整数(zt)
- oracle硬解析和软解析
- Java_一致性哈希算法与Java实现
- DO,DTO,VO,POJO, Java 中的各种 O(bject)
- 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
- 基于jsp的网上作业批改系统
- Linux网卡驱动pcnet32.c的注释(AM79C9*系列网卡的驱动)
- Kubernetes 污点与容忍
- 接近8000字的Spring/Spring常用注解总结
- 我常去的几家GIS论坛
- Linux运维:现状、入门和未来之路【警醒自己】
热门文章
- 添加透明FLASH和FLASH大全
- Linux基础学习记录
- html右下角固定广告,jQuery右下角悬浮广告
- 常用值得收藏的网站/软件 持续更新中
- 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。...
- html在线围棋对战,闲情奕趣(基于html5的围棋应用)
- 浏览器野史 UserAgent列传
- 清华计算机系研究生刘艺华,2017年清华大学计算机系硕士录取名单
- [破解]Shark恒破解基础教程笔记
- 机器人弹性伸缩算法-专利技术交底书