FETMX6ULL-C核心板基于NXP i.MX6ULL處理器開發設計,采用低功耗的ARM Cortex-A7架構,運行速度高達800MHz。原生支持8路UART、2路Ethernet、2路CAN總線、2路USB 、LCD等常用接口。并采用超小尺寸設計,核心板尺寸僅40*29mm,適應更多體積受限的應用場景。
為了方便用戶對核心板的性能及功能進行測試,飛凌提供了配套的功能評估板,將產品開發過程中常用的功能接口引出,比如說2路的Ethernet、2路的USB、2路的CAN以及4路的UART、2路的SPI和2路的IIC,同時這里還預留了顯示的LCD接口以及4G模組、WIFI模組的插槽等。

OK6ULL-C開發板接口圖
本文以幫助用戶快速熟悉產品、了解接口功能和測試方法為目的,主要講述飛凌i.MX6ULL開發板WiFi接口功能的測試方法,以及使用過程中出現的一些問題如何排查。在測試過程中,對一些命令進行了注釋,方便用戶理解,以實用夠用為主。
i.MX6ULL開發板 WIFI 功能測試
WiFi支持:
模塊
|
支持
|
rtl8188EUS
|
WiFi
|
RTL8723BU
|
WiFi
|
RTL8723DU
|
WiFi
|
1、 USB WIFI RTL8188eus使用
說明: USB WiFi局域網卡是選配模塊 ,如若有需求,請聯系飛凌嵌入式官網在線客服。
以下對wifi模塊在STA模式下,連接到無線網絡的測試:
步驟1:iMX6ULL開發板上電,啟動Linux系統。
步驟2:連接USB WIFI到飛凌iMX6ULL開發板的USB Host接口
步驟 3 :按照如下格式輸入相應的參數:
-i表示wifi型號;
-s表示wifi熱點名稱;
-p表示密碼,若無密碼輸入-p NONE;
路由器采用wpa加密方式。具體操作指令可查看wifi.sh腳本。
連接打印內容如下:
root@fl-imx6ull:~# fltest_cmd_wifi.sh -i 8188 -s forlinx -p xxxx
|
打印信息如下:
wifi 8188
ssid forlinx
pasw xxxx
u***core: deregistering inteRFace driver rtl8723bu
RTL871X: module exit start
u***core: deregistering interface driver rtl8188eu
RTL871X: rtw_ndev_uninit(wlan1)
u*** 1-1.3: reset high-speed USB device number 7 using ci_hdrc
RTL871X: module exit success
RTL871X: module init start
RTL871X: rtl8188eu v4.3.0.9_15178.20150907
RTL871X: build time: Mar 25 2020 02:23:46
bFWReady == _FALSE call reset 8051...
RTL871X: rtw_ndev_init(wlan0)
u***core: registered new interface driver rtl8188eu
RTL871X: module init ret=0
==> rtl8188e_iol_efuse_patch
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
ps: invalid option -- 'f'
busybox v1.24.1 (2019-04-27 02:24:01 CST) multi-call binary.
Usage: ps
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL controRTL871X: set bssid:00:00:00:00:00:00
l device
RTL871X: set ssid [g?isQ?J?)?????F|?T??vZ.c3????????] fw_state=0x00000008
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCGIWSCAN]: Resource temporarily unavailable
ioctl[SIOCGIWSCAN]: Resource temporarily unavailable
RTL871X: indicate disassoc
wlan0: Trying to associate with 04:d7:a5:84:fa:40 (SSID='forlinx' freq=2437 MHz)
RTL871X: set ssid [forlinx] fw_state=0x00000008
RTL871X: set bssid:04:d7:a5:84:fa:40
RTL871X: start auth
RTL871X: auth success, start assoc
RTL871X: assoc success
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
RTL871X: recv eapol packet
wlan0: Associated with 04:d7:a5:84:fa:40
RTL871X: send eapol packet
RsvdPageNum: 8
udhcpc (v1.24.1) started
RTL871X: recv eapol packet
RTL871X: send eapol packet
RTL871X: recv eapol packet
RTL871X: send eapol packet
RTL871X: set pairwise key camid:4, addr:04:d7:a5:84:fa:40, kid:0, type:AES
wlan0: WPA: Key negotiation completed with 04:d7:a5:84:fa:40 [PTKRTL871X: set group key camid:5, addr:04:d7:a5:84:fa:40, kid:2, type:AES
wlan0: CTRL-EVENT-CONNECTED - Connection to 04:d7:a5:84:fa:40 completed [id=0 id_str=]
Sending discover...
Sending select for 192.168.4.129...
Lease of 192.168.4.129 obtained, lease time 36000
/etc/udhcpc.d/50default: Adding DNS 222.222.202.202
/etc/udhcpc.d/50default: Adding DNS 222.222.222.222
Finshed!
|
腳本運行完,能自動分配ip并添加DNS,則wifi連接成功。
步驟4:ping ip或者域名,命令如下。
root@fl-imx6ull:~# ping -c 4 www.baidu.com
PING www.baidu.com (220.181.38.149): 56 data bytes
64 bytes from 220.181.38.149: seq=0 ttl=51 time=26.648 ms
64 bytes from 220.181.38.149: seq=1 ttl=51 time=13.529 ms
64 bytes from 220.181.38.149: seq=2 ttl=51 time=15.656 ms
64 bytes from 220.181.38.149: seq=3 ttl=51 time=26.249 ms
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 13.529/20.520/26.648 ms
|
步驟5:卸載已經加入內核的模塊。
root@fl-imx6ull:~# rmmod 8188eu
|
打印信息如下:
RTL871X: module exit start
u***core: deregistering interface driver rtl8188eu
RTL871X: indicate disassoc
RTL871X: rtw_cmd_thread: DriverStopped(1) SurpriseRemoved(0) break at line 478
wlan0: CTRL-EVENT-DISCONNECTED bssid=04:d7:a5:84:fa:40 reason=3 locally_generated=1
RTL871X: rtw_ndev_uninit(wlan0)
RTL871X: rtw_dev_unload: driver not in IPS
u*** 1-1.3: reset high-speed USB device number 7 using ci_hdrc
RTL871X: module exit success
|
2、 板載WIFI的使用
說明:
l WiFi頻率為2.4G
l 兼容8723bu和8723du兩種wifi驅動
l 默認路由器采用wpa加密方式。
如果開發板有板載的WIFI無線局域網卡,則焊接在評估板如圖所示位置(下圖為8723du):

步驟1:檢查iMX6ULL開發板是否已經焊接該模塊,正確焊接如上圖。連接上天線。
步驟2:iMX6ULL開發板上電,啟動Linux系統,先使用lsmod查看模塊加載狀態:
root@fl-imx6ull:~# lsmod
Module SizeUsed by
mx6s_capture 148760
8723 du 13138930 //默認wifi自動加載,8723du已加載成功
ov9650_camera 124460
|
注意:若 飛凌iMX6ULL 開發板上焊接的是8723 b u,使用lsmod會顯示8723 b u
以下以8723du為例進行測試描述。
步驟3:測試
? STA模式
該模式即作為一個站點,連接到無線網絡中,操作方法如下:
-i表示wifi型號;-s表示wifi熱點名稱;-p表示密碼,若無密碼輸入-p NONE;路由器采用wpa加密方式,具體操作指令可查看wifi.sh腳本
root@fl-imx6ull:~# fltest_cmd_wifi.sh -i 8723du -s forlinx -p xxx //執行測試腳本
|
打印信息如下:
wifi 8723du
ssid forlinx
pasw xxx
u***core: deregistering interface driver rtl8723du
u***core: registered new interface driver rtl8723du
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
udhcpc (v1.24.1) started
Sending discover...
wlan0: CTRL-EVENT-REGDOM-CHANGE init=beacon_HINT type=UNKNOWN
wlan0: Trying to associate with 04:d7:a5:f9:26:1d (SSID='forlinx' freq=2427 MHz)
wlan0: Associated with 04:d7:a5:f9:26:1d
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
wlan0: WPA: Key negotiation completed with 04:d7:a5:f9:26:1d [PTK=CCMP GTK=TKIP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 04:d7:a5:f9:26:1d completed [id=0 id_str=]
nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.
Sending discover...
Sending select for 192.168.5.186...
Lease of 192.168.5.186 obtained, lease time 1800
/etc/udhcpc.d/50default: Adding DNS 222.222.202.202
/etc/udhcpc.d/50default: Adding DNS 222.222.222.222
WLAN Finshed!
|
腳本運行完,能自動分配ip并生成DNS,則wifi連接成功。
ping ip或者域名,命令如下:
root@fl-imx6ull:~# ping -c 5 www.baidu.com
|
打印信息如下:
PING 192.168.4.1 (192.168.4.1): 56 data bytes
64 bytes from 192.168.4.1: seq=0 ttl=128 time=39.783 ms
64 bytes from 192.168.4.1: seq=1 ttl=128 time=81.529 ms
64 bytes from 192.168.4.1: seq=2 ttl=128 time=15.236 ms
64 bytes from 192.168.4.1: seq=3 ttl=128 time=12.076 ms
64 bytes from 192.168.4.1: seq=4 ttl=128 time=16.300 ms
--- 192.168.4.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 12.076/32.984/81.529 ms
|
wifi信號
查看WiFi信號方法如下:
root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $3}' //獲取信號強度
78.
root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $4}' //獲取信號質量,單位dBm
-68.
root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $5}' //網口背景噪聲,單位dBm
-256.
|
AP模式
說明:
l 本模塊支持AP模式,理論最大連接用戶為8個。
l 本例為以太網eth0連接路由器說明,配置完以太網后,需要測試eth0是否可以連接外網,如果可以連接外網(方法參考 “有線網卡”章節),請繼續按照操作步驟執行,如果不可以請檢查以太網或者路由器連接是否正常。
工作在AP模式下,手機等設備可以直接連接模塊。
設置以太網IP,配置網絡防火墻:
root@fl-imx6ull:~# udhcpc -i eth0 //自動分配IP,若以測試eth0網絡正常,可不操作此步
root@fl-imx6ull:~# echo 1 > /proc/sys/net/ipv4/ip_forward //打開 IP 轉發
root@fl-imx6ull:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE//設置轉發規則
|
設置WiFi的模式與IP,確保模塊8723bu已經加載。
root@fl-imx6ull:~# ifconfig wlan0 up //打開WiFi
root@fl-imx6ull:~# ifconfig wlan0 192.168.0.10 netmask 255.255.255.0//設置IP與子網掩碼
root@fl-imx6ull:~# ifconfig wlan0 promisc //設置 wlan0 為混雜模式
|
開啟AP
root@fl-imx6ull:~# udhcpd /etc/udhcpd/udhcpd.conf & //WiFi 地址、網關等配置信息
root@fl-imx6ull:~# hostapd -d /etc/hostapd/hostapd.conf & //加密方式、用戶名、密碼等設置
|
hostapd.conf文件中:ssid為用戶名,/為密碼
手機等移動終端可以通過WiFi連接到開發板的AP熱點,iMX6ULL開發板默認使用以下用戶名和密碼:
熱點名:forlinxtest密碼:1234567890
步驟4:卸載已經加入內核的模塊:
root@fl-imx6ull:~# rmmod 8723du
u***core: deregistering interface driver rtl8723du
wlan0: CTRL-EVENT-DISCONNECTED bssid=04:d7:a5:f9:26:1d reason=0
|
FETMX6ULL-C核心板是飛凌基于NXP i.MX6U系列處理器推出的第三款核心板,成熟的技術方案,帶來穩定可靠的全新體驗。
審核編輯:符乾江
評論