|
| 1 | +--- |
| 2 | +sidebar_position: 1 |
| 3 | +--- |
| 4 | +# WiFi联网 |
| 5 | + |
| 6 | +本章节来讲解如何在 T113s3ProV1.3 **(wifi6增强版)** 开发板上通过WiFi模块进行联网。 |
| 7 | + |
| 8 | +## 准备工作 |
| 9 | + |
| 10 | +**硬件:** |
| 11 | +- T113s3 开发板(WiFi6增强版) |
| 12 | +- usb typeC线 x2 |
| 13 | +- ipex 2.4G/5G天线 x1 |
| 14 | + |
| 15 | +**软件:** |
| 16 | +- 全志线刷工具:[AllwinnertechPhoeniSuit.zip](https://dl.100ask.net/Hardware/MPU/T113i-Industrial/Tools/AllwinnertechPhoeniSuit.zip) |
| 17 | +- 全志USB烧录驱动:[AllwinnerUSBFlashDeviceDriver.zip](https://dl.100ask.net/Hardware/MPU/T113i-Industrial/Tools/AllwinnerUSBFlashDeviceDriver.zip) |
| 18 | +- 镜像:[T113s3-WiFi6-DefaultSysterm.7z](https://dl.100ask.net/Hardware/MPU/100ask_t113-pro/Images/T113s3-WiFi6-DefaultSysterm.7z) |
| 19 | + |
| 20 | +> 镜像说明:支持T113s3-pro WiFi6增强版除摄像头外的板载功能; |
| 21 | +> |
| 22 | +> 对应MD5值:06fad98039980b2bda9b817ea8efabad |
| 23 | +
|
| 24 | +## 连接开发板 |
| 25 | + |
| 26 | +如果不清楚如何连接开发板,并登录串口终端,请参考 快速启动中《启动开发板》章节。 |
| 27 | + |
| 28 | +### 安装天线 |
| 29 | + |
| 30 | +连接开发板后,在执行联网操作前,需要先安装一根天线,否则有可能会扫不到WiFi设备。 |
| 31 | + |
| 32 | +## 装载WiFi驱动模块 |
| 33 | + |
| 34 | +进入串口终端,在开发板 `/lib/modules/5.4.61` 路径下,可以看到开发板的WiFi驱动模块, |
| 35 | + |
| 36 | +~~~bash |
| 37 | +root@TinaLinux:/# cd /lib/modules/5.4.61/ |
| 38 | +root@TinaLinux:/lib/modules/5.4.61# ls |
| 39 | +aic8800_bsp.ko aic8800_fdrv.ko sunxi_gpadc.ko |
| 40 | +aic8800_btlpm.ko gt9xxnew_ts.ko usb-storage.ko |
| 41 | +~~~ |
| 42 | + |
| 43 | +在当前目录下,**严格按照以下顺序来装载wifi驱动模块**, |
| 44 | + |
| 45 | +~~~bash |
| 46 | +insmod aic8800_bsp.ko |
| 47 | +insmod aic8800_fdrv.ko |
| 48 | +~~~ |
| 49 | + |
| 50 | +依次执行后,会出现以下打印信息: |
| 51 | + |
| 52 | +~~~bash |
| 53 | +root@TinaLinux:/lib/modules/5.4.61# insmod aic8800_bsp.ko |
| 54 | +[ 1806.962880] aicbsp_init |
| 55 | +[ 1806.965639] RELEASE_DATE:2023_0904_1726 |
| 56 | +root@TinaLinux:/lib/modules/5.4.61# insmod aic8800_fdrv.ko |
| 57 | +[ 1843.145204] AICWFDBG(LOGTRACE) >>> rwnx_mod_init() |
| 58 | +[ 1843.150641] AICWFDBG(LOGINFO) rwnx v6.4.3.0 - - 241c091M (master) |
| 59 | +... |
| 60 | +... |
| 61 | +... |
| 62 | +[ 1844.878491] AICWFDBG(LOGINFO) rwnx_plat_nvram_set_value_v3:command=lvl_11ax_mcs9_5g |
| 63 | +[ 1847.702259] ieee80211 phy0: |
| 64 | +[ 1847.702259] ******************************************************* |
| 65 | +[ 1847.702259] ** CAUTION: USING PERMISSIVE CUSTOM REGULATORY RULES ** |
| 66 | +[ 1847.702259] ******************************************************* |
| 67 | +[ 1847.726556] AICWFDBG(LOGTRACE) >>> rwnx_send_me_chan_config_req() |
| 68 | +[ 1847.733421] AICWFDBG(LOGTRACE) rwnx_send_msg (5123)ME_CHAN_CONFIG_CFM reqcfm:1 in_irq:0 in_softirq:0 in_atomic:0 |
| 69 | +[ 1847.744958] AICWFDBG(LOGTRACE) rwnx_cmd_malloc get cmd_array[0]:05b1dbfd |
| 70 | +[ 1847.753089] AICWFDBG(LOGTRACE) rwnx_cmd_free cmd_array[0]:05b1dbfd |
| 71 | +[ 1847.760263] AICWFDBG(LOGTRACE) >>> rwnx_dbgfs_register() |
| 72 | +[ 1847.766327] AICWFDBG(LOGINFO) fw_log_init: c582c000, c582e800 |
| 73 | +[ 1847.772871] AICWFDBG(LOGINFO) rwnx_interface_add: wlan%d, 2, 10 |
| 74 | +[ 1847.779754] AICWFDBG(LOGINFO) interface add:e8 51 9e dc 9d c5 |
| 75 | +[ 1848.196093] AICWFDBG(LOGINFO) New interface create wlan0 |
| 76 | +root@TinaLinux:/lib/modules/5.4.61# |
| 77 | +~~~ |
| 78 | + |
| 79 | +出现以上信息,表示WiFi驱动模块加载成功。执行 `ifconfig -a` 指令,可以看到存在 wlan0 节点, |
| 80 | + |
| 81 | +~~~bash |
| 82 | +root@TinaLinux:/lib/modules/5.4.61# ifconfig -a |
| 83 | +eth0 Link encap:Ethernet HWaddr 9E:45:48:98:1E:1A |
| 84 | + BROADCAST MULTICAST MTU:1500 Metric:1 |
| 85 | + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
| 86 | + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
| 87 | + collisions:0 txqueuelen:1000 |
| 88 | + RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
| 89 | + Interrupt:38 |
| 90 | + |
| 91 | +lo Link encap:Local Loopback |
| 92 | + inet addr:127.0.0.1 Mask:255.0.0.0 |
| 93 | + inet6 addr: ::1/128 Scope:Host |
| 94 | + UP LOOPBACK RUNNING MTU:65536 Metric:1 |
| 95 | + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
| 96 | + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
| 97 | + collisions:0 txqueuelen:1000 |
| 98 | + RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
| 99 | + |
| 100 | +wlan0 Link encap:Ethernet HWaddr E8:51:9E:DC:7E:FB |
| 101 | + BROADCAST MULTICAST MTU:1500 Metric:1 |
| 102 | + RX packets:0 errors:0 dropped:0 overruns:0 frame:0 |
| 103 | + TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 |
| 104 | + collisions:0 txqueuelen:1000 |
| 105 | + RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
| 106 | + |
| 107 | +root@TinaLinux:/lib/modules/5.4.61# |
| 108 | + |
| 109 | +~~~ |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | +## 连接WiFi网络 |
| 114 | + |
| 115 | +### 打开wlan0节点 |
| 116 | + |
| 117 | +出现 `wlan0` 节点后,执行 `ifconfig wlan0 up` 指令,打开节点, |
| 118 | + |
| 119 | +~~~bash |
| 120 | +# ifconfig wlan0 up |
| 121 | +[ 879.333784] AICWFDBG(LOGTRACE) >>> rwnx_open() |
| 122 | +[ 879.338782] AICWFDBG(LOGTRACE) >>> rwnx_send_start() |
| 123 | +[ 879.344447] AICWFDBG(LOGTRACE) rwnx_send_msg (3)MM_START_CFM reqcfm:1 in_irq:0 in_softirq:0 in_atomic:0 |
| 124 | +[ 879.355119] AICWFDBG(LOGTRACE) rwnx_cmd_malloc get cmd_array[0]:b0772898 |
| 125 | +[ 879.363699] AICWFDBG(LOGTRACE) rwnx_cmd_free cmd_array[0]:b0772898 |
| 126 | +[ 879.370865] AICWFDBG(LOGTRACE) >>> rwnx_send_coex_req() |
| 127 | +[ 879.376730] AICWFDBG(LOGTRACE) rwnx_send_msg (102)MM_SET_COEX_CFM reqcfm:1 in_irq:0 in_softirq:0 in_atomic:0 |
| 128 | +[ 879.387884] AICWFDBG(LOGTRACE) rwnx_cmd_malloc get cmd_array[0]:b0772898 |
| 129 | +[ 879.395941] AICWFDBG(LOGTRACE) rwnx_cmd_free cmd_array[0]:b0772898 |
| 130 | +[ 879.403108] AICWFDBG(LOGTRACE) >>> rwnx_send_add_if() |
| 131 | +[ 879.408778] AICWFDBG(LOGTRACE) rwnx_send_msg (7)MM_ADD_IF_CFM reqcfm:1 in_irq:0 in_softirq:0 in_atomic:0 |
| 132 | +[ 879.419541] AICWFDBG(LOGTRACE) rwnx_cmd_malloc get cmd_array[0]:b0772898 |
| 133 | +[ 879.427502] AICWFDBG(LOGTRACE) rwnx_cmd_free cmd_array[0]:b0772898 |
| 134 | +[ 879.434667] AICWFDBG(LOGDEBUG) rwnx_open sta create vif in rwnx_hw->vif_table[0] |
| 135 | +# |
| 136 | +~~~ |
| 137 | + |
| 138 | +### 扫描附近WiFi |
| 139 | + |
| 140 | +接着,执行以下指令,扫描附近WiFi: |
| 141 | + |
| 142 | +~~~bash |
| 143 | +iw dev wlan0 scan | grep SSID |
| 144 | +~~~ |
| 145 | + |
| 146 | +如果不出现报错,会出现附近WiFi节点信息: |
| 147 | + |
| 148 | +~~~bash |
| 149 | +SSID: GW |
| 150 | +SSID: DIRECT-71-HP Smart Tank 750 |
| 151 | +SSID: Programmers |
| 152 | +SSID: ChinaNet-kRAH |
| 153 | +SSID: Redmi_83D1 |
| 154 | +SSID: pobo |
| 155 | +SSID: cx1519 |
| 156 | +SSID: Guest_An |
| 157 | +SSID: WiFi |
| 158 | +SSID: ChinaNet-ec7h |
| 159 | +SSID: ChinaNet-sqJr |
| 160 | +SSID: ChinaNet-Zivk |
| 161 | +SSID: HUAWEI-1619 |
| 162 | +SSID: MERCURY_62A2 |
| 163 | +SSID: ChinaNet-ccXn |
| 164 | +SSID: Programmers7 |
| 165 | +~~~ |
| 166 | + |
| 167 | +这里扫到了本章节需要连接的无线网络 Programmers,说明WiFi模块正常。 |
| 168 | + |
| 169 | +### 添加无线网络配置信息 |
| 170 | + |
| 171 | +连接无线网络之前,我们需要在配置文件中添加相应的无线网络名以及对应的密码。执行以下指令。 |
| 172 | + |
| 173 | +~~~bash |
| 174 | +vi /etc/wifi/wpa_supplicant.conf |
| 175 | +~~~ |
| 176 | + |
| 177 | +添加如下内容: |
| 178 | + |
| 179 | +~~~bash |
| 180 | +ctrl_interface=/etc/wifi/sockets |
| 181 | +disable_scan_offload=1 |
| 182 | +update_config=1 |
| 183 | +wowlan_triggers=any |
| 184 | + |
| 185 | +network={ |
| 186 | + ssid="Programmers" |
| 187 | + psk="100askxxxx" |
| 188 | +} |
| 189 | + |
| 190 | +~~~ |
| 191 | + |
| 192 | +需要注意,配置文件信息不要填错。 |
| 193 | + |
| 194 | +> ssid:无线网络名;psk:对应无线网络的密码 |
| 195 | +
|
| 196 | +### 验证网络连接 |
| 197 | + |
| 198 | +填写配置文件之后,接下来可以执行连接无线网络操作。指令如下: |
| 199 | + |
| 200 | +~~~bash |
| 201 | +wpa_supplicant -B -c /etc/wifi/wpa_supplicant.conf -i wlan0 |
| 202 | +~~~ |
| 203 | + |
| 204 | +执行之后,会打印一长串信息。 |
| 205 | + |
| 206 | +最后,执行以下指令,测试是否能连接外网。 |
| 207 | + |
| 208 | +~~~bash |
| 209 | +root@TinaLinux:/lib/modules/5.4.61# udhcpc -i wlan0 |
| 210 | +udhcpc: started, v1.27.2 |
| 211 | +udhcpc: sending discover |
| 212 | +[ 862.756558] AICWFDBG(LOGTRACE) >>> rwnx_rx_me_tx_credits_update_ind() |
| 213 | +udhcpc: sending select for 192.168.1.62 |
| 214 | +[ 863.307453] AICWFDBG(LOGINFO) reord_init_sta:e8:51:9e:dc:7e:fb |
| 215 | +[ 863.314058] AICWFDBG(LOGINFO) paired=fac04, should=fac04 |
| 216 | +[ 863.320026] AICWFDBG(LOGTRACE) >>> rwnx_send_arpoffload_en_req() |
| 217 | +[ 863.326773] AICWFDBG(LOGTRACE) rwnx_send_msg (98)MM_SET_ARPOFFLOAD_CFM reqcfm:1 in_irq:0 in_softirq:512 in_atomic:1 |
| 218 | +[ 863.338591] AICWFDBG(LOGTRACE) rwnx_cmd_malloc get cmd_array[0]:6fdb3402 |
| 219 | +[ 863.346329] AICWFDBG(LOGTRACE) >>> cmd_mgr_task_process() |
| 220 | +[ 863.352679] AICWFDBG(LOGTRACE) rwnx_cmd_free cmd_array[0]:6fdb3402 |
| 221 | +udhcpc: lease of 192.168.1.62 obtained, lease time 172800 |
| 222 | +udhcpc: ifconfig wlan0 192.168.1.62 netmask 255.255.255.0 broadcast + |
| 223 | +udhcpc: setting default routers: 192.168.1.1 |
| 224 | + |
| 225 | +root@TinaLinux:/lib/modules/5.4.61# |
| 226 | +root@TinaLinux:/lib/modules/5.4.61# ping www.baidu.com |
| 227 | +PING www.baidu.com (183.2.172.185): 56 data bytes |
| 228 | +64 bytes from 183.2.172.185: seq=0 ttl=53 time=11.368 ms |
| 229 | +64 bytes from 183.2.172.185: seq=1 ttl=53 time=11.880 ms |
| 230 | +64 bytes from 183.2.172.185: seq=2 ttl=53 time=14.844 ms |
| 231 | +64 bytes from 183.2.172.185: seq=3 ttl=53 time=11.096 ms |
| 232 | +64 bytes from 183.2.172.185: seq=4 ttl=53 time=48.975 ms |
| 233 | +64 bytes from 183.2.172.185: seq=5 ttl=53 time=67.863 ms |
| 234 | +64 bytes from 183.2.172.185: seq=6 ttl=53 time=25.851 ms |
| 235 | +~~~ |
| 236 | + |
| 237 | +能ping通,表示可以连接外网。 |
0 commit comments