Support for TL-WR810N v2

This worked for me; much thanks alexsannikov for a WR810N v1 device (US). But note you had a typo in your post. The hex code the device seems to be looking for is 55 53 00 00, and not 53 55 00 00 as you stated.

For anyone else having a hard time switching to OpenWRT on a WR810N v1 US device, I also tried so many different things, the injection shell method, various versions of dd-wrt (as intermediary) and openwrt dating back to 2016 even, and older tp-link firmware versions (what I could find in May 2021).

This is what worked for me (YMMV):

  • Download the latest factory firmware file from OpenWRT for the 810N v1. In my case, that was 'openwrt-21.02.0-rc1-ath79-generic-tplink_tl-wr810n-v1-squashfs-factory.bin'.
  • Open this file in a hex editor, and as alexsannikov explained in his post, look for the 08 10 00 22 bit in the first few lines of the header. After that the hex will likely read 00 00 00 01. I changed this to 55 53 00 00 and saved the file.
  • I renamed this file to wr810nv1_tp_recovery.bin and sent it via TFTP (use this link for detailed steps if needed - https://gist.github.com/codyzu/49093add3ae442dad7b8741299e545a5)
  • once TFTP sent the file, I let the router reboot itself until it gave me a dhcp IP (it seemed to restart a couple times on its own) and then unplugged it for 10 seconds before booting it again to a OpenWRT password setting screen - VOILA!