Notification of clients joining/leaving the softAP

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

[WICED-SDK-2.2.1]

How do we get an event notification when a client joins or leaves a softAP?

We are trying to ensure that the DHCP IP address pool management works effectively and in order to do so, we would need this data.

We would also like to know which other resources associated with a connected client can be freed up within our application.

0 Likes
8 Replies
Anonymous
Not applicable
You will need to modify the wiced_handle_apsta_event() function in

<WICED-SDK-2.2.1>/Wiced/internal/chips/43362a2/wwd_ap.c to handle the following events:

  • WLC_E_ASSOC_IND - Occurs when a client joins the AP (and BEFORE any required security transaction completes)
  • WLC_E_DISASSOC_IND - Occurs when a client leaves the AP

The only other host resources that might be used by a client are an IP address (if the DHCP server is used), and any open network connections.
0 Likes
Anonymous
Not applicable
Im using wiced_management_set_event_handler() to register handler for WLC_E_DISASSOC_IND and WLC_E_DEAUTH_IND events and it is working auite good. I receive event when client leaves AP but I dont know when client is out of range. Is there any event that can inform me that client is out of range?
0 Likes
Anonymous
Not applicable
WICED cannot determine the reason why a client has stopped responding to packets. The client may be out of range, or it may have been turned off, or it may have lost its antenna, or the medium may be overwhelmed with noise, or many other possible reasons.

After the association has been broken it is the responsibility of the client to re-initiate association with the softAP.
0 Likes
Anonymous
Not applicable
I dont have to know the reason why association has been broken. I need only information that something like that was happened.
0 Likes
Anonymous
Not applicable
There is no way for any AP to know if a client is still in range which is why APs have an association timeout limit (which typically defaults to 60s).

The AP disassocs a client if the client has not sent any traffic within 60s
0 Likes
Anonymous
Not applicable
Is there any notification from AP, which application can use to determine that a client was just disassociated?

Can we set different value of this timeout?

30s would be probably accepted by our customer, its similar value like L2CAP connection timeout in Bluetooth.
0 Likes
Anonymous
Not applicable
You can register to receive the WLC_E_DISASSOC_IND event for the soft AP interface.

To do this you can modify the apsta_events[] variable in wwd_ap.c found in Wiced/WWD/internal/chips/43362a2 and add WLC_E_DISASSOC_IND before WLC_E_NONE.

You will also need to add extra code in wiced_handle_apsta_event() to check if (event_header->event_type == WLC_E_DISASSOC_IND) and then act accordingly.

It is on our roadmap to add a mechanism to simplify this process so an application can register callbacks to asynchronously process client join and leave events.
0 Likes
Anonymous
Not applicable
I have registered callback for WLC_E_DISASSOC_IND and WLC_E_DEAUTH_IND events using wiced_management_set_event_handler() function and its working.

The problem is that I cant determine when client is out for range or have been turned off and so on. I need to disassociate client after some time of inactivity.

Is there any event that I can register to receive such timeout?
0 Likes