OpenWrt on the DG834Gv4 modem router

First written on April 19, 2018
Last updated on October 8, 2022

Overview #

The DG834Gv4 is an old Netgear WiFi modem/router and has been my first wireless access point. Years have passed and this hardware shows signs of its age. It is compliant to 802.11 b/g only and has 100 Mbps ethernet ports . Also, when using it as a DSL modem, it sometimes disconnects because of the heat it generates. It was time to decommission it.

In the meantime someone discovered a nice backdoor feature in a series of modem/routers, including the DG834Gv4. One more reason not to use it as-is.

After the router collected some dust, I evaluated some options such as installing OpenWrt or the DGTeam firmwares. I went with the DGTeam firmware at first because it had modem support. This meant I could use it as a spare modem.

A few weeks ago, however, I tried installing OpenWrt and it wasn’t so straight forward as I thought.

Steps #

Network and device configuration #

root@OpenWrt:~# cat /etc/config/wireless
config wifi-device  radio0
    option type     'mac80211'
    option macaddr  '<router_s MAC address here>'
    option hwmode   '11g'
    option channel '<channel>'
    option country '<region>'
    option txpower '20'

    option disabled '0'

config wifi-iface
    option device   'radio0'
    option network  'lan'
    option mode     'ap'
    option encryption    'psk2+aes'
    option key      '<your key here>'
    option ssid     '<your SSID here>'

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr ''
    option netmask ''

config interface 'lan'
    option ifname 'eth0'
    option type 'bridge'
    option proto 'static'
    option ipaddr '<router_s address>'
    option netmask '<router_s netmask>'
/etc/init.d/dnsmasq stop
/etc/init.d/dnsmasq disable

Problems #

There is not enough memory to install anything even after killing several processes.

  route add default gateway netmask metric 0
  echo "nameserver" > /etc/resolv.conf

  root@OpenWrt:~# opkg install sshfs
    Installing sshfs (2.2-1) to root...
    Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/brcm63xx/generic/packages/sshfs_2.2-1_brcm63xx.ipk.
    Collected errors:
       * gz_open: fork: Cannot allocate memory.
       * opkg_install_pkg: Failed to unpack control files from /tmp/opkg-Ry3bvT/sshfs_2.2-1_brcm63xx.ipk.
       * opkg_install_cmd: Cannot install package sshfs.

For some reason, WiFi seems less powerful (as in range) than it should be. This is quite disappointing.

Alternatives #

It would be interesting to patch the original Netgear/SerComm firmware by removing the scfgmgr file and a line in a shell script that is launched at boot.

You need a 32 bit GNU/Linux distribution with the appropriate development libraries and only then you’ll be able to run the software that rebuilds the image. Unfortunately there is only a text file describing generic instructions so it takes quite some time to track down all the necessary libraries and to have a working environment. Maybe another time…

Applications using OpenWrt #

I ended up using it for this: openwrt-leds-as-notification