RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
WORK IN-PROGRESS
HAL Interface for Reference Platforms(Raspberry Pi 4 & Banana Pi 4)
The Hardware Abstraction Layer (HAL) is to abstract the RDK Wi-Fi requirements at a general level to allow platform independent control. This document explores the available HAL components in the rdkb-haif-wifi directory and identifies those relevant to the reference platforms.
Hal Version : 3
WifiHal Diagram:
Reference: https://github.com/rdkcentral/rdkb-halif-wifi/blob/develop/docs/pages/images/WifiHALDiagram.PNG
Components are listed below:
The directory contains various HAL implementations, categorized as follows:
rdkb-halif-wifi/
├── build_ut.sh
├── CHANGELOG.md
├── configure.ac
├── CONTRIBUTING.md
├── COPYING -> LICENSE
├── LICENSE
├── NOTICE
├── README.md -> ./docs/pages/halSpec.md
├── docs/
│ ├── pages/
│ ├── generate_docs.sh
├── include/
│ ├── wifi_hal.h
│ ├── wifi_hal_ap.h
│ ├── wifi_hal_client_mgt.h
│ ├── wifi_hal_deprecated.h
│ ├── wifi_hal_emu.h
│ ├── wifi_hal_extender.h
│ ├── wifi_hal_generic.h
│ ├── wifi_hal_radio.h
│ ├── wifi_hal_sta.h
│ ├── wifi_hal_telemetry.h
wifi_hal.h
- Core WiFi HAL (Relevant to RPi4)wifi_hal_client_mgt.h
- Wifi client management specific APIs.wifi_hal_extender.h
- Includes API's used by Plume Mesh.
wifi_hal_generic.h - Wifi generic API and types definition used across multiples modules. Includes below API's.
wifi_hal_radio.h
- Includes API to configure and read configuration, factory-reset and reset of the radio.
wifi_hal_sta.h
- Includes API to create, configure and read configuration the STA VAP.
wifi_hal_telemetry.h
- Wifi measurement and Telemetry specific APIs.
Wifi Hal serves as the central interface for interacting with different WiFi components like the radio, access point (AP), station (STA), client management, telemetry, and extenders. The APIs defined in wifi_hal.h
are meant to be used across multiple modules of the WiFi stack. For example, the wifi_hal_generic.h
file may include basic functionality needed by all other modules, while the wifi_hal_radio.h
, wifi_hal_ap.h
, and other headers provide specific functionality for each part of the WiFi subsystem.
Source code: https://github.com/rdkcentral/rdkb-halif-wifi