Quectel 4G模块Opencpu中实现高通wifi功能

润欣科技
关注

导语

越来越多的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驱动编译

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 成功。

文章来源:润欣科技Fortune微信公众号

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存