導語:越來越多的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 成功。
-
4G模塊
+關注
關注
1文章
68瀏覽量
9109
發布評論請先 登錄
相關推薦
評論