安信可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
OKStatistics: Posted by Guest — Sat Nov 03, 2018 5:08 pm
]]>