Articles for Developer by Paolo Medici [PMX.it]. See License on bottom of this page.

This web page describes my experiments with DG834Gv4. If you have any trouble or discover something of important about this device, write me an e-email (see on main web page).

USE OF THIS INFORMATION IS ENTIRELY AT YOUR OWN RISK.
YOU ARE LIKELY TO VOID YOUR WARRANTY.

 

DG834 (DG834v4)

First of all, to enable TELNET service on DG834, type in a web browser address bar the following URL:

http://192.168.0.1/setup.cgi?todo=debug

After that modem enables telner service, and it is possibile to connect it using telnet (also PuTTY in telnet mode) to your router. (192.168.0.1 is the default DG834 IP address).

When log in you should see the following prompt:

BusyBox v1.00 (2007.06.22-11:05+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

The following commands permit to get some information from Linux Kernel running on router:

# cat /proc/cpuinfo 
processor : 0 system type : 96348W3 processor : 0 cpu model : BCM6348 V0.7 BogoMIPS : 239.20 wait instruction : no microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : no VCED exceptions : not available VCEI exceptions : not available # cat /proc/meminfo
MemTotal: 13368 kB MemFree: 912 kB Buffers: 456 kB Cached: 6556 kB SwapCached: 0 kB Active: 4304 kB Inactive: 4088 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 13368 kB LowFree: 912 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB Mapped: 2476 kB Slab: 2692 kB Committed_AS: 2404 kB PageTables: 340 kB VmallocTotal: 1048560 kB VmallocUsed: 724 kB VmallocChunk: 1047136 kB # cat /proc/version Linux version 2.6.8.1 (root@localhost.localdomain) (gcc version 3.4.2) #2 Wed Aug 8 11:36:58 CST 2007 # cat /proc/partitions major minor #blocks name 31 0 3168 mtdblock0 31 1 3904 mtdblock1 31 2 64 mtdblock2 31 3 64 mtdblock3 31 4 64 mtdblock4 31 5 64 mtdblock5 # cat /proc/mtd dev: size erasesize name mtd0: 00318000 00010000 "fs" mtd1: 003d0000 00010000 "tag+fs+kernel" mtd2: 00010000 00002000 "bootloader" mtd3: 00010000 00010000 "nvram" mtd4: 00010000 00002000 "bootloader" mtd5: 00010000 00010000 "DPF_file"

Information about BroadCom BCM6348 mips processor can be found here.

Re-Building DG834v4 Firmware

Dowload firmware source code from netgear (DG834v4 family): http://kbserver.netgear.com/kb_web_files/n101238.asp and extract it. You have to use Linux and not Windows when you build a modem kernels.

To Rebuild Firmware follow instruction in README file.

Compile DG834 Applications

Note for Dummies (thanks to informatik.hu-berlin.de, I cannot explain better!): The NetGear DG834v4/v5 has a Broadcom BCM6348 CPU, running at 240MHz. This CPU is not compatible with the Pentium (or similar) on your desktop computer, i.e. you can not simply take a binary program file from your desktop and execute it on the router - the Broadcom CPU encodes instructions and data in a completely different way and would therefore not "understand" your Pentium-based program at all.
The operating system on the NetGear DG834 router family is Linux - again, not the same Linux that you might run on your desktop, but a Linux that was specifically compiled for the Broadcom CPU. The operating system along with all other programs is stored in a regular Linux file system which physically resides on the router's 8MB of flash memory. Flash memory is nonvolatile RAM which does not lose its data when the device is powered-off. But it is RAM, i.e. it can be modified in much the same way as regular RAM - just at a slower speed.
In addition to the 8MB of non-volatile flash memory for the Linux file system, the Linksys router has 16MB of regular volatile RAM.

uClibc: uClibc-0.9.28

A precompiled Toolchain for MIPS big Ending can be found here or you can make yours using http://buildroot.uclibc.org/downloads/old/ (i do not know how... someone can explain me?).

Test HelloWorld: Using ToolChain provided by Ubert it is possibile to build and execute an Hello World application (you have to build application in Linux and upload on modem using wget).

Test utelnetd: Using ToolChain provided by Ubert it is possibile to build utelnetd application provided by Netgear in the open source package. To test the original version http://www.pengutronix.de/software/utelnetd/.

Additional Info and Stuff

Many information for DG834GT are also valid for DG834v4 adn DG834v5 (sharing the same hardware, http://wiki.openwrt.org/OpenWrtDocs/Hardware/Netgear/DG834GT).

See also the DG834 v2 page, different hardware, more fun.

End

Last Update: 12 Oct 2008