arm oe linux gnueabi 系统,【技术分享】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微信公众号
arm oe linux gnueabi 系统,【技术分享】Quectel 4G模块Opencpu中实现高通wifi功能相关推荐
- arm oe linux gnueabi 系统,[MDM9X07] ME3610/3630开发环境快速搭建
说明 ME3610/3630基于Arm linux, 在上位机开发POC应用需要配置交叉编译环境 步骤 1 资料 基础包和依赖库环境都在百度网盘: ** 4G模块>ME3610 ME3630 * ...
- arm oe linux gnueabi 系统,OpenCV ARM移植(交叉编译opencv) arm-oe-linux-gnueabi-gcc编译opencv3.1.0...
Cmake的安装 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. ubuntu下安装cmake比较简单, apt-get install cm ...
- arm oe linux gnueabi 系统,交叉编译移植openssl
交叉编译openssl静态库步骤: 1.解压源码 tar xf openssl-1.1.1a.tar.gz 2.进入到解压后的源码目录 cd openssl-1.1.1a/ 3.配置Makefile ...
- 基于Arm板linux嵌入式系统RS485串口读写通讯
最近在做基于Arm板linux嵌入式系统的RS485串口读写通讯首先参考 http://bbs.chinaunix.net/thread-3650543-1-1.html上的文章,该文章写道,读的时候 ...
- 迅为干货 | Linux系统移远EC20 4G模块移植方法
硬件平台:迅为i.MX6Q开发板 1. 4G网络连接 对于嵌入式Linux而言,4G网络连接是一个比较容易实现的功能,大多数的4G模块接口都是MiniPCIE接口,但是深入了解一下就会发现,4G模块的 ...
- freescale imx6 编译 linux ltib,TQIMX6Q技术分享——LTIB安装配置(转)
TQIMX6Q_BASEC开发板是天嵌科技在2015年重磅推出的顶级开发平台,采用飞思卡尔的I.MX6Q芯片,真四核运行,1G Hz主频,2G DDR3内存,8G EMMC FALSH.TQIMX6Q ...
- 嵌入式linux驱动开发之移远4G模块EC800驱动移植指南
回顾下移远4G模块移植过程, 还是蛮简单的.一通百通,无论是其他4G模块都是一样的.这里记录下过程,分享给有需要的人.环境使用正点原子的imax6ul开发板,板子默认支持中兴和移远EC20的驱动,这里 ...
- linux v4l2 示例程序,linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)...
在上一篇文章中介绍了camera的基础知识和相关概念,我们一起来了解一下驱动相关的代码结构.本文以高通+android平台为示例,首先看一下整体框图: 这张图是从整体上来看的 1,图中最下面的是ker ...
- linux驱动由浅入深系列:camera驱动之二(基于高通平台的V4L2结构及代码分析)
在上一篇文章中介绍了camera的基础知识和相关概念,我们一起来了解一下驱动相关的代码结构.本文以高通+android平台为示例,首先看一下整体框图: 这张图是从整体上来看的 1,图中最下面的是ker ...
最新文章
- 10 个 Python 工程师,9 个不合格!
- php采集分析,PHP采集程序原理分析篇
- JVM实战与原理---内存区域分配
- 【Python基础】超级详解系列-Python列表全面解析
- OpenCASCADE:Modeling Data之形状的属性
- burpsuite插件的使用
- js的with语句使用方法
- java和python对比----1:
- 通配符在DNS系统中的应用
- 高效神器!小目标检测迎来曙光!SSPNet金字塔网络!川大出品
- 谷歌拟收购Firework 火拼短视频应用市场
- Illumina联手IBM Watson Health解读癌症基因谱
- 土豆首页图片延迟加载的效果
- matlab建立子程序,怎么实现matlab子程序的放置以及调用
- 十五道Python小案例,学会这些,Python基础已过关!
- 最低成本DIY视频遥控车方案:ESP32-CAM视频遥控车
- error An unexpected error occurred: “https://registry.npmjs.org/react: ETIMEDOUT“.
- iPhone如何开启头部追踪功能 iPhone头部追踪功能使用方法
- css之“css3的新特性”
- 第四章:Android灯光系统(6)-背光灯
热门文章
- httpclient base64 文件上传_选择HttpClient还是OkHttp?
- python案例教程黄蔚答案_Python编程案例教程
- python设置路径_Python探索之修改Python搜索路径
- 启明云端分享|ESP32-C3选型参考
- linux 限制单个ip流量,centos 的單ip流量控制-CentOS下利用iptables限速及限制每IP連接數...
- Altium Designer中敷铜间距修改问题
- NXP I.MX6ULL 交叉编译工具链下载地址?
- 高焦耳贴片压敏电阻,有哪些?
- java简易计算器考察什么_练习:用java写一个简易计算器
- 正点原子stm32f407开发板pcb图_#试用名单公布#正点原子ARM Linux开发板I.MX6ULL