Introduction

                   Updation of dynamic hostapd changes in WiFi hal layer lead to resolution of various issues like timeout errors when we try to set values to wifi parameters such as ssid, password, SecurityMode, channel etc through dmcli commands or WebUI. Moreover, features such as xfinity-wifi,snmp set/get of wifi calls ,factory-reset timeout errors are also resolved. This enhanced the performance of WebUI.

We resolved this scenario with support of hostapd_cli.
hostapd_cli is a text-based frontend program for interacting with hostapd.
hostapd is a user  space daemon  for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators and RADIUS authentication server.

Design Considerations

                   Upgraded hostapd version from 2.2 to 2.5 in emulator because this version have the support of enabling /disabling of hostapd  at runtime  through hostapd_cli.

Following wifi hal api's are added and modified in wifi_hal.c ,

Modified wifi hal api's are :

  1. wifi_setSSIDName()
  2. wifi_getApEnable()
  3. wifi_getApStatus()
  4. wifi_setApSsidAdvertisementEnable()
  5. wifi_setSSIDEnable()
  6. wifi_setApEnable()
  7. wifi_getSSIDStatus()
  8. wifi_setPreferPrivateConnection()
  9. wifi_stopHostApd()
  10. wifi_startHostApd()
  11. wifi_restartHostApd()
  12. wifi_setApEnable()
  13. wifi_setApSecurityModeEnabled()
  14. wifi_setApSecurityPreSharedKey()
  15. wifi_setApSecurityKeyPassphrase()
  16. wifi_setApWpsEnable()
  17. wifi_setApWpsConfigMethodsEnabled()
  18. wifi_setApWpsDevicePIN()
  19. wifi_getRadioEnable()
  20. wifi_setRadioEnable()
  21. wifi_getRadioStatus()
  22. wifi_setRadioChannelMode()
  23. wifi_setRadioChannel()
  24. wifi_setRadioAutoChannelEnable()
  25. wifi_setRadioOperatingChannelBandwidth()
  26. wifi_setApSecurityKeyPassphrase()

Newly added dynamic wifi hal api's:

  1. Stop_Start_Broadcasting_SSID_Names_Hostapd_Process()
  2. GetInterfaceName_HostapdConf()
  3. Dynamically_Disabling_hostapd_process()
  4. Dynamically_Enabling_hostapd_process()
  5. Dynamically_Updated_SupportedRated_hostapd_process()
  6. Dynamically_Updated_Password_hostapd_process()
  7. Dynamically_Updated_SSIDAdvertisement_Hostapd_Process()
  8. Dynamically_Updated_SSIDName_Hostapd_Process()
  9. DYnamically_Updated_OperatingChannelBandwidth()
  10. Dynamically_Updated_Security_Encryption_Modes_Hostapd_Process()
  11. Dynamically_Updated_Channel_Value_hostapd_process()
  12. Dynamically_Enabling_And_Disabling_WPS_Support_Hostapd_Process()
  13. Dynamically_Updated_WPS_ConfigMethods_Hostapd_process()
  14. Dynamically_Updated_WPS_ApPin_Hostapd_Process()         

Architecture


  1. Code flow of setting the private WiFi 2G SSID

                                              

                                                          

Data Model

S.NOModuleDMCLI commandsDescription
1.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.1.EnableEnable/Disable the private wifi of 2g
2.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.2.EnableEnable/Disable the private wifi of 5g
3.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.5.EnableEnable/Disable the public wifi of 2g
4.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.6.EnableEnable/Disable the public wifi of 5g
5.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.1.SSIDGet/Set the ssid of private 2g
6.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.2.SSIDGet/Set the ssid of private 5g
7.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.5.SSIDGet/Set the ssid of public 2g
8.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.6.SSIDGet/Set the ssid of public 5g
9.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.1.StatusCheck the status of Private 2g
10.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.2.StatusCheck the status of Private 5g
11.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.5.StatusCheck the status of Public 2g
12.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.SSID.6.StatusCheck the status of Public 5g
13.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.1.EnableEnable/Disable the 2G SSID's
14.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.2.EnableEnable/Disable the 5G SSID's
15.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.1.Statuscheck the status of 2G
16.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.2.Statuscheck the status of 5G
17.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.Security.KeyPassphraseGet/Set the passphrase of private wifi 2G
18.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.Security.KeyPassphraseGet/Set the passphrase of private wifi 5G
19.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.Security.ModeEnabledGet/Set the security modes of private wifi 2G
20.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.Security.ModeEnabledGet/Set the security modes of private wifi 5G
21.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.Security.X_CISCO_COM_EncryptionMethodGet/Set the Encryption Methods of private wifi 2G
22.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.Security.X_CISCO_COM_EncryptionMethodGet/Set the Encryption Methods of private wifi 5G
23.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.1.ChannelGet/set the channel of 2G 
24.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.2.ChannelGet/set the channel of 5G 
25.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.SSIDAdvertisementEnabledVisible/Invisble of broadcasting 2G SSID'S
26.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.SSIDAdvertisementEnabledVisible/Invisble of broadcasting 5G SSID'S
27.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.1.OperatingStandardsGet/Set the operating standards of 2g
28.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.Radio.2.OperatingStandardsGet/Set the operating standards of 5g
29.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.WPS.EnableEnable/Disable of WPS 2G
30.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.WPS.EnableEnable/Disable of WPS 5G
31.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.2.WPS.ConfigMethodsEnabledGet/Set the ConfigMethods Enabled 5G
32.WiFi Module(TR-181-WiFi-USGv2.XML)

Device.WiFi.AccessPoint.5.Security.ModeEnabled &

Device.WiFi.AccessPoint.6.Security.ModeEnabled

Get the security modes of public wifi 5G & 2G as NONE
33.WiFi Module(TR-181-WiFi-USGv2.XML)Device.WiFi.AccessPoint.1.WPS.ConfigMethodsEnabledGet/Set the ConfigMethods Enabled 2G
34.

PAM Module 

XML Mapper -

TR181-USGv2.XML

Device.DeviceInfo.X_COMCAST_COM_xfinitywifiEnableEnable/Disable the xfinitywifi



  • No labels