Reflash using an USB Stick

YouTube video (demo): http://youtu.be/axQvgqvlhcU

The following howto works if you already have USB driver (pre) installed on the device. This can be manually or within a custom image. The HowTo applyies to the most of devices, it uses the TP-Link MR3020 as an example.

  telnet 192.168.1.1
 /etc/init.d/boot start        (This will return some error messages - ignore these)
mount /dev/sda1 /mnt
cd /mnt/
ls
mtd -r write <your filename> firmware

If the mount does not work, you can do:

mount_root

Which mounts your root partition in order you can edit files. After you have finish, type:

reboot -f

Source (http://wiki.openwrt.org/doc/howto/generic.failsafe)