D-Link Horstbox Standard
From GPLdevWiki
Contents |
Overview
The D-Link Horstbox Standard DVA-G3342SD is a VoIP capable ADSL2+ WLAN router based on the Infineon Amazon chipset.
Documentation
- See D-Link FTP (german language)
Hardware
User Interface
Connector
Major Components
Serial Console
JTAG Interface
Firmware
Original Firmware
Firmware Images
- See D-Link FTP (bilingual, english + german)
Sourcecode
- D-Link only offers an old v1.91beta source, current firmware is 2.07. Source is in zip format (ouch).
- See D-Link FTP
Firmware Structure
Image Format
Recent firmware updates contain 2 image files, each one being a LZMA compressed squashed rootfilesystem with a 64-byte U-Boot header.
All other parts of the firmware are located on each root filesystem. This covers u-boot.img (U-Boot bootloader), uImage (Linux kernel) and VINETIC_FW (Vinetic firmware) in /root and modemhwe.bin (Amazon firmware) in /firmware.
Version 2.07 of the firmware offers these 2 variants:
name (teil=part): firmware207_teil1.img firmware207_teil2.img
---------------------------------------------------------------------
folder datestamps 2007/10/30 2008/08/27
/root/u-boot.img 2.0.28-M832 == 2.0.28-M832
/root/uImage 2.4.31-Amazon-3.3.0 2.4.31-AMAZON-3.2
-M0416V33T_SM (hr@hrx1) -M416-V30 (sm@lnx1)
/etc/version 3.2 (hmmm) 2.07
/firmware 1.4.0.13.0.2 == 1.4.0.13.0.2
This pseudo diff (find * / diff) shows the differences:
--- part1 2008-10-24 16:19:35.000000000 +0200 +++ part2 2008-10-24 16:19:50.000000000 +0200 +bin/ash -bin/msh -etc/rc.d/init.d/#rcS# -etc/rc.d/init.d/.#rcS.1.1.2.5.2.4 +etc/rc.d/init.d/create_ppp_occ_cfg +etc/rc.d/init.d/pppoe_occ +etc/rc.d/init.d/pppoe_occ_start +etc/rc.d/init.d/pppoe_occ_stop +etc/rc.d/init.d/qos_downstream_borrow +etc/rc.d/init.d/qos_upstream_borrow +etc/rc.d/init.d/rtp +etc/rc.d/update.sh +etc/rc.d/upgrade.sh +lib/libCommonmips-linux.so +lib/libModulesmips-linux.so +lib/libObjAPImips-linux.so +lib/libProtoAPImips-linux.so +lib/libProtoAdaptmips-linux.so +lib/libStubAPIsmips-linux.so +lib/libifx_httpd.so +lib/modules/2.4.31-AMAZON-3.2-M416-V30/kernel/drivers/net/admwan.o +root/chroot.sh +root/upgrade.sh +usr/sbin/check_version.sh +usr/sbin/ifx_event_util +usr/sbin/impexp +usr/sbin/stunnel +usr/sbin/tr69_run_command.sh +usr/sbin/tr69d -usr/web.st/content/icons +usr/web.st/design/<some_images>.png +usr/web.st/english/basic/phone_qos.html +usr/web.st/english/basic/<some_scripts>.js +usr/web.st/english/expert/phone_qos.html +usr/web.st/english/expert/<some_scripts>.js
UBoot Header for firmware2091_teil1.img:
Image Name: Amazon rootfs
Created: Tue Oct 30 08:18:26 2007 Image Type: MIPS Linux Standalone Program (lzma compressed) Data Size: 6295465 Bytes = 6147.92 kB = 6.00 MB Load Address: 0x00000000 Entry Point: 0x00000000
UBoot Header for firmware2091_teil2.img:
Image Name: Amazon rootfs 2.09.1 Created: Wed Mar 18 15:25:56 2009 Image Type: MIPS Linux Standalone Program (lzma compressed) Data Size: 7089811 Bytes = 6923.64 kB = 6.76 MB Load Address: 0x00000000 Entry Point: 0x00000000
You can get the squashfs by using dd:
# dd if=firmware of=disk bs=64 skip=1
It seems like unsquash of the firmware is quiet hard. You may get the following error:
# unsquash -s disk Can't find a SQUASHFS superblock on disk
Flash Layout
Build Tools
Toolchain
- None provided by D-Link.
- See List of Toolchains to find one.
- Alternativ distribution [1]
Firmware Tools
Software Reference
Packages
Core system
- U-Boot bootloader
- Linux kernel 2.4.20
- uClibc 0.9.27
- Infineon Amazon drivers
- Busybox 1.0 (modified)
- [, ash, basename, busybox, cat, chmod, chroot, cp, cut, date, dd, dmesg, dumpleases, echo, env, expr, false, fgrep, free, getopt, getty, grep, gunzip, gzip, hostname, httpd, ifconfig, inetd, init, insmod, iwconfig, iwpriv, kill, killall, klogd, ln, logger, login, logread, ls, mkdir, mknod, modprobe, more, mount, mv, passwd, ping, pivot_root, ps, pwd, reboot, rm, rmmod, route, sh, sleep, syslogd, tail, tar, telnetd, test, tftp, top, touch, tr, true, tty, udhcpc, udhcpd, udhcpr, umount, uname, uptime, usleep, vi, wget, zcat.
- mtd (memory device driver)
- flash_eraseall
- OpenSSL
Routing
- iproute2 (IP routing)
- ip
- bridge-utils (bridging)
- brctl
- iptables (IP filtering + forwarding)
- iptables
- ebtables (Ether filtering)
- ebtables
- zebra (RIP routing)
- ripd
- tc (Traffic Control, missing source?)
- tc
- vlanctl (VLAN handling, closed source?)
Connectivity
- br2684ctl (RFC1483/2684 Bridge Daemon)
- br2684ctl
- linux-atm (ATM on Linux)
- atmaddr, atmarp, atmarpd
- ppp (Point-to-Point Protocol)
- pppd
- rp-pppoe (PPP-over-Ethernet redirector)
- pppoe, pppoe-relay
Services
- dhcp (DHCP relay, missing source)
- dnrd (DNS relay)
- dnrd
- net-snmp (SNMP daemon, missing source)
- snmpd
- miniupnpd (UPnP daemon)
- miniupnpd
- dropbear (SSH server, missing source)
- dropbearmulti, dropbear, dropbearkey
- linux-ftpd (FTP server, missing source)
- ftpd
- ntpclient (NTP client)
- ntpclient
- ez-ipupdate (DynDNS client)
- updatedd (DynDNS client)
- updatedd
- tftp-hpa 0.40 (TFTP server, missing source, only 0.35 source)
- tftpd
- stunnel (TCP SSL wrapper, missing source)
- stunnel (1.1 MB?)
Wireless
- madwifi? (missing source)
- 80211debug, 80211stats, athdebug, athstats, wlanconfig, wlandebug, wlanstats
- Wireless Tools
- hostapd
- hostapd
Telephony
USB-Host
- hotplug-helper (closed source)
- ppf (Printer Port Forwarder)
- ppf
- samba (SMB daemon)
- nmbd, smbd
- smbaddpasswd (SMB passwd util)
- smbaddpasswd
Misc
- ping (missing source)
- lsof (missing source)

