上海潤(rùn)欣科技股份有限公司創(chuàng)研社
導(dǎo)語(yǔ):越來(lái)越多的IOT應(yīng)用場(chǎng)景中需要使用4G模塊,而在有些特定的場(chǎng)合需要把4G上網(wǎng)能力轉(zhuǎn)化wifi功能,比如說(shuō)無(wú)人機(jī)中視頻傳輸,以及打印機(jī)行業(yè)中都有類似的應(yīng)用案例,以便更好的提供給更多的客戶端去使用。為了更節(jié)省成本,我們把4G模塊中Opencpu 利用起來(lái),結(jié)合硬件的SDIO接口去實(shí)現(xiàn)wifi上網(wǎng)功能。
本文將基于EC20 EC20CEFAG Opencpu Linux 3.18.20版本硬件搭載高通QCA9377來(lái)實(shí)現(xiàn)WIFI上網(wǎng)功能。
OPENCPU簡(jiǎn)介
OPENCPU是一個(gè)基于高通MDM9x07為用戶提供的二次開(kāi)發(fā)平臺(tái),節(jié)省成本,目的是幫助客戶更快的開(kāi)發(fā)部署應(yīng)用程序,并提供更加豐富的外設(shè)接口,同時(shí)可簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā)工作。
1.1系統(tǒng)框架
OPENCPU平臺(tái)系統(tǒng)架構(gòu)如下,分為L(zhǎng)inux Distribution 和 Development Environment兩部分,其中LINUX Distribution為平臺(tái)底層相關(guān),而Development Environment主要是用于平臺(tái)上層應(yīng)用開(kāi)發(fā)所用,用戶程序可以通過(guò)調(diào)用高通所提供的中間適配層或直接調(diào)用C Runtime Library相關(guān)庫(kù)函數(shù)實(shí)現(xiàn)相關(guān)功能。

系統(tǒng)框架圖
接下來(lái)就是講解如何移植QCA9377 wifi驅(qū)動(dòng)。
1.2 SDK開(kāi)發(fā)包介紹
SDK開(kāi)發(fā)包包含如下圖內(nèi)容:


模塊提供2個(gè)SDIO接口(SDC1和SDC2),都是4-bit 雙向傳輸,其中SDC1可以作為Wi-Fi接口,而SDC2是專用的SD卡接口。
1.3程序編譯及運(yùn)行調(diào)試
在SDK目錄下:cd ql-ol-crosstool/
設(shè)置編譯環(huán)境:source ql-ol-crosstool-env-init

檢查是否設(shè)置成功:arm-oe-linux-gnueabi-gcc -v

修改配置
第一步:進(jìn)入配置環(huán)境
$make kernel_menuconfig

選擇支持wifi支持的相關(guān)配置,最后.config 的配置如下:

這里CONFIG_CFG80211=y 這里wifi驅(qū)動(dòng)端編譯不需要backports。
編譯測(cè)試
以上操作完成后就是編譯源碼了。
$ make -j8
Linux 內(nèi)核編譯成功。下一步就是編譯高通wifi QCA9377 wifi 驅(qū)動(dòng)。
WIFI驅(qū)動(dòng)編譯
由于高通的MDM9X07平臺(tái) Linux內(nèi)核添加了高通wifi的特性的相關(guān)代碼:如圖所示:這部分代碼相比較如其他的常規(guī)的Linux 內(nèi)核是沒(méi)有的。

QCA9377編譯:
進(jìn)入wifi驅(qū)動(dòng)目錄:修改
進(jìn)入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/
后進(jìn)行make 編譯成功后,在image 目錄下生成wlan.ko
同時(shí)在把對(duì)應(yīng)的固件放置在如下位置:在系統(tǒng)中/lib/firmware目錄下存放如下:
bdwlan30.bin //模塊對(duì)應(yīng)校準(zhǔn)文件
qwlan30.bin
otp30.bin
wifi 配置文件:對(duì)應(yīng)目錄為:
/lib/firmware/wlan目錄
cfg.dat
qcom_cfg.ini
WIFI加載測(cè)試
測(cè)試驅(qū)動(dòng)是否加載成功:


驅(qū)動(dòng)版本

有以上信息表示驅(qū)動(dòng)配置成功,接下來(lái)就是測(cè)試STA功能,啟動(dòng)station連接熱點(diǎn)。

測(cè)試上網(wǎng)功能:

一切正常,4G模塊Opencpu下加載wifi 成功。
-
4G模塊
+關(guān)注
關(guān)注
1文章
75瀏覽量
10505
發(fā)布評(píng)論請(qǐng)先 登錄
4G頻段物聯(lián)網(wǎng)天線通信模塊方案選型與應(yīng)用指南解析
GD01C 4G路由模組:串口轉(zhuǎn)4G/WiFi/網(wǎng)口通信
SkyOne? LiTE 中/高頻帶前端模塊,帶 3G/4G 功率放大器,適用于 LTE 應(yīng)用 skyworksinc
實(shí)戰(zhàn)Air780EPM:構(gòu)建4G共享網(wǎng)關(guān),服務(wù)WiFi與有線設(shè)備!
通信模塊(4G / 以太網(wǎng))斷聯(lián)除了模塊壞還有哪些原因?
基于 4G 技術(shù)的物流車車載監(jiān)控系統(tǒng)解決方案設(shè)計(jì)與實(shí)現(xiàn)
4G互傳模塊:不限距離無(wú)線對(duì)傳開(kāi)關(guān),PLC遠(yuǎn)程控制
SkyOne? 汽車多模多頻段前端模塊,用于 4G LTE 和 4G LTE-A(下行鏈路載波聚合 (CA) 應(yīng)用) skyworksinc
4G全網(wǎng)通網(wǎng)關(guān)是什么?有什么功能?
溫度采集模塊 4G全網(wǎng)通
4G DTU 無(wú)線數(shù)傳模塊:RS232/485轉(zhuǎn)4G,穩(wěn)定不宕機(jī)
用于 4G 和 5G 應(yīng)用的 Sky5? UHB 前端模塊 skyworksinc
Sky5? 低、中、高頻段前端模塊,適用于 4G/5G 應(yīng)用 skyworksinc
用于 4G 和 5G 應(yīng)用的 Sky5? 前端模塊 skyworksinc
雷卯收集4G/WIFI無(wú)線傳輸產(chǎn)品開(kāi)發(fā)板
Quectel 4G模塊Opencpu中實(shí)現(xiàn)高通wifi功能
評(píng)論