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?
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.