應用技巧-OKMX6ULL-C開發板無線網絡測試

原創 2022-04-28 19:50:00 imx6ull

FETMX6ULL-C核心板基于NXP i.MX6ULL處理器開發設計,采用低功耗的ARM Cortex-A7架構,運行速度高達800MHz。原生支持8路UART2路Ethernet、2路CAN總線2路USB 、LCD等常用接口。并采用超小尺寸設計,核心板尺寸僅40*29mm,適應更多體積受限的應用場景


iMX6ULL核心板


為了方便用戶對核心板的性能及功能進行測試,飛凌提供了配套的功能評估板,將產品開發過程中常用的功能接口引出,比如說2路的Ethernet、2路的USB、2路的CAN以及4路的UART、2路的SPI2路的IIC,同時這里還預留了顯示的LCD接口以及4G模組、WIFI模組的插槽等。


iMX6ULL開發板接口


本文以用戶快速熟悉產品,了解接口功能和測試方法為目的,主要講述了飛凌iMX6ULL開發板WIFI接口功能的測試方法,以及使用過程中出現的一些問題如何排查。在測試過程中,對一些命令進行了注釋,方便用戶理解,以實用夠用為主。

 

 

一、iMX6ULL開發板 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

usbcore: deregistering interface driver rtl8723bu

RTL871X: module exit start

usbcore: deregistering interface driver rtl8188eu

RTL871X: rtw_ndev_uninit(wlan1)

usb 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)

usbcore: 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

=CCMP GTK=CCMP]

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連接成功。

步驟5: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

步驟6:卸載已經加入內核的模塊。

root@fl-imx6ull:~# rmmod 8188eu

打印信息如下:

RTL871X: module exit start

usbcore: 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

usb 1-1.3: reset high-speed USB device number 7 using ci_hdrc

RTL871X: module exit success


2、 板載WIFI的使用

說明:

wifi頻率為2.4G

兼容8723bu和8723du兩種wifi驅動

默認路由器采用wpa加密方式。

如果開發板有板載的WIFI無線局域網卡,則焊接在評估板如圖所示位置(下圖為8723du):

 

步驟1:檢查iMX6ULL開發板是否已經焊接該模塊,正確焊接如上圖。連接上天線。

步驟2:iMX6ULL開發板上電,啟動Linux系統,先使用lsmod查看模塊加載狀態:

root@fl-imx6ull:~# lsmod

Module                  Size  Used by

mx6s_capture           14876  0

8723 du                1313893  0             //默認wifi自動加載,8723du已加載成功

ov9650_camera          12446  0

 

注意:若 飛凌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

usbcore: deregistering interface driver rtl8723du

usbcore: 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模式

說明:

本模塊支持AP模式,理論最大連接用戶為8個。

本例為以太網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

usbcore: deregistering interface driver rtl8723du

wlan0: CTRL-EVENT-DISCONNECTED bssid=04:d7:a5:f9:26:1d reason=0

 

 

FETMX6ULL-C核心板是飛凌基于NXP i.MX6U系列處理器推出的第三款核心板,成熟的技術方案,帶來穩定可靠的全新體驗。核心板尺寸僅40*29mm,并采用2mm合高的板對板連接器,將小體積、便于拆卸的優勢集一身。您可搜索飛凌嵌入式,聯系在線客服,獲取更多詳細資料。


iMX6ULL尺寸圖




 



相關產品 >

  • OKMX6UL-C開發板

    飛凌嵌入式專注imx6系列imx6ul開發板、飛思卡爾imx6ul核心板等ARM嵌入式核心控制系統研發、設計和生產,i.mx6UL系列產品現已暢銷全國,作為恩智浦imx6ul,imx6ul開發板,i.mx6提供者,飛凌嵌入式提供基于iMX6 iMX6UL解決方案定制。

    了解詳情
    OKMX6UL-C開發板
  • FETMX6UL-C核心板 工業級

    i.MX6UltraLite ARM Cortex-A7處理器是 NXP IMX6家族中高能效比CPU芯片的代表,iMX6UL芯片相比同系列的Cortex-A9系列產品,在同等性能下iMX6ul功耗更低。下面介紹一下飛凌i.MX6UL工業級核心板的基本參數,飛凌工業級iMX6UL核心板,主頻528MHz,內存256MB,存儲256MB(1GB可選),6路原生串口,開發資源豐富,飛凌提供了imx6ul中文參考手冊,方便大家開發設計。

    了解詳情
    FETMX6UL-C核心板 工業級
  • FETMX6ULL-C核心板

    FETMX6ULL-C核心板采用NXP i.MX6ULL處理器開發設計,是一款高性能Linux核心板,采用低功耗的ARM Cortex-A7架構,運行速度高達800MHz。iMX6ULL核心板29*40mm  ,iMX6ULL這款處理器功能接口資源豐富,供貨周期長。

    了解詳情
    FETMX6ULL-C核心板
  • OKMX6ULL-C開發板

    40*29mm,雙網雙CAN,8路串口| i.MX6ULL開發板是基于NXP i.MX6ULL設計開發的的一款Linux開發板 ,主頻800MHz,體積小,其核心板僅40*29mm,采用板對板連接器,適應場景豐富。 了解詳情
    OKMX6ULL-C開發板

推薦閱讀 換一批 換一批