top of page

Rdk-b Integration With Non-native Wi-fi - Socs

Sam built an event loop thread that listened to netlink broadcasts from the QCA chip, translating NL80211_CMD_NEW_STATION into RDK-B's internal WIFI_EVENT_STA_JOIN . It was tedious, but by day ten, the shim could fake a wl -style interface well enough to pass the HAL self-test. The next horror emerged: configuration. RDK-B uses the TR-181 data model (e.g., Device.WiFi.Radio.1.Channel ). The QCA driver used a binary blob called board.bin and a runtime config via iw and hostapd over a Unix socket.

But the real pain was – 802.11k/v/r. RDK-B's steering-daemon relied on Broadcom's proprietary bsd (Band Steering Daemon) ioctls. The QCA chip used RRM (Radio Resource Management) beacons and the iw command for BSS transition management. rdk-b integration with non-native wi-fi socs

Mira made a call: rewrite the steering logic. She stripped out the Broadcom-specific calls and replaced them with a generic nl80211 RRM interface. For two weeks, she lived inside the 802.11 spec, implementing neighbor reports and BTM requests from scratch. On day eighteen, the gateway booted. Both radios (2.4 GHz and 5 GHz) came up. Clients associated. But after 45 minutes, the Wi-Fi would lock up. No ping, no probe responses. The QCA SoC was alive (LED blinking), but RDK-B had lost its mind. Sam built an event loop thread that listened

Mira discovered that the RDK-B wifi-agent would write to a hostapd.conf file, then send SIGHUP. But the QCA SoC, being non-native, didn't run a standard hostapd – it ran a custom wpa_supplicant with a D-Bus API. RDK-B uses the TR-181 data model (e

Mira’s strategy was brutal but necessary: build a – a translation library they called "LibHalBridge."

At the RDK Summit that year, Mira presented a session titled "Bridging the Gap: Non-Native Wi-Fi SoC Integration with RDK-B." The room was packed. Engineers from Juniper, Nokia, and CommScope took notes.

Lead firmware engineer, Mira Khoury, stared at the boot log. The Broadcom SoC, running the full RDK-B suite (CcspCommon, MTA, WebUI, TR-069), had just enumerated the PCIe bus. It saw the QCA chip. It even loaded the vendor's proprietary wlan.ko driver. But the RDK-B middleware, specifically the CcspWifiSsp (Service Subsystem for Wi-Fi), was throwing a tantrum.

bottom of page