This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC3120MOD: CC3120 missing DEAUTHENTICATE/AUTHENTICATE on reconnection to AP

Part Number: CC3120MOD
Other Parts Discussed in Thread: CC3120, 4213, UNIFLASH

Tool/software: Code Composer Studio

Hi all,

on an our device is mounted the CC3120MOD that is managed by an Tiva 32bit Microcontroller that work's on with Freertos and the SimpleLink driver (version 2.30.00.10).

The Simple link is configured as:

  • Station

  • IpV6 and Scan are disabled

  • mDNS is unregistred

  • all 64 filters are removed

  • Connection Policy setted to auto
  • low power policy set to on
  • and DHCP is set as opportunistic renew
  • configured only one profile for the connection to the AP (SSID, psk, type)

We had implemented a Hand Over scenario, based on WLAN connection to the AP, the TCP socket connection switch's form Mobile (WWLAN) to WLAN and vice versa. During the tests in some cases happened that the CC3120 couldn't reconnect to the AP. AP that is handled by dnxa-97 ar5b97 module  and ATH9K linux driver, cast to work on channel 6 with ad band-width of 20 MHz.

To investigate this occurrence, we are doing a test  based on turning on/off the wlan of the AP periodically. So :

  • when the AP is Turned off:
    • i have the disconnection event with a wlan disconnection reason code 102.
    • based on fact that the reason isn't SL_WLAN_DISCONNECT_USER_INITIATED, the manual connection is called, so sl_wlanconnect
    • so the proxy socket's switch to mobile.
  • when the AP is Turned on, randomly happens :
    • the GET_STATUS_BIT(status_variable, STATUS_BIT_CONNECTION) doesn't change, so no connection event is handled
    • and in particular disconnection event with a wlan disconnection reason code 102, triggers (this disconnection reason code is triggered in normal working to).
    • so in that case i'm blocked working on the WWAN.

Doing some capture with wireshark the evidence is that is missing the AUTHENTICATION/DEAUTHENTICATION packets in post probe request/response.
In attacked file, All_BlockingTranstion_capture.pcapng shows the capture when the connection never come's on (7797-8398 that happens, and AethraTe-5d:f6:54 is the CC3120, have to cut-of the mp3 extension :D ), and Blocked_capture.pcapng is a capture of a blocked state.


Do you have any suggestion of why that is happening, so to find a work around to exit from this blocking state.

Thank's in advance,

Kliti

  • Hi Kliti,

    The forum won't let me download mp3 files. Can you try attaching the wireshark again?

    What servicepack version do you have flashed?

    Best regards,

    Sarah

  • Hi Sarah,

    the servicePack flashed on the module is 2.30.00.10.

    The problem seems the call of the manual connection after the disconnection event, that not triggers the Deauthentication/Authentication packet's. The disconnection reason code that come's out is 109 (was wrong writing 102 above).

    Ziped two wireshark capture, the All_BlockingTranstion_capture.pcapng is the complete one.

    Thank you for the replay, Best ragards,

    Kliti

    WSH_capture.zip

  • Hello Sarah,

    sorry for the confusion, the related Service pack is 3.9.0.6_2.0.0.0_2.2.0.6, based on:

    | sp_3.9.0.6_2.0.0.0_2.2.0.6.bin | ServicePack binary for UniFlash |
    | sp_3.9.0.6_2.0.0.0_2.2.0.6.ucf | ServicePack UCF for host driver API |
    | sp_3.9.0.6_2.0.0.0_2.2.0.6.ucf.signed.bin | ServicePack UCF signature |

    Regards,

    Kliti

  • Hi Kliti,

    WLAN disconnect reason 109 is SL_WLAN_DISCONNECT_ROAMING_TRIGGER_BSS_LOSS, which makes sense. Please see this thread: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/806918

    The issue is you say you enter a blocked state working on the WWAN. Can you clarify what that means? What is your application doing after the WLAN disconnect?

    Best regards,

    Sarah

  • Hello Sarah!

    In my application the WiFi interface has highest priority than the mobile so, the device switch to the WWAN when WAN disconnects, mainly because it's out of AP coverage area. The issue happens when the device come's in the AP coverage area and the manual connection doesn't connects ( :-) ) to the AP again. So is not triggered the switch from WWAN to WAN.

    I developed a work around making a Preferred Network connection instead of Manual. The test for now are going good so the device reconnect's correctly to the AP.

    Mostly, in Manual Connection mode the reconnection missing happens when the device stays for a long time out of coverage area of the AP. I'm curios to know why, or if i'm doing a wrong procedure for the manual connection.

    Thanks for the replay, Best regards,

    Kliti

  • Hi Kliti,

    GET_STATUS_BIT is part of the host application, and based on similar examples in the plugin, this bit is likely only set by SL_WLAN_EVENT_CONNECT in SimpleLinkWlanEventHandler().

    Can you try scanning for the network before calling sl_WlanConnect()? You can use sl_WlanGetNetworkList() to see if the AP appears in the available network list.

    How soon after the AP is available were you trying to connect manually? It sounds like you may have been calling sl_WlanConnect before the device could refresh the network list. Adding the network profile as high priority and enabling auto connection should be the right implementation, so you're on the right track.

    Best regards,

    Sarah

  • Hello Sarah,

    Adding the profile and enabling the auto connection resolves the issue for short time staying out of AP range.

    Today i did a test that consist on staying out of AP coverage for an hour. The device is still not connecting to the AP, also after 3 hours that is inside of AP coverage area. The priority of the profile is set to 7.

    Also when connected to the AP i have frequent disconnections, the disconnection reasons are :

    • 200
    • 202
    • 109 (that is the most frequent, 90% of the cases)

    Let me know if im doing something wrong.

    Best regards,

    Kliti