AT指令Bug:esp8266 如果存在两个具有相同ssid的热点,esp8266无法通过限制热点的mac地址的方式来连接想要连接的热点

Huntsman
Posts: 1
Joined: Sat Nov 03, 2018 4:33 pm

AT指令Bug:esp8266 如果存在两个具有相同ssid的热点,esp8266无法通过限制热点的mac地址的方式来连接想要连接的热点

Postby Huntsman » Sat Nov 03, 2018 5:08 pm

根据AT指令手册,AT+CWJAP_CUR=<ssid>,<pwd>,[<bssid>][,<pci_en>] 可以限制要连接的热点的mac地址(bssid),来避免连接到其他具有相同ssid的热点。但是测试过程中发现以下问题:

安信可esp-12E模块(使用esp8266芯片)AT版本1.2.0.0,发现
AT+CWJAP_CUR=<ssid>,<pwd>,[<bssid>][,<pci_en>]
这条指令的bssid没有生效,我设置了仅连接特定bssid的wifi,但是连接上了另外一个有相同ssid的wifi。
换另外一个at版本是0.40.0.0的esp-12E模块测试,没有这个问题,所以我怀疑是1.2.0.0版本的at指令有bug.


更新了AT固件到V1.6.2.0之后测试发现如下现象:(测试方法一正常,测试方法二暴露了bug)

测试方法一:复位模块之后设置station模式,然后连接mac地址为“a0:2c……”,名为Pad_01的wifi,由于不存在该mac地址的名为“Pad_01”的wifi,只有其他mac地址的名为“Pad_01”的wifi,所以返回错误3:找不到目标AP,再次连接还是同样的结果,这是正常的,是预期的结果。
AT+CWMODE_CUR=1

OK
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
WIFI DISCONNECT
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:3

FAIL

测试方法二:复位模块后,设置station模式,查找是否存在“Pad_CFG”wifi,然后和测试方法一 一样连接mac地址为“a0:2c……”,名为Pad_01的wifi,由于不存在该mac地址的名为“Pad_01”的wifi,只有其他mac地址的名为“Pad_01”的wifi,所以返回错误3:找不到目标AP,然后再次连接返回错误1:超时,再次连接竟然连上了!这不是预期的结果。
经过多次测试发现一个规律:只要返回错误1之后再次连接,就能连上。


AT+CWMODE_CUR=1

OK
AT+CWLAP="Pad_CFG"

OK
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
WIFI DISCONNECT
+CWJAP:3

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
+CWJAP:1

FAIL
AT+CWJAP_CUR="Pad_01","12345678","a0:2c:36:e3:66:5f"
WIFI CONNECTED
WIFI GOT IP

OK


Who is online

Users browsing this forum: No registered users and 1 guest