上海润欣科技股份有限公司创研社
导语:越来越多的iot应用场景中需要使用4g模块,而在有些特定的场合需要把4g上网能力转化wifi功能,比如说无人机中视频传输,以及打印机行业中都有类似的应用案例,以便更好的提供给更多的客户端去使用。为了更节省成本,我们把4g模块中opencpu 利用起来,结合硬件的sdio接口去实现wifi上网功能。
本文将基于ec20 ec20cefag opencpu linux 3.18.20版本硬件搭载高通qca9377来实现wifi上网功能。
opencpu简介
opencpu是一个基于高通mdm9x07为用户提供的二次开发平台,节省成本,目的是帮助客户更快的开发部署应用程序,并提供更加丰富的外设接口,同时可简化应用程序的开发工作。
1.1系统框架
opencpu平台系统架构如下,分为linux distribution 和 development environment两部分,其中linux distribution为平台底层相关,而development environment主要是用于平台上层应用开发所用,用户程序可以通过调用高通所提供的中间适配层或直接调用c runtime library相关库函数实现相关功能。
系统框架图
接下来就是讲解如何移植qca9377 wifi驱动。
1.2 sdk开发包介绍
sdk开发包包含如下图内容:
模块提供2个sdio接口(sdc1和sdc2),都是4-bit 双向传输,其中sdc1可以作为wi-fi接口,而sdc2是专用的sd卡接口。
1.3程序编译及运行调试
在sdk目录下:cd ql-ol-crosstool/
设置编译环境:source ql-ol-crosstool-env-init
检查是否设置成功:arm-oe-linux-gnueabi-gcc -v
修改配置
第一步:进入配置环境
$make kernel_menuconfig
选择支持wifi支持的相关配置,最后.config 的配置如下:
这里config_cfg80211=y 这里wifi驱动端编译不需要backports。
编译测试
以上操作完成后就是编译源码了。
$ make -j8
linux 内核编译成功。下一步就是编译高通wifi qca9377 wifi 驱动。
wifi驱动编译
由于高通的mdm9x07平台 linux内核添加了高通wifi的特性的相关代码:如图所示:这部分代码相比较如其他的常规的linux 内核是没有的。
qca9377编译:
进入wifi驱动目录:修改
进入qcacld-2.0 修改makefile
kernel_src ?=
/home/dhwang/work/linux_kernel/quectel_kernel/quectel_ol_kernel/
以及
mod_path ?=
/home/dhwang/work/linux_kernel/quectel_kernel/wlan/qcacld-2.0/
后进行make 编译成功后,在image 目录下生成wlan.ko
同时在把对应的固件放置在如下位置:在系统中/lib/firmware目录下存放如下:
bdwlan30.bin //模块对应校准文件
qwlan30.bin
otp30.bin
wifi 配置文件:对应目录为:
/lib/firmware/wlan目录
cfg.dat
qcom_cfg.ini
wifi加载测试
测试驱动是否加载成功:
驱动版本
有以上信息表示驱动配置成功,接下来就是测试sta功能,启动station连接热点。
测试上网功能:
一切正常,4g模块opencpu下加载wifi 成功。
温度报警电路分享
苹果A13芯片订单花落台积电 台积电未来全球市场占有率或超60%
光模块迎来巨大机遇,中国电信集团将首次启动光模块集采
关于超级电容器分类的详细介绍(二)
iPhone7“换壳重生”换个红色就是新机? 我依然期待小米6!
Quectel 4G模块Opencpu中实现高通wifi功能
SK海力士提升为集团子公司的“利与弊”
为什么大部分手机供应商都不更新Linux内核?
plc与输出设备的连接方法
导轨腐蚀磨损现场快速修复方法
电源完整性之PDN仿真有哪些注意事项?
LDO电路基本结构及工作原理分析
TE Connectivity的FPS2800机油特性传感器测量机油的多种特性
更大更好!索泰新款背包PC“VR GO” 预期售价2000美元
中国移动正式发布智慧中医云在线互联网中医平台
首台搭乘华为鲲鹏的PC电脑正式发布,但面向采购市场
小宅z4怎么样 入门级VR产品
华为P40强势来袭,2K曲面屏+麒麟990+6400万五摄
苹果可折叠铰链机制设计曝光,可避免显示屏幕出现折痕
链表的基础知识