When hearing WPS(Wifi Protected Setup) i always think of the worst idea in network security. 'Hey, how about changing a long key with a minimum length of 8 characters to something like... 4 numbers! And with that number you get the original password! GENIUS' . But WPS consists of more than this shitty idea. It also provides a means of attaching shitty devices to wifi with 'one touch of a button'. That is why quite a lot of current routers have the WPS-Button to easily connect such devices (namely wifi printers and scanners).
It just works with stock firmware but of course i am running a Frickelsystem  on my TP-Link router. On OpenWRT  it might work out of the box with the latest and greatest unstable release but in my case i needed to replace some packages to make it work.
Here is what i needed to do:
opkg update opkg install hostapd-utils --force-override opkg install wpad --force-override vi /etc/config/wireless # add 'option wps_pushbutton 1' to every 'config wifi-iface' section #testing the shit wifi hostapd_cli interface wlan0 wps_pbc
After running the last command, press the WPS button on your printer. The wifi should now glowing in the correct color. The WPS button on your router should now also be working if the stars are alligned correctly.
|||Systems not made for end-users. see Openwrt|
|||Alternative router firmware without the official router vendor backdoors (safety not guaranteed). Also the mother of all Frickelsystemen|