[Solved] TP-Link RE450v1 wrong mapping of WPS button in 19.07.3

I have noticed that when pressing the WPS button on the TP-Link RE450v1 it seems to be mapped to the reset button/behaviour.

Capturing the button press with logger "the button was ${BUTTON} and the action was ${ACTION}" gives me "reset" for ${BUTTON}. This seems like a bug, but before reporting it (where exactly? main tracker?) I'd also like to know if I can work around it.

Unfortunately, I don't know enough about the inner workings of the button system apart from that the mapping is apparently done by a kernel module. Can this mapping be changed in userspace or do you have to compile a new kernel for that? Could I change the default action for the reset button? There should be a script somewhere but I don't know where it is.

According to the mach file in the ar71xx target the wps button triggers the reset event.


I think this is definitely a bug, but the ar71xx target is deprecated and 19.07 is the last stable release for the ar71xx target.

The bug has to be reported at https://bugs.openwrt.org

You can test if this bug is also on the new ath79 target. But for now there is only a snapshot build for your re450 v1 on the new ath79 target.

Thank you for the information and also for linking to the specific location. It seems that it has been fixed in the dtsi of the ath79 target: https://github.com/openwrt/openwrt/blob/master/target/linux/ath79/dts/qca9563_tplink_re450.dtsi#L89

I'm now pondering if I should try the snapshot build with imagebuilder or should try to patch it myself and build from source.

As you see here


the dtsi file is
1 Like

I found a workaround. In order to restore the default behaviour you have to swap the files /etc/rc.button/reset and /etc/rc.button/wps. Any custom functionality on WPS button press can then go into /etc/rc.button/reset. In order for the changes to survive a factory reset one would have to make a custom build.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.