SoftAP Network

Microchip TCP/IP Stack

Microchip TCP/IP Stack Help
SoftAP Network

This is only supported by MRF24WG0M. 

SoftAP mode is only supported by MLA v5.42 July 2012 releases or later. 

SoftAP tracking of clients' status (DHCPs.c) is only supported by MLA v5.42.06 Mar 2013 releases or later. 

 

Configure MRF24W as softAP (CFG_WF_SOFT_AP) 

In WF_Config.h, to start up as a softAP, define

  • MY_DEFAULT_NETWORK_TYPE as CFG_WF_SOFT_AP.
  • MY_DEFAULT_SSID_NAME

Example ”MCHPSoftAP_123”.

  • MY_DEFAULT_CHANNEL LIST

This specifies the channel MRF24W softAP will reside in. 

 

SoftAP Network Topology 

Below shows an example of the softAP network. 

 

SoftAP (software enabled AP) functions can be used to extend wireless coverage and share internet connection with others. 

 

Clients supported in SoftAP Mode 

For MRF24WG0M FW version 0x3107, softAP can only support 1 client. 

For future MRF24WG0M FW versions, softAP can support up to a max of 4 clients. 

 

SoftAP Operations : Support of Max 1 Client Scenario 

Once the first client is connected to MRF24WG0M SoftAP, softAP will remember client's MAC address. Only when the client does a disconnect in the 2 scenarios below, softAP will reset the MAC address to NULL. When this happens, another client can connect to MRF24WG0M softAP. 

Below are 2 scenarios in which a client disconnects from MRF24WG0M SoftAP 

Scenario A 

Client A does a proper disconnection, that is disassociation & disauthentication frames are sent. MRF24WG0M SoftAP, after receiving these frames, will reset the MAC address to NULL. Another client B can then connect to our SoftAP. 

Scenario B 

Client just powers off , in other words, did NOT inform MRF24WG0M SoftAP it is disconnecting. 

(SOFTAP_CHECK_LINK_STATUS) To cater to this situation, MRF24WG0M SoftAP will ping STA by transmitting NULL DATA frames to STA to check whether STA is alive/dead. If STA is alive, it will respond to the NULL DATA frames received by transmitting ACK frames back to softAP. If STA is dead, softAP will not receive any frames from this particular device. Once the PARAM_LINK_DOWN_THRESHOLD is reached, softAP considers the device to be dead. Refer to function prototype WF_SetLinkDownThreshold(). 

 

SoftAP Operations : Support of Max 4 Clients Scenario 

To know how many clients and their connection status, DHCPs.c has a data struct DHCP_IP_POOL and the variable DhcpIpPool[] that keeps track of clients connected to softAP, such as client's MAC address, IP address. 

typedef struct 

MAC_ADDR ClientMAC; 

IP_ADDR Client_Addr; 

BOOL isUsed; 

UINT32 Client_Lease_Time; 

}DHCP_IP_POOL; 

DHCP_IP_POOL DhcpIpPool[MAX_DHCP_CLIENTS_NUMBER]; 

However, be aware there would be a latency in client's status. For example, a client has disconnected from softAP. But it would take some time before this update in status in reflected in DhcpIpPool[]. 

 

Detection of SoftAP's SSID 

Certain devices may only support active scan. Based on 802.11 specifications, passive scan is mandatory but active scan is optional. 

MRF24WG0M FW version 0x3107 softAP only supports passive scan. Such devices may not be able to detect MRF24WG0M softAP. 

MRF24WG0M FW version 0x3108 and later softAP supports both passive and active scan. If your device is unable to detect MRF24WG0M softAP SSID, check your MRF24WG0M FW version. 

 

Consideration of SoftAP consuming more transmit power 

According to 802.11 specifications, APs are expected to transmit beacons during beacon intervals (BI), thereby consuming more transmit power, as compared to being a client in infrastructure network type. 

 

MRF24W SoftAP channel setting 

MY_DEFAULT_CHANNEL_LIST will indicate the channel the MRF24W softAP will reside in. 

For example, 

#define MY_DEFAULT_CHANNEL_LIST {6} 

means that MRF24W softAP will reside in social channel 6. 

It is recommended that social channel 1 or 6 or 11 be used for MRF24W softAP channel setting. 

 

 

  • Why does the software hangs at WF_ProcessEvent() in line WF_ASSERT(FALSE) when in softAP network type ?

A possible cause could be the handling of WF event WF_EVENT_SOFT_AP_EVENT. This new feature is only available for MRF24WG0M (i) FW version 0x3108 and later and (ii) MLA v5.42.06 release or later. If you are using MRF24WG0M FW version 0x3108 or later and at the same time using prior to MLA v5.42.06 release, MRF24WG0M is generating this event, however WF_ProcessEvent() did not handle this event and fall into source code line ( default: WF_ASSERT(FALSE) ). The corrective action is to port over this event handling in WFEVentHandler.c and WF_ProcessEvent() (WiFi EZConfig) from MLA v5.42.06 release or later. 

 

  • Why does the MRF24W in softAP network type, with IP address as 192.168.1.1, on certain wireless network has problems with DHCP client assigning new IP address upon network redirection ?

192.168.1.1 is a common IP address with most APs. Potential conflict can arise when there are 2 active DHCP servers in the same wireless network (i.e. AP DHCP server and MRF24W DHCP server). When network redirection is executed, the TCPIP SW may still have the MRF24W DHCP server still active, creating conflicting presence of 2 DHCP servers. This may require stack software change in TCPIP stack to be able to disable the local MRF24W DHCP server after network redirection.

Microchip TCP/IP Stack 5.42.08 - June 15, 2013
Copyright © 2012 Microchip Technology, Inc.  All rights reserved.