wifi连接失败的reason

esp32学习:

在scan例程中,调试sta模式下连接失败的原因:

1、一开始以为连接失败的话,会在conenct接口esp_wifi_connect()的返回值里返回原因

      经过分析,这个接口一般返回的是0,及时是找不到ssid,或者密码错误

2、后来在event事件的SYSTEM_EVENT_STA_DISCONNECTED中发现,连接失败的原因在event时间成员里:

case SYSTEM_EVENT_STA_DISCONNECTED:
    ESP_LOGI(TAG, "SYSTEM_EVENT_STA_DISCONNECTED");
    ret = event->event_info.disconnected.reason;
    ESP_LOGI(TAG, "wqy-->ret = %d", ret);
    ESP_ERROR_CHECK(esp_wifi_connect());
break;

   ret值是我自己调试添加的,通过获取event->event_info.disconnected.reason的值可以获取连接失败的返回值;

   我让它连接不存在的ssid,返回值为201

 

返回值对应的原因:

REASON_UNSPECIFIED              = 1,
REASON_AUTH_EXPIRE              = 2,
REASON_AUTH_LEAVE               = 3,
REASON_ASSOC_EXPIRE             = 4,
REASON_ASSOC_TOOMANY            = 5,
REASON_NOT_AUTHED               = 6,
REASON_NOT_ASSOCED              = 7,
REASON_ASSOC_LEAVE              = 8,
REASON_ASSOC_NOT_AUTHED         = 9,
REASON_DISASSOC_PWRCAP_BAD      = 10,  /* 11h */
REASON_DISASSOC_SUPCHAN_BAD     = 11,  /* 11h */
REASON_IE_INVALID               = 13,  /* 11i */
REASON_MIC_FAILURE              = 14,  /* 11i */
REASON_4WAY_HANDSHAKE_TIMEOUT   = 15,  /* 11i */
REASON_GROUP_KEY_UPDATE_TIMEOUT = 16,  /* 11i */
REASON_IE_IN_4WAY_DIFFERS       = 17,  /* 11i */
REASON_GROUP_CIPHER_INVALID     = 18,  /* 11i */
REASON_PAIRWISE_CIPHER_INVALID  = 19,  /* 11i */
REASON_AKMP_INVALID             = 20,  /* 11i */
REASON_UNSUPP_RSN_IE_VERSION    = 21,  /* 11i */
REASON_INVALID_RSN_IE_CAP       = 22,  /* 11i */
REASON_802_1X_AUTH_FAILED       = 23,  /* 11i */
REASON_CIPHER_SUITE_REJECTED    = 24,  /* 11i */

REASON_BEACON_TIMEOUT         = 200,
REASON_NO_AP_FOUND              = 201,
REASON_AUTH_FAIL            = 202,
REASON_ASSOC_FAIL            = 203,
REASON_HANDSHAKE_TIMEOUT      = 204,

  在esp32里,现在的理解是,如果连接不存在的ssid,则会返回REASON_NO_AP_FOUND(201)

 如果密码错误并不能由某个返回值来具体确认;

 

 连接返回值说明的相关网址:

 https://bbs.espressif.com/viewtopic.php?f=7&t=4604

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值