Why does my D-Link DSL-2730U router claim the firmware update "contains an illegal image"?

I have a D-Link router. Its software (firmware) causes a lot of problems so I try to update it.

My router model is DSL-2730U so I downloaded the original firmware from this site: http://www.dlinkmea.com/site/index.php/site/productDetails/234

When I update the software, it says that the file is illegal. I really need to update it because what I use now is not the original firmware and does not work properly.

I would like to know what does it mean by "Illegal" ? and What should I do to make it legal ? or where can I get a good firmware ?

Here are two pictures that describe my issue :

enter image description here

enter image description here


Solution 1:

  • 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. enter image description here

and sometimes they are ready to use enter image description here

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"

Solution 2:

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 IMGfile. The IMG file is then used to upgrade your router.