扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

NXP 88W9098双STA双频连接AP实操:WPA2/WPA3 兼容+2.4G/5G并行方案

1小时前
264
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

NXP 88W9098 Wi-Fi 模组凭借双 MAC 设计,可在 i.MX8MP-EVK 开发板上同时启用两个 STA 接口(mlan0 对应 5G、mmlan0 对应 2.4G),分别连接不同 AP,支持 WPA2-PSK 和 WPA3-SAE 加密,还能通过参数限制连接频段。核心思路是配置驱动参数、编写 wpa_supplicant 配置文件、禁用冲突服务并验证连接,适用于需要冗余网络或双频段并行的物联网场景。本文详解从驱动配置到连接验证的完整流程,新手可直接复用配置模板快速落地。

1. 核心目标与环境准备

1.1 技术目标

  • 启用双 STA 接口:mlan0(MAC0)连接 5G AP,mmlan0(MAC1)连接 2.4G AP;
  • 支持双加密方式:WPA2-PSK(兼容旧设备)和 WPA3-SAE(高安全性);
  • 实现并行连接:两个 STA 接口同时在线,可独立访问外网;
  • 灵活频段控制:通过参数限制仅连接目标频段(2.4G 或 5G)。

1.2 软硬件环境

  • 硬件:i.MX8MP-EVK 开发板、NXP 88W9098 Wi-Fi 模组、5G 路由器智能手机(开启 2.4G 热点);
  • 软件:Linux BSP L6.12.3_1.0.0、固件版本 17.92.1.p149.60、驱动版本 MM6X17505.p14-GPL;
  • 工具:wpa_supplicant、udhcpc、MobaXterm(串口终端);
  • 镜像要求:需编译 imx-image-multimedia(NXP 官网 DEMO 镜像不含,需通过 Yocto 构建)。

2. 驱动配置:启用双 STA 接口(关键前提)

2.1 核心配置文件(wifi_mod_para.conf)

文件路径:/lib/firmware/nxp/wifi_mod_para.conf,需配置两个 MAC 节点,参数如下(直接复用):
PCIE9098_0 = {  # MAC0,对应mlan0接口(推荐5G)
    cfg80211_wext=0xf 
    max_vir_bss=1 
    cal_data_cfg=none 
    ps_mode=1  # 启用802.11省电模式,禁用设2
    auto_ds=1  # 启用自动深度睡眠,禁用设2
    host_mlme=1  # 支持WPA3加密,WPA2可省略
    fw_name=nxp/pcieuart9098_combo_v1.bin  # 固件路径
}
PCIE9098_1 = {  # MAC1,对应mmlan0接口(推荐2.4G)
    cfg80211_wext=0xf 
    max_vir_bss=1 
    cal_data_cfg=none 
    ps_mode=1 
    auto_ds=1 
    host_mlme=1 
    fw_name=nxp/pcieuart9098_combo_v1.bin 
}

2.2 关键参数说明(避坑核心)

  • drv_mode:默认不配置(支持所有接口),需单独启用 STA 接口时设为 1(仅 mlan0/mmlan0),设为 3 则同时启用 STA+uAP 接口;
  • host_mlme=1:WPA3 连接必需,WPA2 场景可删除该参数;
  • 固件路径:确保/lib/firmware/nxp/目录存在,无则手动创建(mkdir -p /lib/firmware/nxp)。

2.3 加载驱动并验证接口

# 加载驱动(随内核编译时)
modprobe moal mod_para=nxp/wifi_mod_para.conf
# 单独编译驱动加载:insmod mlan.ko && insmod moal.ko mod_para=nxp/wifi_mod_para.conf
# 验证接口(应显示mlan0、mmlan0)
ifconfig -a
  • 成功标志:终端显示 mlan0 和 mmlan0 接口,状态为 BROADCAST、MULTICAST。

3. 核心流程:双 STA 接口连接 AP(分频段 + 分加密)

3.1 通用前置操作(所有连接前必做)

禁用 connman 服务,避免占用 Wi-Fi 接口导致连接失败:
systemctl disable connman.service && systemctl stop connman.service

3.2 mlan0 接口(5G)连接 AP

(1)WPA2-PSK 加密配置

  • 创建配置文件:
    nano /etc/wpa_supplicant-5g-wpa2.conf
    
  • 配置内容(替换 SSID 和密码为 5G AP 信息):
    ctrl_interface=/var/run/wpa_supplicant 
    update_config=1 
    p2p_no_group_iface=1 
    network={ 
        ssid="WEIDONG-5G"  # 5G AP的SSID
        psk="Apple_20220801"  # 5G AP的密码
        proto=RSN  # 启用WPA2
        key_mgmt=WPA-PSK 
        pairwise=CCMP 
        group=CCMP 
    }
    
  • 启动服务并获取 IP:
    # 后台启动wpa_supplicant
    wpa_supplicant -d -B -i mlan0 -c /etc/wpa_supplicant-5g-wpa2.conf -Dnl80211 &
    # 获取IP地址
    udhcpc -i mlan0
    
  • 验证连接:ping 8.8.8.8,无丢包则说明 5G 路径连通。

