I have read the documentation and googled extensively but, when I try to initiate WPS, I always receive a response of “FAIL”. Nobody else seems to have this issue, so what am I doing wrong?

I only want to enable this temporarily as it is the only way I know to connect a doorbell camera that I obtained for free and need to “hack”.

> uci show wireless | grep wps
wireless.wifinet6.wps_pushbutton='1'

> hostapd_cli wps_pbc
Selected interface 'phy1-ap3'
FAIL

I have tried on both a Turris Omnia (OpenWRT 23.05.3) and TP-Link Archer C7 (OpenWRT 23.05.2). On each, and per the instructions, I installed hostapd-utils and replaced the stock wpad-basic-mbedtls with the full-featured version (I tried both wpad and wpad-mbedtls).

I have 4 WLANs on each radio. I tried configuring the single WLAN of interest with the option wps_pushbutton '1' as well as setting it on all WLANs on that radio (per a suggestion I found), but same result.

I’ve tried adding other wps_… options, rebooting, and everything in between, but same result. I don’t see anything relevant in the syslog, and can’t find a way to increase verbosity for hostapd. I’ve even looked at the source code for hostapd_cli which didn’t really help.

Any thoughts?

  • Piranha PhishOP
    link
    English
    111 days ago

    I figured it out. The issue was that the SSID cannot be hidden.

    I didn’t realize that it was required to be visible as not a single reference I found stated that it needed to be. While it isn’t immediately intuitive as to why it would need to be visible, I suppose it makes sense as I believe the client is using the ESSID to associate rather than the BSSID, thus needs to be seen by the client.

    I now get a response of “OK”. Now I’ll go actually try to connect the device and then disable WPS afterward.