net17.de

Firmware

Die folgenden Ausfuehrungen beziehen sich auf die Firmware Version 20007.00.07
Zerlegen des Firmware Images
Das in dem .zip File enthaltene Image besteht aus 3 Teilen:
1. Einigen vorbelegten Variablen im Klartext
2. Einem gzip gepackten Linux Kernel
3. Einer RAM-Disk im cramfs Format
Am einfachsten man geht mit einem Editor in die Datei und erstellt ich die drei Teile. Der erste Teil geht bis zu einer Zeichen kette die "HDR0" heisst, einfach danach suchen. Inklusive des letzten Bytes vor dem "HDR0" gehoert zum ersten, sprich Konfigurationsteil.
Dann sucht man nach der Zeichenkette "Compressed". Circa 15 Bytes davor steht "E=". Damit faengt der dritte Teil an, d.h. das cramfs Filesystem.
Hat man diese drei Teile nun in einzelne Dateien abgespeichert, so muss man vom zweiten Teil, sprich dem Kernel noch die ersten 28 Bytes abschneiden, da dort nur Kennung, Laenge und Checksumme abgespeichert sind.
Das geht unter Linux am einfachsten mit: dd if=kernel-dateiname of=kernel.gz ibs=1 skip=28
dann kann man mit gunzip kernel.gz das Kernel Image entpacken.
Um an die RAM-Disk zu gelangen kann man diese jetzt mit mount -t cramfs -o loop cramfs.dateiname /mnt/mountpunkt. Dazu muss der Kernel jedoch cramfs unterstuetzen, ansonsten Kernel kompiliieren ;-)

Der Kernel ist Version 2.4.20 mit GCC 3.0 20010422 umgewandelt.
Der Prozessor des SX550i scheint ein MIPS R3000 zu sein, zumindest sind die Kernel Module dafuer umgewandelt. (Ich muss die Kiste mal aufmachen)


Programme in /usr/sbin
Programm Aufgabe
brctl Programm um eine Netzwerk Bridge aufzubauen, bindet die Bridge an Netzwerkinterfaces etc.
dnsmaq DNS Daemon/Proxy
epi_ttcp
exlog
httpd
iptables Paketfilter/Firewall
led_mon
mac_2_ip
nas
netfilter_log
ntpclient
nvram
pppd
pppoecd
pptp
route_check
set_dyndns
udhcpd
upnp
url_filter
vconfig
wan_test
wl Konfigurationsprogramm fuer WLAN Karten
wlconf Herauf-/Herunterfahren von WLAN Karten