Diese Webseite entstand aus dem Baukasten von: Professionelles Webdesign zu fairen Preisen!
Fritzbox SL Tuning
FritzBox SL Tuning
Da die FritzBox SL von Haus aus mit lediglich 2MB Speicher ausgestattet ist, ist es schwer nützliche Tools zum Laufen zu brigen.
Hauptproblem ist die abgespeckte busybox, welche nichtmal telnetd, wget und vi mitliefert. Somit lässt sich nicht einmal die Nachladen-Methode anwenden um sich Tools beim Booten auf die Fritzbox zu holen.
Nachfolgende Anleitung beschreibt, wie man die Fritzbox SL so frisiert, dass folgende Tools vorhanden sind:
telnetd
etherwake (Wake on LAN)
wget
crond/crontab
vi
nvi
Virtual IP
Zunächst besorgt man sich von AVM ein Image, welches noch TFTP-Get enthält. Ich habe z.B. das Image "FRITZ.Box_SL.10.03.48.image" und "FRITZ.Box_SL.10.03.73.image" verwendet. Letzters wird für DSL 6000 benötigt.
Wenn ihr bei AVM anruft und sagt, daß ihr noch eine alte Firmware (z.B. 09.03.87) auf der Box habt, welche das Flashen der aktuellen Firmware nicht erlaubt, dann bekommt ihr sehr wahrscheinlich 10.03.48 zugeschickt.
So, jetzt geht´s los.
Wenn ihr noch ein älteres Image als 10.03.48 habt, dann könnt ihr den Downgrade überspringen und bei Tuning weiter lesen. Ansonsten hier weiter drann bleiben.
Downgrade der Frotzbox SL
Die meisten Anleitungen und Downgrade-Images die ihr im Internet findet, könnt ihr vergessen. Die funktionieren nicht, weil die abgespeckte busybox kein "sed" mehr drauf hat. Ihr müsst so vorgehen: Zunächst das im ZIP enthaltene "starttelnet_sl.image" auf die Box flashen. Wenn die Meldung "Kein Fehler" kommt, dann loggt ihr euch per TELNET auf die Fritzbox ein. (Z.B. in der MSDOS-Eingabeaufforderung mittels telnet 192.168.178.254)
Auf der Box angelangt, führt ihr folgende Commandos aus:
Danach steht der Cursor ohne # auf der Command Line. Jetzt kopiert ihr folgenden Code und fügt ihn in das Telnet-Fenster ein. Danach Strg+C drücken. Somit habt ihr den Code schonmal auf die Fritzbox übertragen.
Code:
#! /bin/sh
#
SILENT=y
. /etc/init.d/rc.conf
export FIRMWARE_VERSION=${CONFIG_VERSION_MAJOR}.01.01
export FIRMWARE_SUBVERSION=
export FIRMWARE_DATE="05.05.2006 10:47:14"
#########################################################
BUILD=0.1
TI_VER=3.3.0
BOARD=AR7RD
FSSTAMP=20060505104714
#########################################################
#########################################################
if [ -z "$*" ] ; then
echo $FIRMWARE_VERSION
fi
#########################################################
for i in $* ; do
case $i in
-v|--version)
echo $FIRMWARE_VERSION
;;
-vsub|--subversion)
echo $FIRMWARE_SUBVERSION
;;
--project)
echo 3678
;;
-d|--date)
echo $FIRMWARE_DATE
;;
--install=${CONFIG_INSTALL_TYPE})
echo korrekt install type: ${CONFIG_INSTALL_TYPE}
exit 0
;;
*)
echo install type not korrekt: ${CONFIG_INSTALL_TYPE}
exit 1
;;
esac
done
Jetzt folgt noch folgendes Commando um die Fritzbox zu überlisten, damit sie nicht mehr wegen einem zu alten Firmware-Image rummeckert.
Jetzt wird die gefakte Image-Versionsnummer angezeigt und sollte 10.01.01 anzeigen.
Ist dem so, dann ohne Neustart das alte Image im Webinterface einspielen und warten bis die Fritzbox aufhört zu binken und neu startet. Loggt euch danach auf dem Webinterface ein und prüft die Versionsnummer.
Tuning
Ihr benötigt jetzt einen Rechner, welcher möglichst eine feste IP Adresse hat. Z.B. 192.168.178.200 und startet dort einen TFTP-Server. Ins zugeordnete Verzeichnis legt ihr alle Dateien die im anhgehängten ZIP enthalten ist.
Jetzt die Fritzbox mit dem "starttelnet_sl.image" flashen und per TELNET auf die Box einloggen. Jetzt folgende Commandos ausführen:
Danach steht der Cursor ohne # auf der Command Line. Jetzt kopiert ihr folgenden Code, ändert diesen passend für eure MAC-Adresse und die Cronjobs ab und fügt ihn in das Telnet-Fenster ein. Danach Strg+C drücken. Somit habt den Code schonmal auf die Fritzbox übertragen.
Code:
ifconfig lan:1 192.168.178.253 netmask 255.255.255.0 broadcast 192.168.178.255 up
sleep 3
PATH=$PATH:/var/tmp
export PATH
cd /var/tmp
# busybox von TFTP-Server holen
tftp -g -l busybox -r busybox 192.168.178.200
tftp -g -l busybox.bin -r busybox.bin 192.168.178.200
tftp -g -l libcrypt.so.0 -r libcrypt.so.0 192.168.178.200
chmod +x busybox
chmod +x busybox.bin
ln -s busybox wget
ln -s busybox dirname
ln -s busybox realpath
ln -s busybox crontab
ln -s busybox passwd
ln -s busybox more
ln -s busybox nslookup
ln -s busybox reboot
ln -s busybox tail
ln -s busybox telnetd
ln -s busybox time
ln -s busybox traceroute
ln -s busybox sed
ln -s busybox vi
ln -s busybox which
ln -s busybox etherwake
sleep 10
# Crontab anlegen
mkdir -p /var/spool/cron/crontabs
echo "0 * * 1-5 wget http://mydomin.de/my_ip.php" > /var/spool/cron/crontabs/root
# Cron Deamon starten
/var/tmp/busybox crond &
# MAC address
wolmac="01:23:45:67:89:AB"
# interface to use for WOL
# intf = std - ata
# eth0 = LAN1 - WAN
# eth1 = LAN2 - LAN1
wolinterface="eth0"
# einfaches WOL script erzeugen
echo "/var/tmp/busybox etherwake -i ${wolinterface} ${wolmac}" > /var/tmp/startpc
chmod +x startpc
# telnet starten
/var/tmp/busybox telnetd -l /sbin/ar7login
# nvi erzeugen
cat > nvi << 'EOF'
#! /bin/sh
if [ -z "$1" ]; then
echo "Usage: $0 " 1>&2
exit 1
fi
dir="$(dirname "$1")"
case "$(realpath "$dir")" in
/var/flash)
cat $1 > /var/nvi.tmp
/var/tmp/busybox vi /var/nvi.tmp
exitval=$?
if [ $exitval -ne 0 ]; then
rm -f /var/nvi.tmp
exit $exitval
fi
cat /var/nvi.tmp > $1
rm -f /var/nvi.tmp
;;
*)
echo 'Use only with files in /var/flash/*' 1>&2
exit 1
;;
esac
EOF
# nvi ausführbar machen
chmod +x nvi
Wenn Ihr jetzt die Fritzbox neu startet, zieht sich die Box eine erweiterte "busybox" vom TFTP-Server und verlinkt die wichtigsten Commandos. TELNET ist sofort verfügbar und auf der Command Line findet man die wichtigsten Commandos wie man sie von den Fritzboxen 7050/7170 kennt. Crontab -l zeigt die crontab an, welche sich leider nur in der debug.cfg bearbeiten lässt, da der Aufruf von Crontab hardcodes vi im Verzeichnis /bin erwartet und dieses Verzeichnis readonly ist.
Mit startpc kann man seinen heimischen Rechner aufwecken und mit wget sonstige Schweinereien nachladen. Allerdings ist der Speicher der Fritzbox SL jetzt ziemlich voll. Aber trotzdem ist die Box recht stabil und kann mehr als vorher.
Stürzt sie schnell ab, so löscht aus der debug.cfg alles was mit crontab zutun hat raus, falls ihr es nicht benötigt.
Auf die virtuelle IP 192.168.178.253 lassen sich jetzt Portfreigaben einstellen. Somit kann man z.B. von aussen per TELNET auf die Box oder auf das Webinterface. Aber vorsicht, die Kennwörter werden unverschlüsselt über das Internet übertragen.
Viel Spaß!