RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Status | ||||||
---|---|---|---|---|---|---|
|
HAL Interface for Reference Platforms(Raspberry Pi 4 & Banana Pi 4 Reference Platform)
The Hardware Abstraction Layer (HAL) in is to abstract the RDK -B project provides an interface for hardware-dependent operationsWi-Fi requirements at a general level to allow platform independent control. This document explores the available HAL components in the halinterface
rdkb-haif-wifi directory and identifies those relevant to the Raspberry Pi 4 reference platformthe 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:
vlan_eth_hal.h
- VLAN Ethernet HAL
vlan_hal_emu.h
- VLAN HAL Emulator
xdsl_hal.h
- xDSL HAL (Not relevant to RPi4)
xtm_hal.h
- Transmit Multiplexer HAL (Not relevant to RPi4)
...
wifi_hal.h
- Core WiFi HAL (Relevant to RPi4)
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
- ...
...
...
...
voice_hal.h
- Voice Processing HAL
bt_hal.h
- Bluetooth HAL (Relevant to RPi4 if Bluetooth is needed)
Tr69_Tlv.h
- TR-069 TLV Management
For Raspberry Pi 4, the most relevant HALs include:
WiFi HALs:
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
...
Ethernet & VLAN HALs:
- Wifi measurement and Telemetry specific APIs.
...
vlan_eth_hal.h
...
...
...
Bluetooth HAL:
bt_hal.h
...
Voice HAL (If applicable):
Wifi Hal wifi_hal.h:
It 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