Rdk-b Integration With Non-native Wi-fi Socs -
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.
Mira’s strategy was brutal but necessary: build a – a translation library they called "LibHalBridge." rdk-b integration with non-native wi-fi socs
Using gdb on the target, Mira found the culprit: the CcspWifiSsp thread had a blocking call to WIFI_HAL_GetStationList() that took 800ms on the QCA (because the shim had to dump the entire station table via netlink and translate it). During those 800ms, the main event loop starved. A background scan event arrived, but the HAL mutex was held. Deadlock. But the real pain was – 802
The fix was surgical: rewrite the GetStationList() shim to cache station data. A separate thread would refresh the cache every 500ms via nl80211 async dumps. The HAL call would simply copy from the cache – a 100µs operation. By day 25, the system was stable. The TR-181 parameters synchronized. The web UI showed "Qualcomm Wi-Fi 6E" instead of "Broadcom." Even Axiom's proprietary cloud analytics (via TR-069) accepted the chip's RSSI values. Mira’s strategy was brutal but necessary: build a