QPC
 

 

Visitor no - since
31-01-2002

D-Link DI-624+

This WiFi router currently acts as my access point. I am highly fascinated by embedded hardware and therefore couldn't keep my hands from this thing. So far I haven't done anything to the firmware or whatever but just had a look at both hard- and software. May the information be of use to someone. The following is true for hardware revision A1. If somebody has any information about A3 I would be grateful to get them.

Hardware

The original manufacturer of the boards is as usual "Global Sun Tech". The board has the id "GL2454RT-IA1-B10 T2.0" plus a sticker with "A01" and features 1MB of Flash ROM and 8MB of SDRAM.

Main board WiFi daughter board

Some of the components used

Manufacturer Chip ID Purpose
Brecis MSP2007 MIPS32 CPU, 170Mhz, 2 MAC, PCI, 55 GPIO
Marvell 88E6060-RCJ 6-Port Fast Ethernet Switch
MX 29LV800ABTC-90 8Mbit 3V flash memory = 1MB
Hynix HY57V643220CT-6 SDRAM 3,3V 64Mx32 4Banks 166Mhz = 8MB
Altera EPM3032A PLD 600 Gates, 32 Macrocells, 2 Logic array blocks, 34 I/O Pins, 227Mhz

The WiFi daughter module is a mini-PCI board with a Texas Instruments TNETW1130 (ACX111) chip on it.

Firmware

The flash seems to be split into two parts: a basic boot and recovery part and the user updateable part. The basic part is always there and doesn't get overwritten on a firmware update. So even if an update fails this part can be used to recover the device.

The user updateable part represents the main software with which the router runs. It is much bigger than the 1MB space the flash allows (around 2MB) and therefore is only uploaded and saved in a packed form. The boot part unpacks the main firmware during startup into the SDRAM. The algorithm used is from the old ARJ archiver and the firmwares available from D-Link can actually be decompressed this way (you should get a file called "NML.MEM" in the process).

The real time operating system used is called "ThreadX" from Express Logic.

Internals

A test menu can be obtained by loading the page http://router-ip/weca.htm. I however suggest that you don't mess around with it.
A bit more interesting is the file http://router-ip/NATLIST.TXT, which contains the amount of seconds the router is up and a list of all open NAT connections (as I don't do NAT it's pretty empty in my case).
http://router-ip/CHKLST.TXT contains various data about the firmware and the MAC addresses.

Probably the most interesting thing I could find out so far is that the router provides its debugging log through the TFTP interface. Using a TFTP client one can download a file called "dbgout.txt" which mostly contains the boot messages of the device:

Sytem starting ...
Created Inet main task.
Created clock tick task.
Created PING application task.
Created radiusClient_recvFrom task.
Created msg_ipc task.
Initializing 802.11g(I) Interface...OK !
Created wireless led task task.
mux_0g(I) applied.
[...]

However, after bootup almost no additional messages are added, I only noticed TFTP errors so far.

A port scan of 1.15 revealed the following ports. The device doesn't handle scanning too well, it can be a cause for a reboot

Port       State       Service
53/udp     open        domain
69/udp     open        tftp
80/tcp     open        http
1226/udp   open        unknown
1812/udp   open        radius
8800/udp   open        unknown

So far I don't know what port 1226 or 8800 is for, 1226 is however not open anymore on 1.18. The firmware contains a Telnet server but as you can see it is not reachable or not started. I hope to somehow get it working, though. Any help on this or any more information about the device is highly welcome.

Back to top of page


Home *  QPC *  QPCPrint *  SMSQ/E *  Hacking *  Contact
© 2005 Marcel Kilgus