OpenWrt Forum Archive

Topic: Flashing a D-Link DIR-601 A1 without IE6

The content of this topic has been archived on 16 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

After the death of an unsupported Belkin router I had used for the last 4 years, I purchased a D-Link DIR-601/re (referbished) because of the extremely low price and the likelihood of being able to flash OpenWrt onto it. I was indeed lucky enough to receive the A1 hardware revision and attempted to flash it. However, according to the wiki page, flashing this router using the D-Link flash tool requires Internet Explorer 6, and says that other browsers including later IE versions may not work. Being a Linux user who rarely even has access to a Windows box, I tried to flash it using Firefox, and of course, as expected, nothing happened. The power light, which had been flashing, stopped flashing, staying either on or off, depending on whether it was on or off before clicking the "Send" button, and it just sat there for as long as I let it sit there, booting back into the stock firmware when I had enough of letting it sit there and pulled the plug. Because I needed my wifi network back as quickly as possible, and because the DIR-601 was at this point my only router, I went and found a box running Windows XP and Internet Explorer 6 and flashed the router using the Attitude Adjustment image I had downloaded onto a flash drive.

fastforward about a week, and I decided to purchase another DIR-601, because I wanted to try to extend my wifi range, and failing that, I wanted a spare router when this one dies in about 15 years tongue. Because this second device is not being used for production, but was to be used experimentally or as a spare if it was ever needed, I was able to experiment with flashing the OpenWrt firmware using my computer that runs only Linux. The first thing I did was to use the normal web interface to upgrade the D-Link firmware to the latest version. After this, I tried using the D-Link flashing tool's web interface the same way I did with the first router, setting my computer's network card to 192.168.0.2 and holding in the reset button while powering up the router until the power light began flashing. I tried every browser I could find, from Firefox to Google Chrome to even the lesser known browsers such as Epiphany, Midori, Links, Elinks, Lynx, W3M, and even tried some command line magic with wget and curl. Some browsers caused the router to freeze the same way Firefox did, but most browsers appeared to do nothing at all, leaving the power light flashing. I then tried to send the firmware file via tftp, which the wiki page says may not work, but gives no information about the router's port configuration in case someone (like me) wanted to try it anyway. I tried tftp using both the recovery mode, which presumably is just loading the boot loader with a small web-based flash tool on top, and I also tried tftp after the router booted its own firmware. The recovery mode tftp transfer only timed out without receiving any acknowledgement of even the first data block, but the tftp server that came up after booting the stock firmware, although it would receive most of the file, refused to acknowledge the last 24 bytes of the file. Strangely, the sysupgrade image transferred without issue, but of course nothing happened after the transfer. I also tried sending a Backfire factory image I downloaded for the DIR-600, which is apparently supposed to work after changing the last byte of the file from 0 to 2, but again, nothing happened after the transfer, although the tftp server accepted the entire file. The wiki page also mentioned logging into the U-Boot console, but it gives no information about how to do that either. Reading the generic flashing instructions indicated that the wiki page for my specific router model should specify how to flash using the boot loader by other means than a web interface, but there is no information listed for this router, and a port scan quickly closed all ports that the boot loader may have had open, including eventually port 80. So I read on the DIR-600 and DIR-601's wiki page that DD-WRT images can be flashed using the normal web interface, but that OpenWrt images for some reason don't load. Something clicked in my brain and put that together with changing the last byte of the Backfire image from 0 to 2, and this sparked a working flash from stock firmware on the DIR-601 rev A1 to Attitude Adjustment without the use of Windows or Internet Explorer 6. Below I detail the flashing method that worked for me.

  1. Download both the Backfire 10.03.1 factory image for the DIR-600 A1 and the Attitude Adjustment 12.09 sysupgrade image for the DIR-601 A1; I needed both files.

  2. In your prefered text terminal app, use vim to edit the Backfire factory image, changing only the last character of the file from "0" to "2." Note: I specify vim here because it's the only text editor I know that maintains the integrity of the binary file while allowing you to change the last character. Other text editors may also work, especially Unix/Linux editors, but vim is tested and known to work.

  3. Manually set the IP address of your computer's network card to anything in the 192.168.0.0/24 subnet, the netmask to 255.255.255.0 and the gateway to 192.168.0.1. You can do this using NetworkManager, ifconfig or whatever you like, as long as these parameters are set manually rather than trying to get them using dhcp.

  4. Run an ethernet cable from the network card in your computer to any lan port on the router. The wan port will not do. Boot the router normally and wait for the power light to turn green and the wifi light and the lan light for the connected port to turn on. It's normal for the wifi and lan lights to flash periodically.

  5. Point your browser to 192.168.0.1 and click tools and then firmware.

  6. Upload the Backfire image you downloaded and modified. The router should reboot once the upload is complete.

  7. Reconfigure the network card on your computer so that the IP address is now in the 192.168.1.0/24 subnet and the gateway is 192.168.1.1. DHCP on the router will likely work now, but this manual method is more failsafe.

  8. Point your browser to 192.168.1.1, login with an empty password and click System, then Backup / Flash Firmware.

  9. Untick "Keep Settings," browse to the Attitude Adjustment sysupgrade image you downloaded earlier and click Flash Image.

  10. Follow any prompts and then wait for the magic to happen. The next time the router reboots, you will be running the latest OpenWrt Attitude Adjustment 12.09 firmware. Have fun!

