Wps seems to have been broken for a while, the last time I remember it working was in the Lede 17.* builds, it's not used by many people so probably not very much of a priority for developers. From what I remember setting everything through cli rather than luci and rebooting between tries would sometimes get it to work, but I don't know if that's still the case or not (and probably more trouble than it's worth).
Yes that's all, should have also mentioned that when setting through cli make sure the radio you want use is the only one set to '1' (meaning the other set to '0'), having both set to '1' always caused failures for me, just setting the wanted radio to '1' is what would get it to work (sometimes).
Yes, enable on just one interface (whichever one you need) and try, if it doesn't work, reboot, make sure the settings are still enabled on just one interface and try again, if it doesn't work after 2-3 tries its probably not going to, so no need to spend too much time on it.
edit - it might just be the Marvell drivers in your device and mine (mine is a wrt1200), development seems to have stopped on them a couple of years ago and people with non-marvel devices have mentioned wps is working fine for them, I just don't know enough about it to say.
@sysvky
Have you been able to get WPS working on your WRT1900? I have the same router and want to enable it too. But if this is not possible i am not even going to try.