Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I flashed firmware on my WR2543ND router according to these instructions.

But my router no longer creates wifi, wired LAN cables don't work anymore and 95% of time I cannot even access that router on my PC (Windows 7, I tried Ubuntu also). The point is I want to go back to original firmware, but the instructions contained on that page are hazy for me, I don't understand them. There's written:

Back to Original Firmware
1. Download the original firmware from the tp-link website
2. Cut the file: dd if=orig.bin of=tplink.bin skip=257 bs=512
3. Write to flash: mtd -r write /tmp/tplink.bin firmware

I managed to download the original firmware, but with the rest I need help. Can someone please explain me as to a noob what exactly am I supposed to do in points 2 and 3 with that file? Preferably for windows PC. Thanks a lot.

share|improve this question

1 Answer 1

dd is a Unix command to copy all or parts of a file. There are versions available for Windows, or you could install Cygwin and run it there.

Also, OpenWrt might contain that command, and you could possibly run the command right on your OpenWrt box. You'd have to find a way to copy the file in question into a filesystem on your TP-Link box. Does your TP-Link box have a flash filesystem with any room on it? Does it have a RAM disk file system with any room on it? Does it have the ability to attach and mount an external USB drive?

The arguments they give to dd tell it to read from input file "orig.bin", write to output file "tplink.bin", but skip the first 257 512-byte blocks of the file. So they're telling you to cut off a little more than the first 128KiBytes of the file. That's probably some TP-Link proprietary firmware header that the factory firmware would have cut off for itself if you'd ever tried to flash that file to the TP-Link device while it was running the factory firmware.

mtd is an OpenWrt command to read from or write to a FlashROM. It's telling you to flash the modified file to the FlashROM. Although I haven't worked with OpenWrt, I have a suspicion that you'll need to replace the word "firmware" in that command with the path to the Unix device that represents your FlashROM (something like "/dev/flash0" or "/dev/disk0s2", or something).

share|improve this answer
    
They were messing with the hardware so I don't think that those commands will work for me. Is there any way to flash original firmware back in OpenWrt? It's telling me that it's not the right format or something. Original firmware is .bin file. Tried to download and flash dd-wrt restore firmware but again not the right format. Is there a way to edit .bin firmware that OpenWrt will somehow accept it? Or if not is there any working build either from dd-wrt or openwrt that can be flashed there? Thanks for your time. –  user254963 Sep 18 '13 at 14:41
    
@user254963 It sounds like no matter what, you're going to need to use a Unix/Linux command shell on the TP-Link in order to follow their directions. Are you able to SSH or telnet in, or use a serial console cable? If you can get to the shell, then you can follow their dd instructions to edit the file (delete the first 131584 bytes of the file), and then use mtd to flash the edited file onto the FlashROM chip. If you can't get to a shell on the TP-Link device, then you'll probably have to follow their "recovery" instructions. –  Spiff Sep 18 '13 at 19:57
    
Thanks for your help, you saved my router. For anyone else who has the same problem: you need to cut of the header of original firmware in linux command "dd if=orig.bin of=tplink.bin skip=257 bs=512" where orig.bin is the name of original firmware. Then you can normally flash it through openwrt luci router environment. –  user254963 Sep 21 '13 at 17:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.