Having posted what worked for me, has anyone else been able to flash an OpenWrt image onto a D-Link DIR-601 rev A1 by any other means using Linux? It would also be of interest to me to know what makes the Backfire image with the last byte changed acceptable to the stock firmware's web interface, but makes Attitude Adjustment unacceptable.

(Last edited by Kyle on 10 May 2013, 01:16)

Kyle,

Your walkthrough was spot on for me with the DIR-601 A1. Like you, I also had trouble uploading to the device via the factory reset method using IE 11, Chrome 31, and also any IE version that the IE developer console can emulate (7, 8, 9, 10, but not 6). It just kept blinking its orange light but never rebooting or confirming the upload.

I successfully followed your steps using IE 11 on a Windows 7 x64 machine. When I got to step 9 though, after uploading the image but before rebooting it, I was warned that the image was larger than flash memory had available. I then went and killed syslogd, klogd, dhcpd, and whatever the dns daemon was so that more memory was available. Maybe this was unnecessary because when I tried uploading the Attitude Adjustment image again, it still warned me about flash memory being too small. I continued anyway, and it rebooted after a few minutes into the new AA image.

Thank you very much for your detailed instructions! You are the man!

Al

You're probably right; you shouldn't have needed to remove anything to make Attitude Adjustment work. Sounds like an error produced by IE. Since everything works as expected, you have to have the entire image, as it shouldn't function at all if you have flashed an incomplete image. Be sure that your web interface does indeed say "attitude Adjustment 12.09." This will indicate that you do indeed have a complete image and that it did correctly overwrite the Backfire image.

Confirmed as Attitude Adjustment 12.09. Yee haw!

@Kyle, Thank you for providing the instruction! It worked like a charm!
Under Mac OS Mavericks, it is actually much simpler. Once I modified the binary in vim like you suggested, I was able to upload the firmware under Chrome without a hitch. Just as a precaution, I did flash the DLink firmware to the latest 1.04? before re-flash again to OpenWRT.
Mac is able to get IP assigned from DHCP, so there was no need from my end to manually set the IP etc.

This is actually my first time installing OpenWRT with NO prior experience in any other custom firmwares (tomato..dd-wrt etc). easy breezy

I have been trying to edit the Backfire binary with the VIM editor (first time using it), I am using Ubuntu Linux 14.04.  When I goto the end of the file by doing a Shift G I don't see a '0' that I can change to a '2'?
I have white code that seems I can change when I go into edit mode by hitting the insert key, but there is blue text as well that I can not seem to change.  If I try to scroll down more it just gives the blue ^@ forever.  I cannot seem to attach screenshots here.  Any ideas?

Maybe use a hex editor?  Note that '0' = 0x30 and '2' = 0x32.

I think that people have also flashed dd-wrt over the stock firmware then immediately used dd-wrt's reflash page to flash OpenWrt.

this post is 99% spot on,

it works from Ubuntu-14.04.1
with Firefox 39

i used bvi to edit the 'backfire' firmware prior to uploading it to the stock dlink firmware page [not the emergency page]

i then upgraded the backfire firmware to the attitude adjustment stuff ezpz from openwrt smile

the only issue, is before i flashed it it said the firmware was "too big" for the rom even though they were equal sizes in the dialog...

seems to be running fine, AA confirmed.

TYVM

edit:
the D-Link DIR-601 A1 calls for a "5v 1.2a" adapter, i flashed mine while using a sourced "5v 1.0a".

(Last edited by chkras on 20 Sep 2015, 21:34)

Signed up just to say thanks to the op Kyle.

I had no issues using the following os/software:

OS: Mint 14.04
Browser: Firefox 42
Hex Editor: wxHexEditor (from the repos. Tried vm  but it opened as a jumbled mess)

Now on to the real work. smile

Just confirmed that the latest firmware Chaos Calmer (15.05) works on this device. I followed the OP's instructions exactly, modifying the 10.03.1 image using Vim on Linux (yes, it looks like a "jumbled mess", but the last character is readable). I then used the 12.09 sysupgrade linked to by Kyle, and finally flashed openwrt-15.05-ar71xx-generic-dir-601-a1-squashfs-sysupgrade.bin. I suspect I could have skipped 12.09, but I'm a newb to OpenWrt and didn't want to miss anything.

15.05 leaves me with 9MB free RAM out of the box. I haven't tested stability or anything lately. I'll reply if I find any obvious issues.

The discussion might have continued from here.