Dear All,
Was curious to know about following :
- How “WLAN_HOST_WAKE” is been passed to WLAN driver to manage the WiFi Driver?
- How “WiFi/BT_PWR_EN” is been mapped to Android menu for enabling WiFi or BT? From the code, it looks, the power supply for the WiFi/BT is always enabled. For better battery, what is the recommended way of design?
- “WLAN_PD” is the reset signal if the module. Is there any necessary for this to be mapped to Atheros driver for hard reset operation?
Please let us know.
Thanks and Regards,
Gupta
Thank you very much for the information.
Best regards,
Gupta
About WLAN_PD
Atheros's driver don't care about this pin.I also think it is unnecessary. This is only needed to operate just after powering on.
We have kept power on now, so only need operating this pin one time after powering on wifi.
About WiFi/BT_PWR_EN.
In R10.3.2, WiFi is always with power on.Using wifi's wow("wake on wireless") suspend/resume mode to save power.Thus it will restore to connection after resuming from suspend.About how to mapped to Android menu, it it very basic.WirelessSettings--->WifiEnabler--->WifiManager(setWifiEnabled)--->WifiService(sendEnableMessage->setWifiEnabledBlocking->mWifiStateTracker.loadDriver--->mWifiStateTracker.startSupplicant())----->HAL(wifi_ath.c).
So you can see that we keep power on all from the beginning. Enable/disable wifi from setting menu UI is only managing the wifi driver's loading and supplicant. This is also our recommended way for better battery. Keep power on and use wifi module's self power save mode.
About WLAN_HOST_WAKE.
WLAN_HOST_WAKE is used to wake host by wifi module. This function is not implemented in our R10.3.2 version.If enable this function, we need to register a wake up interrupt and enable it in sdio's suspend function.Thus when system go into suspend, wifi module can wake up system through WLAN_HOST_WAKE's interupt.