導(dǎo)語:越來越多的IOT應(yīng)用場景中需要使用4G模塊,而在有些特定的場合需要把4G上網(wǎng)能力轉(zhuǎn)化wifi功能,比如說無人機中視頻傳輸,以及打印機行業(yè)中都有類似的應(yīng)用案例,以便更好的提供給更多的客戶端去使用。為了更節(jié)省成本,我們把4G模塊中Opencpu 利用起來,結(jié)合硬件的SDIO接口去實現(xiàn)wifi上網(wǎng)功能。
本文將基于EC20 EC20CEFAG Opencpu Linux 3.18.20版本硬件搭載高通QCA9377來實現(xiàn)WIFI上網(wǎng)功能。
OPENCPU簡介
OPENCPU是一個基于高通MDM9x07為用戶提供的二次開發(fā)平臺,節(jié)省成本,目的是幫助客戶更快的開發(fā)部署應(yīng)用程序,并提供更加豐富的外設(shè)接口,同時可簡化應(yīng)用程序的開發(fā)工作。
1.1系統(tǒng)框架
OPENCPU平臺系統(tǒng)架構(gòu)如下,分為Linux Distribution 和 Development Environment兩部分,其中LINUX Distribution為平臺底層相關(guān),而Development Environment主要是用于平臺上層應(yīng)用開發(fā)所用,用戶程序可以通過調(diào)用高通所提供的中間適配層或直接調(diào)用C Runtime Library相關(guān)庫函數(shù)實現(xiàn)相關(guān)功能。
系統(tǒng)框架圖
接下來就是講解如何移植QCA9377 wifi驅(qū)動。
1.2 SDK開發(fā)包介紹
SDK開發(fā)包包含如下圖內(nèi)容:
模塊提供2個SDIO接口(SDC1和SDC2),都是4-bit 雙向傳輸,其中SDC1可以作為Wi-Fi接口,而SDC2是專用的SD卡接口。
1.3程序編譯及運行調(diào)試
在SDK目錄下:cd ql-ol-crosstool/
設(shè)置編譯環(huán)境:source ql-ol-crosstool-env-init
檢查是否設(shè)置成功:arm-oe-linux-gnueabi-gcc -v
修改配置
第一步:進入配置環(huán)境
$make kernel_menuconfig
選擇支持wifi支持的相關(guān)配置,最后.config 的配置如下:
這里CONFIG_CFG80211=y 這里wifi驅(qū)動端編譯不需要backports。
編譯測試
以上操作完成后就是編譯源碼了。
$ make -j8
Linux 內(nèi)核編譯成功。下一步就是編譯高通wifi QCA9377 wifi 驅(qū)動。
WIFI驅(qū)動編譯
由于高通的MDM9X07平臺 Linux內(nèi)核添加了高通wifi的特性的相關(guān)代碼:如圖所示:這部分代碼相比較如其他的常規(guī)的Linux 內(nèi)核是沒有的。
QCA9377編譯:
進入wifi驅(qū)動目錄:修改
進入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
同時在把對應(yīng)的固件放置在如下位置:在系統(tǒng)中/lib/firmware目錄下存放如下:
bdwlan30.bin //模塊對應(yīng)校準(zhǔn)文件
qwlan30.bin
otp30.bin
wifi 配置文件:對應(yīng)目錄為:
/lib/firmware/wlan目錄
cfg.dat
qcom_cfg.ini
WIFI加載測試
測試驅(qū)動是否加載成功:
驅(qū)動版本
有以上信息表示驅(qū)動配置成功,接下來就是測試STA功能,啟動station連接熱點。
測試上網(wǎng)功能:
一切正常,4G模塊Opencpu下加載wifi 成功。
-
4G模塊
+關(guān)注
關(guān)注
1文章
68瀏覽量
9086
發(fā)布評論請先 登錄
相關(guān)推薦
評論