The basic procedure of using a tftp client to upload a new firmware to your router:
unplug the power to your router
start your tftp client
give it the router's address (usually 192.168.1.1)
set mode to octet/binary
tell the client to resend the file, until it succeeds.
put the file
plug your router, while having the tftp client running and constantly probing for a connection
the tftp client will receive an ack from the bootloader and starts sending the firmware
Please be patient, the reflashing occurs AFTER the firmware has been transferred. DO NOT unplug the router, it will automatically reboot into the new firmware.
Linux tftp steps:
bash-prompt$ tftp 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> timeout 60
tftp> trace
Packet tracing on.
tftp> put openwrt-xxx-x.x-xxx.bin