Inspired by topic Porting Firmware to TP-Link Archer C20 v5
It's very possible that your board have dual bootloader configuration too.
So you can try next procudere for tp_recovery.bin creation:
dd if="wr940nv5_eu_3_18_1_up_boot(180514).bin" bs=512 skip=1 > tp_recovery.old
dd if=/dev/zero of=pad192k.bin bs=192k count=1
cat pad192k.bin tp_recovery.old > tp_recovery.bin
Or simply use mktftpimg utility of @dxdt from