(2)WPA3-SAE 加密配置

  • 创建配置文件:
    nano /etc/wpa_supplicant-5g-wpa3.conf
    
  • 配置内容:
    ctrl_interface=/var/run/wpa_supplicant 
    ap_scan=1 
    network={ 
        ssid="WEIDONG-5G" 
        scan_ssid=1 
        key_mgmt=SAE  # WPA3专属加密模式
        proto=RSN 
        pairwise=CCMP 
        group=CCMP 
        sae_password="Apple_20220801"  # WPA3密码字段(区别于psk)
        ieee80211w=2  # 强制启用管理帧保护(WPA3必需)
    }
    
  • 启动服务并验证:
    # 终止原有wpa_supplicant进程
    killall wpa_supplicant
    # 启动WPA3连接
    wpa_supplicant -d -B -i mlan0 -c /etc/wpa_supplicant-5g-wpa3.conf -Dnl80211 &
    udhcpc -i mlan0
    ping 8.8.8.8  # 验证连通性
    

3.3 mmlan0 接口(2.4G)连接 AP

(1)WPA2-PSK 加密配置(连接手机热点)

  • 手机设置:开启 2.4G 热点(示例 SSID:SWD-Mate-60,密码:12345678);
  • 创建配置文件:
    nano /etc/wpa_supplicant-2g-wpa2.conf
    
  • 配置内容:
    ctrl_interface=/var/run/wpa_supplicant 
    update_config=1 
    p2p_no_group_iface=1 
    network={ 
        ssid="SWD-Mate-60"  # 2.4G热点SSID
        psk="12345678"      # 热点密码
        proto=RSN 
        key_mgmt=WPA-PSK 
        pairwise=CCMP 
        group=CCMP 
    }
    
  • 启动服务并验证:
    wpa_supplicant -d -B -i mmlan0 -c /etc/wpa_supplicant-2g-wpa2.conf -Dnl80211 &
    udhcpc -i mmlan0
    # 查看双接口状态(均显示UP、RUNNING)
    ifconfig mlan0 && ifconfig mmlan0
    

(2)WPA3-SAE 加密配置(连接 2.4G 路由器)

  • 创建配置文件:
    nano /etc/wpa_supplicant-2g-wpa3.conf
    
  • 配置内容:
    ctrl_interface=/var/run/wpa_supplicant 
    ap_scan=1 
    network={ 
        ssid="WEIDONG-2G" 
        scan_ssid=1 
        key_mgmt=SAE 
        proto=RSN 
        pairwise=CCMP 
        group=CCMP 
        sae_password="Apple_20220801" 
        ieee80211w=2 
    }
    
  • 启动服务并验证:步骤同 5G WPA3,最终双接口可同时在线,独立访问外网。

4. 关键参数解读(灵活适配场景)

4.1 频段限制参数(仅连接目标频段)

  • 仅连接 2.4G:在配置文件的network节点外添加:
    freq_list=2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 2484
    
  • 仅连接 5G:添加:
    freq_list=5180 5200 5220 5240 5260 5280 5300 5320 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5720 5745 5765 5785 5805 5825 5845 5865 5885
    
  • 说明:scan_freq参数用法相同,仅控制扫描频段,优先级低于freq_list

4.2 加密与安全参数

  • ieee80211w:管理帧保护,WPA3 必需设 2(强制启用),WPA2 可选 0(禁用)/1(可选);
  • key_mgmt:加密模式,WPA-PSK对应 WPA2,SAE对应 WPA3-Personal;
  • sae_password:WPA3 专属密码字段,不可与 WPA2 的psk混用。

5. 避坑核心事项

  1. 必须禁用 connman 服务:否则会占用 Wi-Fi 接口,导致 wpa_supplicant 启动失败;
  2. 双 MAC 接口资源共享:每个 MAC 的 3 个接口(STA/uAP/WFD)共享硬件资源,避免单个接口长时间扫描,以免影响其他接口稳定性;
  3. WPA3 配置三要素:host_mlme=1(驱动参数)+ key_mgmt=SAE + ieee80211w=2,缺一不可;
  4. 固件路径正确:确保/lib/firmware/nxp/下存在pcieuart9098_combo_v1.bin,无 nxp 目录需手动创建;
  5. 双 STA 并行注意:两个接口的 IP 网段需不同(如 mlan0 为 192.168.1.x,mmlan0 为 192.168.43.x),避免路由冲突。
88W9098 的双 MAC 设计是核心优势,支持双 STA 双频并行连接,兼容 WPA2/WPA3 加密,适配不同安全需求场景。整个流程的关键是驱动参数配置、wpa_supplicant 文件定制和冲突服务禁用,按本文步骤执行即可实现双 AP 同时连接,且支持灵活的频段限制。

相关推荐