Monday, 5 September 2011

Can OpenWRT save my Netgear DGN2000?

I made the mistake of buying a Netgear DGN2000 ADSL2+ modem when I first got ADSL. Not only does it not support IPv6, its WiFi range is pathetic, bridging between WiFi and ethernet seems to die after several days of operation, and under heavy load the device hard-crashes, requiring a reboot. I suspect the crashing might be due to poor thermal design and perhaps my specific device but clearly the software is not also without some blame. Given my experiences, I would NEVER recommend this device. But, now that I have one that I can't return, I'm going to document the process of installing OpenWRT to see if I can give this thing a second lease on life.

Quick aside: I tried to download the official source code from NetGear. If you follow the links to the source on their support site you get to this page. If you email them, you get this response:

Delivery has failed to these recipients or groups:opensourcesw@netgear.comYour message can't be delivered because delivery to this address is restricted.

Is this a poor attempt to avoid the GPL to me by making users jump through hoops to nowhere? At the very least it's extremely poor after-sale service.

On to business... I take no responsibility for you frying your box, etc, etc..

Before beginning, I wanted to back up the existing firmware in case things go horribly wrong. This router has a debug mode that will enable telnet access by visiting http://192.168.0.1/setup.cgi?todo=debug:

mtd1 contains a squashfs filesystem image in CFE format (~3.5MB). The string "SeCoMm" at the end of this file makes me suspect this is just a rebadged Secomm device - yet another reason to steer clear of this device (...if you needed another one).

mtd2 contains what looks like a bootloader and/or arguments (64KB).

mtd3 contains local system settings (64KB).

mtd4 contains a backup of mtd2 (64KB).

mtd5 is empty (0xff...) (64KB)

As others have reported, this is similar to the DG834GT device. We've got BCM6348B0 ethernet, broadcom wifi and ADSL. So time give the Openwrt DG834GT firmware a spin! Download the openwrt trunk and build a custom DG834GT firmware:

I've run out of time tonight and don't want to brick my modem before bed so more firmware flipping fun tomorrow. Fingers crossed!

Edit: Sadly my modem died before I got a chance to finish this (R.I.P you P.O.S.) and given the low build quality I was not interested in replacing it with the same model. My next steps were going to be to attempt to flash the squashfs-cfe.bin file to the device. If that worked OK and I didn't screw up the ethernet driver options, then look at getting wifi and adsl working. Best of luck and if you give it a go I'd love to hear how you get on.

Edit (20111007): My shiny new Linksys (Cisco) WAG160Nv2 looks to be yet another crappy Secomm device! This time I get poor Wifi performance and random reboots in addition to running very hot. This is better than a hard lock-up but not by much.. Sigh... I've switched back to my faithful DLink DIR-600 WiFi AP running OpenWRT and PPPoE. The Linksys is just running in bridged mode as a modem. Now I have another brand to Boycott. Seriously Cisco, I wish you could explain why you bought a decent consumer brand and turned it into a steaming pile of crap... My ancient WRT54G was a brilliant, rock solid device.