Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

      1. RDK-WiFi-HAL WPS Functions:
        • The HAL typically provides functions like wifi_pushButtonPBC()
        • These functions handle the communication with hostapd
      2. hostapd Control Communication:
        • hostapd 2.10 provides a control interface via Unix domain sockets
        • RDK-WiFi-HAL connects to this socket and sends "WPS_PBC" commands
      3. nl80211 Commands Used:
        • hostapd uses NL80211_CMD_START_WPS with attributes:
          • NL80211_ATTR_IFINDEX: Specifies the wireless interface
          • NL80211_ATTR_WPS_MODE: Set to NL80211_WPS_PBC for push button method
      4. Event Monitoring:
        • WPS events flow back from the driver → nl80211 → hostapd → RDK-WiFi-HAL
        • These events include connection attempts, successful registrations, and timeouts

Communication Flow for WPS PBC

    1. Application Layer → RDK-WiFi-HAL:
      • Your application makes calls to the RDK-WiFi-HAL API
      • These calls are standardized functions in the HAL to trigger WPS
    2. RDK-WiFi-HAL → libhostapd:
      • The HAL translates your request into specific hostapd commands
      • It handles the complexity of connecting to and communicating with hostapd
    3. libhostapd → nl80211:
      • hostapd uses the nl80211 interface to communicate with the kernel
      • It formats the appropriate Netlink messages to trigger WPS PBC
    4. nl80211 → Driver:
      • The kernel's nl80211 subsystem passes commands to your WiFi driver
      • The driver activates the WPS PBC mode on the hardware