# 配置

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

此信息介绍建立 Wi-Fi 连接所需的设置和配置过程。

## 启动 Wi-Fi 子系统

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

### 关于此任务

如果设备在 STA 模式下启动，则默认激活 Wi-Fi，即 Wi-Fi host 驱动程序和 wpa\_supplicant 是在设备的启动过程中启动的。

### 过程

1. 通过执行[连接到 UART shell](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#connect-to-a-uart-shell) 中列出的步骤，确保设备通过 UART
                    连接到主机。
2. 若要确认是否加载了 Wi-Fi host 驱动程序，在调试 UART 控制台上运行以下命令：
                
iw devCopy to clipboard
3. 在输出中搜索 `wlan0` 接口：
                
**示例输出**

root@qcm6490:~# iw dev
        phy#0
        Interface wlan0
        ifindex 5
        wdev 0x1
        addr 12:78:04:00:ae:15
        type managed
        channel 60 (5300 MHz), width: 80 MHz, center1: 5290 MHz
        txpower 20.00 dBm
        multicast TXQ:
        qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes   tx-packets
         0       0       0     0     0     0       0        0         0
        Copy to clipboard
4. 要验证 wpa\_supplicant 是否处于活动状态，可运行以下命令： 
                
ps -ef | grep wpa_supplicantCopy to clipboard

以下输出表示已成功启用 wpa\_supplicant：

        root        1415       1  0 00:00 ?        00:00:00 wpa_supplicant -Dnl80211 -iwlan0 -ddd -c /etc/wpa_supplicant.conf -f /tmp/wpa_supplicant-log.txtCopy to clipboard

## 扫描 Wi-Fi

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

### 关于此任务

Wi-Fi 扫描会查找附近列出的 AP，可通过 `nmcli` 命令行工具启动。

### 过程

要通过 `nmcli` 启动 Wi-Fi 扫描，请运行以下命令：
                
nmcli dev wifi list 2>&1 | less Copy to clipboard

**示例输出**

IN-USE  BSSID              SSID           MODE   CHAN  RATE        SIGNAL  BARS SECURITY
            20:DB:AB:98:57:EE  JioPrivateNet  Infra  9     130 Mbit/s  89          ****             WPA2 802.1X
            20:DB:AB:98:57:EF  JioNet         Infra  9     130 Mbit/s  89          ****              --
            20:DB:AB:98:57:E1  JioPrivateNet  Infra  44    270 Mbit/s  80          ***              WPA2 802.1X
            20:DB:AB:98:57:E0  JioNet         Infra  44    270 Mbit/s  77          ***               --
            F0:61:C0:FB:96:A1  QGuest         Infra  11    260 Mbit/s  75          ***               --
            F0:61:C0:FB:96:A0  Hydra          Infra  11    260 Mbit/s  75          ***              WPA2
            20:DB:AB:9E:CA:CF  JioNet         Infra  5     130 Mbit/s  72          ***			 --
            F0:61:C0:FB:96:B0  Hydra          Infra  140   540 Mbit/s  72          ***              WPA2
            F0:61:C0:FB:96:B1  Pandora        Infra  140   540 Mbit/s  72          ***              WPA2 802.1X
            F0:61:C0:FB:96:B2  QGuest         Infra  140   540 Mbit/s  72          ***               --
            20:DB:AB:9E:CA:CE  JioPrivateNet  Infra  5     130 Mbit/s  69          ***
    Copy to clipboard

注释： 要退出标准输入 shell，请按 CTRL+C。

## 设置 Wi-Fi station

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

### 关于此任务

在 STA 模式下，RB3 Gen 2 设备作为客户端可以连接到无线热点或路由器。

可以通过 `nmcli` 命令行工具建立无线连接。

请执行以下步骤，以便在 STA 模式下设置 Wi-Fi：

### 过程

1. 通过执行[连接到 UART shell](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#connect-to-a-uart-shell) 中列出的步骤，确保设备通过 UART
                    连接到主机。
2. 要建立与 AP 的连接，请运行以下命令： 
                
nmcli dev wifi connect <WiFi-SSID> password <WiFi-password>Copy to clipboard

例如，运行命令

        root@qcs6490-rb3gen2-vision-kit:~# nmcli dev wifi connect QualcommWiFi password 1234567890Copy to clipboard

                    其中，Wi-Fi SSID 为 `QualcommWiFi`，Wi-Fi 密码为 `1234567890`。 
**示例输出**

        Device 'wlan0' successfully activated with 'df4250eb-45f6-4ce2-bd90-a2513e016536'Copy to clipboard

注释： 如果您在运行命令时看到网络错误消息，请运行以下命令之一来触发 Wi-Fi 扫描并验证目标 AP。

        nmcli dev wifi listCopy to clipboard

        iw dev wlan0 scanCopy to clipboard
3. 要验证连接状态，请运行以下命令：
                
root@qcs6490-rb3gen2-vision-kit:~# nmcli general statusCopy to clipboard

**示例输出**

        STATE  CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN
        connected  full     enabled  enabled  enabled  enabled
        Copy to clipboard
4. 要验证连接状态，请执行以下步骤：
    1. 要查看设备状态，请运行以下命令：
                        
root@qcs6490-rb3gen2-vision-kit:~# nmcli dev statusCopy to clipboard

**示例输出**

            DEVICE  TYPE      STATE        CONNECTION
            wlan0   wifi      connected    QualcommWiFi
            eth0    ethernet  unavailable  --
            eth1    ethernet  unavailable  --
            can0    can       unmanaged    --
            lo      loopback  unmanaged    --
            Copy to clipboard
    2. 要查看附加连接信息，请运行以下命令：
                        
nmcli device show wlan0Copy to clipboard

**示例输出**

            GENERAL.DEVICE:                         wlan0
            GENERAL.TYPE:                           wifi
            GENERAL.HWADDR:                         00:03:7F:12:F7:F7
            GENERAL.MTU:                            1500
            GENERAL.STATE:                          100 (connected)
            GENERAL.CONNECTION:                     QualcommWiFi
            GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/5
            IP4.ADDRESS[1]:                         192.168.117.130/24
            IP4.ADDRESS[2]:                         192.168.117.131/24
            IP4.GATEWAY:                            192.168.117.126
            IP4.ROUTE[1]:                           dst = 192.168.117.0/24, nh = 0.0.0.0, mt = 3005
            IP4.ROUTE[2]:                           dst = 192.168.117.0/24, nh = 0.0.0.0, mt = 600
            IP4.ROUTE[3]:                           dst = 0.0.0.0/0, nh = 192.168.117.126, mt = 3005
            IP4.DNS[1]:                             192.168.117.126
            IP6.ADDRESS[1]:                         2401:4900:658c:d8b0:3a86:b071:fd59:7ade/64
            IP6.ADDRESS[2]:                         2401:4900:658c:d8b0:37d5:d37f:675c:3313/64
            IP6.ADDRESS[3]:                         fe80::c930:1be0:3ac0:496c/64
            IP6.ADDRESS[4]:                         fe80::28a6:3dc0:f535:75f1/64
            IP6.GATEWAY:                            fe80::14c1:74ff:feef:f40f
            IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256
            IP6.ROUTE[2]:                           dst = fe80::/64, nh = ::, mt = 1024
            IP6.ROUTE[3]:                           dst = 2401:4900:658c:d8b0::/64, nh = ::, mt = 3005
            IP6.ROUTE[4]:                           dst = ::/0, nh = fe80::14c1:74ff:feef:f40f, mt = 3005
            IP6.DNS[1]:                             2401:4900:658c:d8b0::dc
            standard input
            Copy to clipboard
    3. 通过在 UART 控制台中运行 `ifconfigwlan0` 命令来验证是否在 `wlan0` 接口上分配了 IP 地址。
                        
root@qcs6490-rb3gen2-vision-kit:~# ifconfig wlan0Copy to clipboard

**示例输出**

            wlan0     Link encap:Ethernet  HWaddr 00:03:7F:12:F7:F7
            inet addr:192.168.117.131  Bcast:192.168.117.255  Mask:255.255.255.0
            inet6 addr: 2401:4900:658c:d8b0:3a86:b071:fd59:7ade/64 Scope:Global
            inet6 addr: fe80::c930:1be0:3ac0:496c/64 Scope:Link
            inet6 addr: fe80::28a6:3dc0:f535:75f1/64 Scope:Link
            inet6 addr: 2401:4900:658c:d8b0:37d5:d37f:675c:3313/64 Scope:Global
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:1365 errors:0 dropped:0 overruns:0 frame:0
            TX packets:1141 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:127462 (124.4 KiB)  TX bytes:160302 (156.5 KiB)
            Copy to clipboard
    4. 通过 ping 以下公共 DNS IP：验证 AP 或路由器是否已连接至 Internet
                        
root@qcs6490-rb3gen2-vision-kit:~# ping 8.8.8.8Copy to clipboard

**示例输出**

            PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
            64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=174 ms
            64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=96.9 ms
            64 bytes from 8.8.8.8: icmp_seq=3 ttl=55 time=84.8 ms
            ^C
            --- 8.8.8.8 ping statistics ---
            3 packets transmitted, 3 received, 0% packet loss, time 2003ms
            rtt min/avg/max/mdev = 84.809/118.472/173.684/39.352 ms
            Copy to clipboard

注释： 如果您已连接至一个网络，但想要使用另一连接，则可以通过指定 SSID `nmcli con down
                                    ssid/uuid` 将连接切换为关闭来断开连接。或者，如果您有多个具有相同 SSID 的连接，请使用 UUID。

注释： 要连接到另一个已保存的连接，只需运行以下命令来传递 `nmcli` 命令行工具中的 up 选项即可。

            nmcli con up ssid/uuidCopy to clipboard

确保指定要连接的新网络的 SSID 或 UUID。

注释： 要退出标准输入 shell，请按 CTRL+C。

有关 `nmcli` 的更多信息，请参阅 [https://www.linux.org/docs/man1/nmcli.html](https://www.linux.org/docs/man1/nmcli.html) 和 [https://networkmanager.dev/docs/api/latest/nmcli.html](https://networkmanager.dev/docs/api/latest/nmcli.html)。

## 设置 Wi-Fi 热点 

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

### 关于此任务

确保按照[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html#use-ssh)中列出的步骤启用 SSH。

通过执行以下步骤在 SoftAP 模式下设置 Wi-Fi 热点：

使用以下命令运行 SSH：

    ssh root@<device_IP_address>Copy to clipboard

例如，如果设备的 IP 地址为 `192.168.1.22`，可运行以下命令：

    ssh root@192.168.1.22Copy to clipboard

注释：  如果存在 WCN6750 芯片组，请确保在 Qualcomm RB3 Gen 2 开发套件上配置的 Wi-Fi SoftAP 工作信道与 Wi-Fi STA 工作信道（不包括 DFS 信道）上的 Wi-Fi SoftAP 工作信道相同。

注释： 将 STA 或 SAP 与 DFS 通道结合使用，因为 STA+SAP SCC DFS 并发当前不可用。

默认情况下，`hostapd.conf` 文件位于 `/etc` 位置。此文件将 RB3 Gen 2 设备配置为 Wi-Fi SoftAP 工作模式，SSID 为 `QSoftAP`，密码为 `1234567890.`。

### 过程

1. 通过运行以下命令添加 Wi-Fi SoftAP 工作模式接口：
                
iw dev wlan0 interface add wlan1 type managedCopy to clipboard
2. 通过执行以下步骤重新配置 Wi-Fi SoftAP 工作模式：
    1. 打开新的命令提示符/终端。
    2. 通过运行以下命令从设备中拉取默认的 hostapd.conf 文件：
                        
scp -r root@<IP_address>:<source_file_path> <destination_file_path>Copy to clipboard

要将文件拉取到当前文件路径，请在命令中输入 `<destination_file_path>` 作为 `.`。

例如，设备的 IP 地址是 `192.168.1.22`，要从 `/etc` 中拉取 `hostapd.conf`，请运行以下命令：

            scp -r root@192.168.1.22:/etc/hostapd.conf .Copy to clipboard
    3. 使用所需的 SSID、密码和相关的 hostapd 配置更新 hostapd.conf 文件。
                        
注释： 确保在修改 Wi-Fi 信道时正确更新 `hw_mode`。有关 hostapd 配置的更多信息，参见 [https://w1.fi/cgit/hostap/plain/hostapd/README](https://w1.fi/cgit/hostap/plain/hostapd/README)。
    4. 通过运行以下命令将文件推送到设备：
                        
scp -r hostapd.conf root@192.168.1.22:/etcCopy to clipboard
    5. 要验证配置参数是否已更新，在设备中对 hostapd.conf 文件运行以下命令：
                        
<cat /etc/hostapd.conf>Copy to clipboard
3. 在具有 WCN6750 Wi-Fi 芯片组的 Qualcomm RB3 Gen 2 开发套件上为 `wlan1` 设置 MAC 地址。在设置 MAC 地址时，可以参考以下示例。 
                
ifconfig wlan1 hw ether 00:03:7F:12:B5:B6Copy to clipboard
4. 请在 `ssh
                        shell` 中运行以下命令，以便设置 SoftAP：
                
hostapd -B /etc/hostapd.confCopy to clipboard

以下输出表示 AP 已设置成功： 
U:\>ssh root@192.168.1.22
        The authenticity of host '192.168.1.22 (192.168.1.22)' can't be established. 
        ED25519 key fingerprint is SHA256: FikBVhxqv9RX0rCP8FP3x0Fr1zGWhgaNhLtD5/7xAJA.
        This key is not known by any other names
        Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
        Warning: Permanently added '192.168.1.22' (ED25519) to the list of known hosts. 
        Last login: Sun Jan 6 00:06:18 1980
        root@qcm6490:~#
        root@qcm6490:~#
        root@qcm6490:~# iw dev wlane interface add wlanl type managed
        root@qcm6490:~# hostapd -B /etc/hostapd.conf
        wlanl: interface state UNINITIALIZED->COUNTRY_UPDATE
        wlanl: interface state COUNTRY_UPDATE->HT_SCAN
        root@qcm6490:~# ps -ef | grep hostapd
        root   1726       1   0  00:14 ?      00:00:00 hostapd -B /etc/hostapd.conf 
        root   1762    1674   0  00:15 pts/0  00:00:00 grep hostapd
        root@qcm6490:~# |Copy to clipboard
5. 要在 Wi-Fi 热点接口上启动动态主机配置协议 (DHCP) 服务器，运行以下命令：
                
brctl addbr br0Copy to clipboard

        brctl addif br0 wlan1Copy to clipboard

        ifconfig br0 192.168.225.1 netmask 255.255.255.0 upCopy to clipboard

        killall dnsmasqCopy to clipboard

        dnsmasq --conf-file=/etc/dnsmasq.conf --dhcp-leasefile=/var/run/dnsmasq.leases --addn-hosts=/data/hosts --pid-file=/var/run/dnsmasq.pid -i br0 -I lo -z --dhcp-range=br0,192.168.225.20,192.168.225.60,255.255.255.0,43200 --dhcp-hostsfile=/data/dhcp_hosts --dhcp-option-force=6,192.168.225.1 --dhcp-script=/bin/dnsmasq_script.shCopy to clipboard
6. 请在 SSH中运行以下命令，以便与 `hostapd_cli` 建立连接:
                
hostapd_cli -i wlan1 -p /var/run/hostapdCopy to clipboard

监视 `hostapd_cli` 控制台以获取 Wi-Fi STA 连接通知，例如 `AP-STA-CONNECTED`、`EAPOL-4WAY-HS-COMPLETED`。

**示例输出**

        root@qcm6490:~# hostapd_cli -i wlanl -p /var/run/hostapd
        hostapd_cli v2.11-devel
        Copyright (c) 2004-2022, Jouni Malinen <j@wl.fi> and contributors
        This software may be distributed under the terms of the BSD License. 
        See README for more details.
        
        Interactive mode
        > <3>AP-STA-CONNECTED aa: a4: fd: 8b: ec: 90
        <3>EAPOL-4WAY-HS-COMPLETED aa: a4: fd: 8b:ec:90
        
        > list_sta
        aa: a4: fd: 8b:ec:90Copy to clipboard
7. 要验证连接状态，请从其他设备连接到 SoftAP。 
                
例如，通过执行以下步骤从移动设备连接到 SoftAP：
    1. 在移动设备上，转到 Wi-Fi settings。
    2. 等待 Wi-Fi STA 检测到 SoftAP（使用 SSID QSoftAP）。
    3. 选择 SoftAP 并输入在 RB3 Gen 2 设备上为 SoftAP 配置的相应 `wpa_passphrase`，然后进行连接。 
**示例输出**

            > status
            state=ENABLED
            phy=phyR freq=2412
            num_sta_non_erp=0
            num_sta_no_short_slot_time=0
            num_sta_no_short_preamble=0
            olbc=0
            num_sta_ht_no_gf=0 num_sta_no_ht=0
            num_sta_ht_20_mhz=0
            num_sta_ht40_intolerant=0
            olbc_ht=0
            ht_op_mode=0x0
            hw_mode=g
            country_code=US
            country3=0x20
            cac_time_seconds=0
            cac_time_left_seconds=N/A
            channel=1
            edmg_enable=0 edmg_channel=0
            secondary_channel=0
            ieee80211n=1
            ieee80211ac=0
            ieee80211ax=0
            ieee80211be=0
            beacon_int=100
            dtim_period=2
            ht_caps_info=000c
            ht_mcs_bitmask=ffff0000000000000000
            supported_rates-02 04 0b 16 Oc 12 18 24 30 48 60 6c
            max_txpower=30
            bss[0]=wlan1
            bssid[0]=00:03:7f:95:8e:8e
            ssid [0]=QSoftAP
            num_sta[0]=1
            > |Copy to clipboard
    4. 要验证连接，在 RB3 Gen 2 设备的 `ssh shell` 中 ping 手机的 IP 地址。

        以下输出表示 Wi-Fi 连接已成功建立，数据传输已开始：

sh-5.1# ping 192.168.1.42
            PING 192.168.1.42 (192.168.1.42): 56 data bytes
            64 bytes from 192.168.1.42: seq=0 ttl=64 time-11.175 ms
            64 bytes from 192.168.1.42: seq=1 ttl=64 time=14.528 ms
            64 bytes from 192.168.1.42: seq=2 ttl=64 time=29.735 ms
            64 bytes from 192.168.1.42: seq=3 ttl=64 time=223.822 ms
            64 bytes from 192.168.1.42: seq-4 ttl=64 time-23.675 ms
            ^C
            192.168.1.42 ping statistics ---
            7 packets transmitted, 5 packets received, 28% packet loss
            round-trip min/avg/max = 11.175/60.587/223.822 ms
            sh-5.1#Copy to clipboard

也可以在连接设备的 Settings中验证 Wi-Fi 连接状态。例如，要获取连接到 RB3 Gen 2 SoftAP 的移动设备的 IP 地址，执行以下步骤：
        1. 导航至 Settings &gt; Wi-Fi。
        2. 验证 AP 的 SSID。

注释： 由于软件更新而对此过程进行的任何更改都将在文档的未来版本中修改。

## 停止 Wi-Fi 热点

Source: [https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html](https://docs.qualcomm.com/doc/80-70017-14SC/topic/Set_up_and_configure_WLAN_connection.html)

### 关于此任务

注释： 确保已设置 Wi-Fi 热点。

要停止热点，在 SSH 中执行以下操作：

### 过程

1. 通过执行以下步骤停止 hostapd：
    1. 要停止 hostapd 过程，可运行以下命令：
                        
killall hostapdCopy to clipboard
    2. 要禁用接口，可运行以下命令：
                        
ifconfig wlan1 downCopy to clipboard
2. 请运行以下命令，以便删除 `ctrl_interface`：
                
rm -rf /var/run/hostapd/wlan1Copy to clipboard

Wi-Fi 热点成功停止。

Last Published: Jan 23, 2025

[Previous Topic
软件](https://docs.qualcomm.com/bundle/publicresource/80-70017-14SC/topics/Check_WLAN_host_and_SS_platform_driver_source_codes.md) [Next Topic
调试](https://docs.qualcomm.com/bundle/publicresource/80-70017-14SC/topics/report_a_w_fi_issue_to_qualcomm.md)