Why does my D-Link DSL-2730U router claim the firmware update "contains an illegal image"?
Illegal in this case means a format not recognised by the router. The router checks the image file before installing it and it found it contains a format it does not recognise.
Reasons for this can be:
- the image is meant for a different type of router or a newer version of your router
- the image is corrupt
- the image is compressed
If the image is compressed it means that image is inside a zip-file or other type of archive and must be uncompressed first before it can be used.
I saw that the download page you linked to offers the images as IMG
and 7Z
. The 7Z
images are compressed using 7-zip and must (very likely) be uncompressed before they can be used to yield an IMG
file. The IMG
file is then used to upgrade your router.
- First check your router firmware version and the downloaded version, sometimes you can't UPDATE to the newest firmware, you must look if they recommend an old version before the newest one.
If that router from ISP, it mean's they locked your router. you have three options to flash it with other version.
First method By using SSH commands most ISP left backdoor ports, you can use that method to un-break your router. Download the firmware to the router's /tmp directory with wget or scp.
cd /tmp
wget http://www.dd-wrt.com/dd-wrtv2/downloads/stable/dd-wrt.v2x_generic.bin
you could use the mounted share if you have one, and simply download the file there.
Compare the MD5 checksum of the original and the downloaded file.
md5sum dd-wrt.v2x_generic.bin
Write the firmware to flash.
write dd-wrt.v2x_generic.bin linux
Wait...
Reboot
Second method by flash your router with DD-WRT, Tomato or OPEN-WRT "open source firmware" I recommend DD-WRT it's more easy than other open source firmware and stable check their websites to find what firmware can work on your router, open source firmware can pass your ISP Lock.
The last method By using serial ports to flash your router, gives you the fully control of everything, this method can break any router, no close doors or locked routers anymore :)
Most factories left serial port on the main circuit board to test/troubleshoot their product. Sometimes you must solder wires to the ports, Like what I did in the PIC below, check My blog if your want more info about soldering your wires.
and sometimes they are ready to use
Now you need something called Arduino "Micro-controller" We will use it to make a communication between your PC and your router over the serial port. Connect your Arduino to your router like this TX-------RX
RX-------TX
GND-----GND
VCC----3.3V
WARNING DON'T connect VCC to 5V
- Connecting your LAN Cable from the Router to your PC
Download TFTP
Download firmware DD-WRT/Open-WRT or what ever you want for your Router.
- Extract TFTP and insert Firmware openwrt "or what ever" to same folder TFTP extract.
- change your static Computer IP 192.168.1.100 255.255.255.0
- Run TFTP
- choose the current directory to the firmware you download
- change server to this IP 192.168.1.100
- Connecting your computer with the Router via Putty
- Connection type = serial
- serial line = COM same com arduino detection into your computer speed = 115200
- In progress booting your router and type "tpl" in command prompt putty interface
IP Setting for your lan card "all that inside TFTP"
- Setting IP server: setenv serverip 192.168.1.100
- Setting IP Mobile Router : setenv ipaddr 192.168.1.1
flash your Router with this command
tftpboot 0x80000000 openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin
after flashing type this command
1. erase 0x9f020000 +0x3c0000 (enter)
2. cp.b 0x80000000 0x9f020000 0x3c0000 (enter)
3. bootm 9f020000 (enter)
router reboot processing.....
That's it
NOTE
If your router can't have WAN-IP after you figure out all settings, you need something called 30-30-30 Hard reset, sometimes your old firmware will stuck inside your NVRAM they call that Dirty NVRAM, 30-30-30 hard reset will clean your old firmware completely "that's for dd-wrt" firmware"
As that desriptions asks you to obtain an updated software image from your ISP it looks like your router is "branded" by the ISP. In that case even a valid firmware update from the original vendor may be considered invalid by the current (branded, non-vendor) firmware. Maybe you should actually follow those directions and check with your ISP for updated firmware.