RDK Documentation (Open Sourced RDK Components)
Wi-Fi HAL Public APIs and Data Types

Description

Wi-Fi Sub-System Overview

RDK Wi-Fi Architecture

Application
In top of the eco-system we have wide range of application which requires wireless network access. This may be a cloud based UI application, a diagnostics webpage or a console application such as test automation kit which will be required to verify readiness of a new RDK box with respect to different component features.
Service Manager
Service manager is the contact point between external applications and native RDK. It is present in RDK as a library which when plugged in to a browser such as WPE or Qt enhances its capability to make communication from web applications to native RDK components through Java script.
IARM Message Bus
RDK provides a common message and event notification mechanism known as IARM which passes the calls from upper layer i.e. service manager to actual network manager.
Network Manager
Wifi network manager is a daemon which handles network states and network interfaces. It handles Wireless initialization and management.
Generic HAL
It is an abstraction of Wireless driver calls and various linux wireless utilities to present a set of APIs for common wireless operation.
Linux Wireless Utility
Wpa_supplicant, wireless-tools, net-link library, etc.
SoC/OEM Driver/ Firmware
Kernel space driver and firmware binaries will be provided by Wi-FI SOC or OEM and it should be present in the defined path in the RDK box.

Use Case - AP Discovery & Establishing Connection

Modules

 Wi-Fi Client HAL API List
 Wi-Fi Client HAL provides an interface (data structures and API) to interact with underlying Wi-Fi driver and enabling the client to be connected with an Access Point.
 
 Wi-Fi Common HAL API List
 
 Wi-Fi HAL Data Structure