You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3运行wpa_supplicant出现reason=0 locally_generated=1问题求解

树莓派3 wpa_supplicant WiFi反复断开故障排查方案

问题描述

我在树莓派3开发板上运行wpa_supplicant,通过wpa_cli提供凭据后,设备尝试连接AP但出现反复断开的错误,具体命令及日志如下:

pi@adityapi:~/Desktop/WifiConnectApp/Rust/latest $ sudo wpa_supplicant -i wlan0 -Dnl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
Successfully initialized wpa_supplicant
wlan0: Trying to associate with 58:6d:8f:3d:27:f4 (SSID='STAP-0' freq=2437 MHz)
wlan0: Associated with 58:6d:8f:3d:27:f4
wlan0: WPA: Key negotiation completed with 58:6d:8f:3d:27:f4 [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 58:6d:8f:3d:27:f4 completed [id=0 id_str=]
wlan0: CTRL-EVENT-DISCONNECTED bssid=58:6d:8f:3d:27:f4 reason=0 locally_generated=1
wlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
wlan0: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=IN
wlan0: Trying to associate with 58:6d:8f:3d:27:f4 (SSID='STAP-0' freq=2437 MHz)
wlan0: Associated with 58:6d:8f:3d:27:f4
wlan0: CTRL-EVENT-DISCONNECTED bssid=58:6d:8f:3d:27:f4 reason=0 locally_generated=1
wlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
wlan0: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=IN
wlan0: Trying to associate with 58:6d:8f:3d:27:f4 (SSID='STAP-0' freq=2437 MHz)
wlan0: Associated with 58:6d:8f:3d:27:f4
wlan0: CTRL-EVENT-DISCONNECTED bssid=58:6d:8f:3d:27:f4 reason=0 locally_generated=1
wlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
wlan0: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=IN
wlan0: Trying to associate with 58:6d:8f:3d:27:f4 (SSID='STAP-0' freq=2437 MHz)
wlan0: Associated with 58:6d:8f:3d:27:f4
wlan0: CTRL-EVENT-DISCONNECTED bssid=58:6d:8f:3d:27:f4 reason=0 locally_generated=1
wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="STAP-0" auth_failures=1 duration=10 reason=CONN_FAILED
wlan0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
wlan0: CTRL-EVENT-REGDOM-CHANGE init=USER type=COUNTRY alpha2=IN

已尝试禁用Network Manager,但问题仍未解决,请问该如何处理此故障?


故障排查与解决方向

从日志来看,设备能完成AP关联和密钥协商,但很快触发本地生成的断开事件(reason=0 locally_generated=1),同时伴随反复的区域切换,最后因连接失败暂时禁用SSID。结合你已禁用Network Manager的情况,推荐以下排查步骤:

  • 验证wpa_supplicant配置文件的准确性
    这是最常见的问题点,确保WiFi密码或PSK哈希正确:

    • 如果你使用明文密码,配置文件中应该用password字段;如果是哈希值,用psk字段,不要混淆。
    • 可以用wpa_passphrase命令自动生成正确的配置段,替换到/etc/wpa_supplicant/wpa_supplicant.conf:
      wpa_passphrase "STAP-0" "你的WiFi密码"
      

    生成的内容类似:

    network={
        ssid="STAP-0"
        #psk="你的WiFi密码"
        psk=abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
    }
    
  • 修复区域设置的反复切换问题
    日志中频繁出现REGDOM-CHANGE,可能导致连接不稳定:

    • 编辑/etc/default/crda文件,设置固定区域:
      sudo nano /etc/default/crda
      
      将REGDOMAIN改为IN,保存后重启系统。
    • 启动wpa_supplicant时可以指定区域参数,避免自动切换:
      sudo wpa_supplicant -i wlan0 -Dnl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant --country=IN
      
  • 更新系统与WiFi驱动
    树莓派3的WiFi模块可能存在旧驱动兼容性问题,尝试更新系统和固件:

    sudo apt update && sudo apt full-upgrade -y
    sudo rpi-update
    

    更新完成后重启设备,再测试连接。

  • 排查AP端的配置限制
    连接后被断开也可能是AP端的设置导致:

    • 检查AP是否开启了MAC地址过滤,如果开启,需要将树莓派的wlan0 MAC地址加入允许列表。
    • 确认AP的WiFi信道是否在印度允许的2.4GHz范围内(1-13信道),避免使用受限信道。
    • 尝试将AP的WiFi模式改为兼容模式(比如802.11b/g/n混合),不要仅设置为802.11n或ac。
  • 强制指定连接参数提升稳定性
    在wpa_supplicant.conf中添加更具体的连接参数,避免协商异常:

    network={
        ssid="STAP-0"
        psk="你的PSK哈希值"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        priority=1
    }
    

内容的提问来源于stack exchange,提问作者Vinay KS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:38:11