Debug-port in router

Perhaps this article should be one of the first articles to make the router not as a black box with in- and outputs for us but as a fully-featured board on which base we can realize our ideas. Development board or starter kit – choose the name you like the most.

Let’s take to pieces the box and check the board. My dlink looks like this from the inside:

Actually, all the modern boards look to be the same. There are processor, RAM and flash memory. And of course it is obligatory on-board connector for debug console. Usually this connector is connected directly to the uart of the processor. This board is no exception, besides the router manufacturer saw fit to install it.

I think in some time the router manufacturers will connect the in- and output ports to the jack and other available interfaces that will make their application field wider.

For the connection to the uart we should use an adapter. It can be made by ourselves or can be bought from us. Let’s start for example the minicom on the speed of 115200 and switch on the power supply of the router. After connecting to the debug-port we can feel ourselves as a full master of this board.

Log of the downloading:

Decompressing...........done

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Wed Mar 18 10:12:27 CST 2009 (leon@enzo)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
Boot partition size = 262144(0x40000)
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.3.0
CPU type 0x29029: 240MHz
Total memory: 32768 KBytes

Total memory used by CFE: 0x80300000 - 0x803C0720 (788256)
Initialized Data: 0x80337730 - 0x8033AE50 (14112)
BSS Area: 0x8033AE50 - 0x8033C720 (6352)
Local Heap: 0x8033C720 - 0x803A0720 (409600)
Stack Area: 0x803A0720 - 0x803C0720 (131072)
Text (code) segment: 0x80300000 - 0x80337730 (227120)
Boot area (physical): 0x003C1000 - 0x00401000
Relocation Factor: I:00000000 - D:00000000

alpha bootcode ver 0.1.3
cmd = ifconfig eth0 -addr=192.168.0.1 -mask=255.255.255.0
We disable the arp for self.
We disable the arp for self.
Device eth0: hwaddr 1C-BD-B9-34-2A-F9, ipaddr 192.168.0.1, mask 255.255.255.0
gateway not set, nameserver not set
cmd = go;
cmd = load -raw -addr=0x803c0720 -max=0x3a0000 :
Loader:raw Filesys:tftp Dev:eth0 File:: Options:(null)
Loading: Failed.
Could not load :: Timeout occured
Dest=80001000, source =803c0720, filename=flash1.trx
cmd = boot -raw -z -addr=0x80001000 -max=0x3a0000 flash0.os:
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: entry point=80001000
.. 4136 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
Linux version 2.6.36.1 (dima@dima-desktop) (gcc version 4.3.3 (GCC) ) #19 Sun Dec 5 17:42:53 MSK 2010
CPU revision is: 00029029 (Broadcom BCM3302)
ssb: Sonics Silicon Backplane found at address 0x18000000
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
Normal 0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200

Buy an adapter for the connecting to the debug-port from us: an adapter for the connecting to the debug-port: