您好!
我正在尝试使用触发的漫游功能、以使用相同的 SSID 从一个 AP 切换到另一个 AP。
为此,我有:
To initialise the function /***** Init *****/ _i16 StatusRoam ; SlWlanNetworkAssistedRoaming_t roamingTriggeringEnable; roamingTriggeringEnable.Enable = 1; roamingTriggeringEnable.rssiThreshold = -63; StatusRoam=sl_WlanSet(SL_WLAN_STA_NETWORK_ASSISTED_ROAMING, SL_WLAN_ROAMING_TRIGGERING_ENABLE, sizeof(SlWlanNetworkAssistedRoaming_t ), (_u8 *)&roamingTriggeringEnable ); UART_PRINT("[Provisioning task ConfigureDefaultState] roamingTriggering Status:%i ; Enable %i ; RSSI Threshold %i :\n\r",StatusRoam,roamingTriggeringEnable.Enable, roamingTriggeringEnable.rssiThreshold); To detect roaming search events : /******* Event ********** / case SL_WLAN_EVENT_LINK_QUALITY_TRIGGER: { UART_PRINT("[WLAN EVENT] RSSI Data=%d\r\n",(int8_t)pWlanEvent->Data.LinkQualityTrigger.Data); UART_PRINT("[WLAN EVENT] RSSI Trigger ID=%d\r\n",(int8_t)pWlanEvent->Data.LinkQualityTrigger.TriggerId); SlWlanNetworkEntry_t netEntries[10]; _u8 i; _i16 resultsCount = sl_WlanGetNetworkList(0,10,&netEntries[0]); for(i=0; i< resultsCount; i++) { UART_PRINT("%d. ", i + 1); UART_PRINT("SSID: %.32s ", netEntries[i].Ssid); UART_PRINT("BSSID: %x:%x:%x:%x:%x:%x ", netEntries[i].Bssid[0], netEntries[i].Bssid[1], netEntries[i].Bssid[2], netEntries[i].Bssid[3], netEntries[i].Bssid[4], netEntries[i].Bssid[5]); UART_PRINT("Channel: %d ", netEntries[i].Channel); UART_PRINT("RSSI: %d ", netEntries[i].Rssi); UART_PRINT("Security type: %d \r\n", SL_WLAN_SCAN_RESULT_SEC_TYPE_BITMAP(netEntries[i].SecurityInfo)); // printf("Group Cipher: %d ", SL_WLAN_SCAN_RESULT_GROUP_CIPHER(netEntries[i].SecurityInfo)); // printf("Unicast Cipher bitmap: %d ", SL_WLAN_SCAN_RESULT_UNICAST_CIPHER_BITMAP(netEntries[i].SecurityInfo)); // printf("Key Mgmt suites bitmap: %d ", SL_WLAN_SCAN_RESULT_KEY_MGMT_SUITES_BITMAP(netEntries[i].SecurityInfo)); // printf("Hidden SSID: %d ", SL_WLAN_SCAN_RESULT_HIDDEN_SSID(netEntries[i].SecurityInfo)); // printf("PMF Enable: %d ", SL_WLAN_SCAN_RESULT_PMF_ENABLE(netEntries[i].SecurityInfo)); // printf("PMF Required: %d\r\n", SL_WLAN_SCAN_RESULT_PMF_REQUIRED(netEntries[i].SecurityInfo)); } if(resultsCount==0){ UART_PRINT("ResultsCount = 0, No Wifi detected"); } }
因此,我有:
第一个连接:
[WLAN 事件] STA 连接到 AP:xxx_smart_tool、BSSID:96:E2:AC:E2:43:c
[NetApp 事件]获取的 IP:IP=192.168.45.114,Gateway=192.168.45.148
当 AP 变得遥远时:
1. SSID:M18 BSSID:FE:99:f:68:84:97通道:7 RSSI:-60安全类型:4.
2、SSID:xxx_smart_tool BSSID:96:E2:AC:E2:43:C 通道:2 RSSI:-58安全类型:4
3、SSID:EZCast2-BF8AC123 BSSID:D2:c0:bf:8a:C1:23通道:11 RSSI:-70安全类型:4.
[WLAN 事件] RSSI Data=-72
[WLAN 事件] RSSI 触发器 ID=1
1. SSID:M18 BSSID:FE:99:f:68:84:97通道:7 RSSI:-61安全类型:4.
2、SSID:xxx_smart_tool BSSID:96:E2:AC:E2:43:C 通道:2 RSSI:-58安全类型:4
3、SSID:EZCast2-BF8AC123 BSSID:D2:c0:bf:8a:C1:23通道:11 RSSI:-71安全类型:4.
[WLAN 事件] RSSI Data=-74
[WLAN 事件] RSSI 触发器 ID=1
1、SSID:MatureX18 BSSID:FE:99:f:68:84:97通道:7 RSSI:-62安全类型:4
SSID:EZCast2-BF8AC123 BSSID:D2:c0:bf:8a:C1:23通道:11 RSSI:-70安全类型:4.
当我激活 具有相同 SSID 的新 AP 时:
[WLAN 事件]器件从 AP 断开:Sam_smart_tool、BSSID:96:E2:AC:E2:43:c (根据应用程序的请求)
[WLAN 事件]器件从 AP 断开:Sam_smart_tool、BSSID:96:E2:AC:E2:43:c (根据应用程序的请求)
我可以看到模块检测到 AP 并与弱 AP 断开连接、但在发生这种情况后、我什么也没有? 该模块不应该自动管理重新连接?
你对这个问题有什么想法吗?
具有相同 SSID 的两个 AP 是否必须属于同一网络才能正常工作?
真诚地、
Maxime