Skip to content

Unbricking your Netgear ADSL router without Windows

So for about a year I have a DSL modem and a separate router (running OpenWRT) here. Simply because the average DSL router has crappy software (no decent CLI, connection tracking for nothing more complicated than TCP and for only a few hundred of them, crappy wireless ... well, you get the point). So I decided to buy a Linux-powered DSL router, the Netgear DG834G. I hoped for one with an AR7 board, because that one seems very well supported, but I received a v4 which has a Broadcom board instead. :-(

Anyway, Netgear is still pretty decent. The stock firmware comes with a telnetd (must be activated via the webserver though), and (well, forced by the GPL) they put tools on-line which I can use to rebuild firmware images, which I already abused to remove the multi-lingual web interface and use those precious kilobytes for a tcpdump binary instead. :-) Adding a kernel with IPv6 support is going to be more complicated though.

Anyway, I should first focus on making the thing actually wortk with my IPoA ADSL2+ connection.... sigh

But after bricking the thing once I did manage to write up a tool (based on a half-finished tool written by someone on the OpenWRT forum) to fix that very problem. These routers can be reflashed without any serial cable or whatever these days, using the power of raw Ethernet frames (R). It's a gross hack, but it works and is reasonably convenient. It's up for download for anyone who needs it. Be careful, only use it when things can't get any worse anyway!


No Trackbacks


Display comments as Linear | Threaded

Kelly Anderson on :

Sounds like you're working on some of the same things that I am.

Do you have to put the router in a special mode for nftp to work? With the router running normally I get the following when I try to verify an image. It doesn't look right for a DG834GV4.

Sending frame on eth0 (0:30:18:ab:cf:9b)
Found a router at 0:1f:33:73:28:e8
Router is a YFM720
Current version is 538
Max upgrade size is 36 kb

I've got openntp running on the router. I've added some utilities using a newer version of busybox. I've recompiled the kernel in stock mode so far, but I'm kinda nervous about (although I've been able to decompress the image using a quick hack of the decompress source included in DG834GV4_NA_V5.03.08_src.tar.bz2). I really want to get this router working with IPV6, but until I am sure that I can unbrick it with nftp I don't really want to risk uploading a faulty kernel.

Wilmer on :

Oh yes, what you show there looks quite similar to what I get from the nftp tool. Problem is, my detection code is pure guess work and is obviously wrong. In newer versions of the tool that I apparently didn't put on-line, the check doesn't stop the program, it just asks the user to press enter if s/he knows for sure that the image is correct.

So just try out the kernel, it'll be fine. :-) Actually I have an image with IPv6 support and some other shiny things already, want to test?

Kelly Anderson on :

Sure I'll try your image. It is an NA 5.03.08 version right? It'd be nice if you would put together a tarball including the .config files and such that you used to create the image so I can play with the configuration. A README file would also be nice describing what changes you've made to ghe image etc.

Have you figured out how to read/write to NVRAM? I've just made hard setups to my image so far. Although it might be nice to be able to turn something on and off from cgi like the official web interface does. Or for example setting the root password in /etc/passwd. I just hard-coded a password there which works fine for a one off image. Not great if you want to share your image though.

Add Comment