目錄 前 言 1 SDIO WIFI模塊測試 1.1 STA模式測試 1.2 AP模式測試 1.3 SDIO WIFI驅動編譯 前言 本文主要介紹基于創龍科技TLIMX6U-EVM評估板的物聯網模塊開發案例,適用開發環境: Windows開發環境:Windows 7 64bit、Windows 10 64bit 虛擬機:VMware15.1.0 Linux開發環境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2020.04 Kernel:Linux-5.4.70 Linux SDK:5.4.70_2.3.0 無特殊說明情況下,默認使用USB TO UART1作為調試串口,使用Linux系統啟動卡(SD啟動模式)啟動系統,通過路由器與PC機進行網絡連接。 創龍科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗處理器設計的評估板,由核心板和評估底板組成。核心板經過專業的PCB Layout和高低溫測試驗證,穩定可靠,可滿足各種工業應用環境。 評估板正面圖 1 SDIO WIFI模塊測試本案例使用SDIO WIFI模塊型號為:RTL8189,請將SDIO WIFI模塊插至評估板SDIO接口,如下圖所示。 ![]() SDIO WIFI模塊支持STA和AP模式,具體說明如下: (1) STA模式:在STA工作模式下,WIFI模塊可接收來自無線路由器發出的信號,實現通過路由器連接互聯網。 (2) AP模式:在AP工作模式下,WIFI模塊會創建一個無線局域網熱點,手機、電腦等設備可通過此熱點組建局域網。 本案例測試程序位于產品資料“4-軟件資料\Demo\module-demos\sdio_wifi_test\”目錄下,具體說明如下。表 1
請將bin目錄下所有文件和driver目錄下8189fs.ko驅動文件拷貝至評估板文件系統任意相同路徑下,并將SDIO WIFI模塊正確連接至評估板SDIO接口。由于SDIO接口與Micro SD接口存在引腳復用關系,因此請務必將Linux系統啟動卡從評估板Micro SD卡槽中取出。將評估板啟動方式選擇撥碼開關撥為011000(1~6),此檔位為NAND FLASH啟動模式。 1.1 STA模式測試進入評估板文件系統,在SDIO WIFI模塊驅動8189fs.ko所在路徑下,執行如下命令加載驅動。 Target# insmod 8189fs.ko ![]() ![]() 執行如下命令關閉其他網絡和wpa_supplicant進程,僅保留WIFI網絡。 Target#ifconfig eth0 down Target#ifconfig eth1 down Target#killall -9 wpa_supplicant Target#ifconfig wlan0 up Target#ifconfig ![]() 在wifi_setup.sh文件所在路徑下執行如下命令,將評估板通過WIFI模塊連接至路由器。"-i"指定WIFI名稱,"-p"指定WIFI密碼,請根據實際情況修改。 Target#./wifi_setup.sh -i Tronlong-test -p omapl138 ![]() 執行如下命令查看獲取的IP地址,并通過ping命令測試評估板與PC機通信是否正常。192.168.1.100為PC機實際IP地址,請確保評估板與PC機在同一局域網內。 Target#ifconfig Target#ping 192.168.1.100 ![]() 在評估板文件系統執行如下命令,查看評估板IP地址,使用Iperf3工具測試評估板與PC機的網絡通信帶寬。 Target#ifconfig Target#iperf3 -s ![]() 在Ubuntu系統執行如下命令測試網絡通信帶寬,192.168.1.103為評估板實際IP地址。測試完成后,Ubuntu和評估板均會打印測試結果。測試結果受網絡環境影響,僅供參考。 Host#iperf3 -c 192.168.1.103 -i 1 ![]() ![]() 1.2 AP模式測試請重啟評估板系統,在SDIO WIFI模塊驅動8189fs.ko所在路徑下執行如下命令加載驅動。 Target# insmod 8189fs.ko ![]() ![]() 執行如下命令關閉其他網絡和wpa_supplicant進程,僅保留WIFI網絡。 Target#ifconfig eth0 down Target#ifconfig eth1 down Target#killall -9 wpa_supplicant Target#ifconfig wlan0 up Target#ifconfig ![]() 在ap_setup.sh文件所在路徑下執行如下命令,將SDIO WIFI模塊設置為AP模式。 Target#./ap_setup.sh ![]() 如啟動AP功能過程中,出現如下問題,是由于random熵不夠引起,需重啟評估板,執行如下命令更換熵池,再重新測試。 Target# mv /dev/random /dev/random_ori Target# ln -s /dev/urandom /dev/random ![]() ![]() 程序默認設置的WIFI名稱為:rtl8188fs,密碼為:88888888,可在rtl_hostapd_2G.conf配置文件內進行修改。 將具有WIFI功能的PC機(比如筆記本電腦或裝有USB WIFI的臺式電腦)連接至此無線局域網熱點,并斷開已有的有線網絡連接。連接成功后,串口調試終端將會打印如下信息,顯示Ubuntu已分配的IP地址。如使用虛擬機 + Ubuntu的開發方式,將會獲取到兩個IP地址,其中一個為Windows端IP地址,一個為Ubuntu端IP地址。 ![]() 執行如下命令測試無線局域網設備之間網絡連接是否正常。若出現連接超時或失敗,可嘗試關閉PC機防火墻后再次連接。 Target#ping 192.168.0.21 //192.168.0.21為Ubuntu端IP地址 ![]() 在評估板文件系統執行如下命令,查看評估板IP地址并等待PC機連接。 Target#ifconfig Target#iperf3 -s 在Ubuntu系統執行如下命令測試網絡通信帶寬,192.168.0.1為評估板實際IP地址。測試完成后,Ubuntu和評估板均會打印測試結果。測試結果受網絡環境影響,僅供參考。 Host#iperf3 -c 192.168.0.1 -i 1 ![]() ![]() 測試完成,請將評估板斷電,拔出SDIO WIFI模塊,將Linux系統啟動卡插入Micro SD卡槽,啟動方式選擇撥碼開關撥為010100(1~6) SD啟動模式。 1.3 SDIO WIFI驅動編譯請將案例src目錄下的驅動源碼rtl8189FS.tar.gz拷貝至Ubuntu工作目錄下,執行如下命令將源碼壓縮包解壓至該目錄下。 Host#tar -xf rtl8189FS.tar.gz ![]() 執行如下命令,進入驅動源碼目錄,修改頂層Makefile文件 Host#cd rtl8189FS/ Host#vim Makefile ![]() Makefile文件內容請按如下說明進行修改。 KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定內核源碼實際路徑 ![]() 在驅動源碼所在路徑執行如下命令,使能SDK環境變量并編譯SDIO WIFI驅動。 Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi Host#make ![]() ![]() 編譯完成后,即可在當前路徑下生成驅動鏡像。 |