Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Data-model Management Layer (DML) loads all data model access APIs through a pre-defined XML file TR181-Wi-Fi-USGV2.XML. An XML description of data model objects and parameters is given for Data Model Management Layer to load. Subsequently, Data Model Management Layer loads the shared library (libWi-Fi.so) which contains data model implementation, specified in the XML file.
The data model implementation in shared library interacts with HAL Integration Layer by calling component specific HAL APIs. These calls covert the user space calls to system level calls and takes the necessary action at driver level.

draw.io Diagram
diagramName
Figure 1:
Gliffy Diagram
macroId470c98cc-d0f7-41a0-9ff0-4b9dfc909dc9
nameArchitectural view of Wi-Fi sub-system.drawio
pagePinrevision21

Code Flow

Initialization sequence of Wi-Fi

...

Integration layer will act as a gluing layer between the driver/dbus/PSM databases and the upper layers.

draw.io Diagram
diagramNamewIFI AGENT BOOT UP FLOW.drawio
Image Removed
revision1

Figure 2: Wi-Fi Agent Boot-up Flow

During startup, Wi-Fi Agent initializes the parameter tree and retrieves the existing persistent configuration and related static or dynamic info from HAL integration layer API.

draw.io Diagram
diagramNameWifi initialization.drawio
revision1
Image Removed

Figure 3: Wi-Fi Initialization 

...

Once the query comes from UI/SNMP/TR69, the PA accesses corresponding D-BUS API. Later the object is identified from the registry and the corresponding API call specific to the parameter being queried is accessed. API to be accessed is determined by the data-model XML which is used for the library. Then the parameter retrieval process end up in retrieving the value for the parameter either from a centralized database maintained by Persistent Storage Manager (PSM) or from a Wi-Fi HAL.

draw.io Diagram
diagramNamecode flow of wifi subsystem.drawio
revision1
Image Removed

Figure 4: Code flow of Wi-Fi subsystem

...

Interactions of Wi-Fi libraries are as below:Image Removed

draw.io Diagram
diagramNamelibrary interaction involved.drawio
revision1

Figure 5: Library Interactions Involved

...

Objects supported by WiFi:

Note: The RDK data model naming convention prefix was changed in March 2020 to “X_RDK_”. We request you use this new prefix going forward.

Device.WiFi.Radio.
Device.WiFi.SSID.
Device.WiFi.AccessPoint.

...

APIs

wifi_init
wifi_initRadio
wifi_down
wifi_reset
wifi_factoryReset
wifi_factoryResetRadio
wifi_setApEnable
wifi_getApEnable
wifi_getApStatus
wifi_getSSIDName

wifi_getWifiChannelStats

wifi_getRadioChannelStats
wifi_getApAssociatedDeviceRxStatsResult
wifi_getHalVersion
wifi_factoryResetRadio
wifi_setLED
wifi_setRadioCountryCode
wifi_pushCountryCode
wifi_getATMCapable
wifi_setATMEnable
wifi_getATMEnable
wifi_setApATMAirTimePercent
wifi_getApATMAirTimePercent
wifi_getApATMSta
wifi_setApATMSta
wifi_getRadioNumberOfEntries
wifi_getSSIDNumberOfEntries
wifi_getRadioIfName
wifi_getRadioMaxBitRate
wifi_getRadioSupportedFrequencyBands
wifi_getRadioOperatingFrequencyBand
wifi_getRadioSupportedStandards
wifi_getRadioMode
wifi_setRadioChannelMode
wifi_setRadioMode
wifi_getRadioPossibleChannels
wifi_getRadioChannelsInUse
wifi_setRadioAutoChannelEnable
wifi_getRadioAutoChannelSupported
wifi_getRadioDCSSupported
wifi_getRadioDCSEnable
wifi_getRadioDCSChannelPool
wifi_getRadioDCSScanTime
wifi_getRadioDcsDwelltime
wifi_getRadioDfsSupport
wifi_getRadioAutoChannelRefreshPeriodSupported
wifi_getRadioAutoChannelRefreshPeriod
wifi_setRadioAutoChannelRefreshPeriod
wifi_setRadioOperatingChannelBandwidth
wifi_getRadioExtChannel
wifi_setRadioExtChannel
wifi_getRadioGuardInterval
wifi_setRadioGuardInterval
wifi_getRadioMCS
wifi_setRadioMCS
wifi_getRadioTransmitPowerSupported
wifi_getRadioTransmitPower

To see the API specfification. Please refer Wifi HAL API Secifications