J
Joe3
Guest
Edit DM41:
abgetrennt aus dem HOWTO-Thread.
---
Hallo,
ich bin seit heute neu in diesem Forum und möchte über meine Softwaremodifikation berichten.
Die neuen FRITZ!Boxen besitzen eine USB-Anschluss. Nun bietet es sich an, Binaries, Scripte oder Zusatzsoftware nicht von einem Web-Server im lokalen LAN per "wget" zu laden, sonder von einem USB-Stick, der an die FRITZ!Box angesteckt wird. Dazu müssen nicht einmal Software oder Binaries auf die FRITZ!Box kopiert werden, sonder es können auch Links angelegt werden, die von der Fritz!Box auf Dateien auf dem USB-Stick verweisen.
Dies vermindert das Risiko, dass der Speicherplatz auf der FRITZ!Box zuläuft.
Die Erweiterungen in der "/var/flash/debug.cfg" können minimiert werden, da die Softwareerweiterungen beim Neustart der FRITZ!Box über einen boot-Script auf dem USB-Stick ausgeführt werden.
Es können sich damit in der "debug.cfg" weniger Fehler einschleichen.
Der gesteckte USB-Speicherstick wird bei meiner FRITZ!Box 7170 im folgenden Pfad eingebunden (laut 'mount'):
/var/media/ftp/XXX-0-1/
"xxx" ist die Bezeichnung (Name) des USB-Stick, der von der Fritz!Box automatisch beim "Mounten" erkannt wird.
Je nach Marke oder Hersteller des Stick, ist die Bezeichnung "xxx" im Mountpoint unterschiedlich.
Funktion meines Mods:
Über die modifizierte "debug.cfg" wird auf dem USB-Stick im Ordner "fritz!box" das Scritpt "boot" ausgeführt.
Es wird auf dem USB-Stick nach einer Datei "boot", die sich in einem Ordner "fritz!box" befindet gesucht.
Ist die Datei "boot" vorhanden, dann wird sie von der "debug.cfg" ausgeführt.
Wird "boot" nicht gefunden, weil z.B. der USB-Stick abgezogen wurde, funktioniert die Fritz!Box wie vorher, ohne Modifikation, abgesehen von der Änderung der "debug.cfg".
Die folgenden Zeilen die ich mit dem "nvi" in die "/var/flash/debug.cfg" eingetragen habe, dienen der Ermittlung des Pfades (Mountpoint) des USB-Stick, auf dem sich das boot-Script befindet. Dieses wird dann ausgeführt.
debug.cfg:
Relevante Auszüge aus Datei "boot" im Ordner "fritz!box" auf dem USB-Stick:
Noch wichtige Tips !!!
Eine Modifikation der Firmware kann die FRITZ!Box lahm legen und muss jeder selber verantworten !!!
Wie es um die Gewährleitungsansprüche steht, kann man sich denken.
Die Mod funktionierte auf meiner FRITZ!Box 7170 mit Firmware 29.04.03-3452 (beta) und läuft jetzt auch unter der
aktuellen Firmware-Version 29.04.06.
Ob die Mod mit anderen Boxen und anderer Firmware läuft, weis ich nicht.
Ein sicherer Umgang mit dem "vi" bzw. "nvi" und Grundkenntnisse von Linux sind Voraussetzung für die Modifikationen.
Bitte auf die verschiedenen Hochkommas (' `) in der "debug.cfg" achten.
Zum Editieren der "debug.cfg" mit dem "nvi" sollte man eine 2. Telnet-Session oder ssh-Session öffnen.
Die 1. Session benützt die Fritz!Box für die Standardausgabe von Meldungen, diese würden dann beim Editieren stören.
Zum Thema "telnet" und "ssh" gibt es bereits andere Forenbeiträge.
Vorsicht beim Editieren der betreffenden Dateien !
Grunsätzlich habe auch ich die Dateien auf dem USB-Stick mit vi oder nvi bearbeiten. Wegen unterschiedlicher Zeichensätze, habe ich die Dateien auf dem USB-Stick nicht mit einem Windows-Editor bearbeitet. Nur als Hinweis, falls jemand auf die Idee käme, den USB-Stick zu ziehen und an einem Windows-PC anzustecken.
Sicher kann der aufgeführte Script noch verbessert werden, da ich kein Profi bin, was Shell-Scripte anbelangt.
Auf weitere Fragen zu meinem Beitrag kann ich leider nicht immer gleich antworten.
Bitte um Nachsicht und viel Spaß beim Moding !
Change-Log:
27.05.2006 Vereinfachung der Shellscripte "boot" und "debug.cfg" aufgrund der Tips von "jojo-schmitz".
Gruß
Joe3
abgetrennt aus dem HOWTO-Thread.
---
Hallo,
ich bin seit heute neu in diesem Forum und möchte über meine Softwaremodifikation berichten.
Die neuen FRITZ!Boxen besitzen eine USB-Anschluss. Nun bietet es sich an, Binaries, Scripte oder Zusatzsoftware nicht von einem Web-Server im lokalen LAN per "wget" zu laden, sonder von einem USB-Stick, der an die FRITZ!Box angesteckt wird. Dazu müssen nicht einmal Software oder Binaries auf die FRITZ!Box kopiert werden, sonder es können auch Links angelegt werden, die von der Fritz!Box auf Dateien auf dem USB-Stick verweisen.
Dies vermindert das Risiko, dass der Speicherplatz auf der FRITZ!Box zuläuft.
Die Erweiterungen in der "/var/flash/debug.cfg" können minimiert werden, da die Softwareerweiterungen beim Neustart der FRITZ!Box über einen boot-Script auf dem USB-Stick ausgeführt werden.
Es können sich damit in der "debug.cfg" weniger Fehler einschleichen.
Der gesteckte USB-Speicherstick wird bei meiner FRITZ!Box 7170 im folgenden Pfad eingebunden (laut 'mount'):
/var/media/ftp/XXX-0-1/
"xxx" ist die Bezeichnung (Name) des USB-Stick, der von der Fritz!Box automatisch beim "Mounten" erkannt wird.
Je nach Marke oder Hersteller des Stick, ist die Bezeichnung "xxx" im Mountpoint unterschiedlich.
Funktion meines Mods:
Über die modifizierte "debug.cfg" wird auf dem USB-Stick im Ordner "fritz!box" das Scritpt "boot" ausgeführt.
Es wird auf dem USB-Stick nach einer Datei "boot", die sich in einem Ordner "fritz!box" befindet gesucht.
Ist die Datei "boot" vorhanden, dann wird sie von der "debug.cfg" ausgeführt.
Wird "boot" nicht gefunden, weil z.B. der USB-Stick abgezogen wurde, funktioniert die Fritz!Box wie vorher, ohne Modifikation, abgesehen von der Änderung der "debug.cfg".
Die folgenden Zeilen die ich mit dem "nvi" in die "/var/flash/debug.cfg" eingetragen habe, dienen der Ermittlung des Pfades (Mountpoint) des USB-Stick, auf dem sich das boot-Script befindet. Dieses wird dann ausgeführt.
debug.cfg:
Code:
# Info-LED blinken lassen
echo 7,3>/var/led
# warten bis USB-Stick mountet
sleep 60
# evtl. vorhandenes Script "boot"
# auf evtl. vorhandenen USB-Sticks ausfuehren
for f in /var/media/ftp/*/fritz!box/boot
do
$f
done
# Info-LED blinken aus
echo 7,1>/var/led
Relevante Auszüge aus Datei "boot" im Ordner "fritz!box" auf dem USB-Stick:
Code:
#####################################################################################
### Dieser Script wird nach dem Starten der Fritz!Box ausgefuehrt. #
### Voraussetzung ist eine Aenderung des /var/flash/debug.cfg. #
### Von der debug.cfg aus wird dieser Script #
### ueber "/var/media/ftp/..../fritz!box/boot" aufgerufen. (.... je nach USB-Stick) #
#####################################################################################
# Info-LED blinken, bis Script ausgefuehrt ist
echo 7,3>/var/led
#####################################################################################
### Start des Telnet-Daemon
### Der unsichere telnetd kann dann spaeter auskommentiert werden.
### Bei der neueren Fritz!Box Fon kann der telnetd auch ueber
### Telefon eingeschaltet werden (#96*7* -> ein, #96*8* -> aus)
### Statt dem telnetd sollte besser der sichere sshd laufen.
#/usr/sbin/telnetd -l /sbin/ar7login &
#####################################################################################
### Pfad fuer Softwareerweiterung in die Variable $USBSTICK abgelegen
# Der Pfad des Scriptes hier wird ermittelt, egal von wo aus das Script
# aufgerufen wird. Wenn das Script über den vollständigen Pfad aufgerufen wird
# dann wuerde auch genuegen
# USBSTICK=${0%/*}
USBSTICK=`cd ${0%/*} 2>/dev/null && pwd || echo ${0%/*}`
# Hier kaemen nun je nach Bedarf, die Softwareerweiterung wie ssh, crond, WOL, WOC,
# modifizierter Web-Server zum Starten und Stoppen des dsld über cgi
# usw.
#...
#####################################################################################
### USB-Stick sync, damit dieser ggf. abgezogen werden kann.
### Der sshd funktioniert dann noch.
### Aber alles was verlinkt ist, funktioniert dann nicht mehr.
sync
sleep 3
sync
sleep 3
# Script ist durch, Info-LED ausschalten
echo 7,1>/var/led
Noch wichtige Tips !!!
Eine Modifikation der Firmware kann die FRITZ!Box lahm legen und muss jeder selber verantworten !!!
Wie es um die Gewährleitungsansprüche steht, kann man sich denken.
Die Mod funktionierte auf meiner FRITZ!Box 7170 mit Firmware 29.04.03-3452 (beta) und läuft jetzt auch unter der
aktuellen Firmware-Version 29.04.06.
Ob die Mod mit anderen Boxen und anderer Firmware läuft, weis ich nicht.
Ein sicherer Umgang mit dem "vi" bzw. "nvi" und Grundkenntnisse von Linux sind Voraussetzung für die Modifikationen.
Bitte auf die verschiedenen Hochkommas (' `) in der "debug.cfg" achten.
Zum Editieren der "debug.cfg" mit dem "nvi" sollte man eine 2. Telnet-Session oder ssh-Session öffnen.
Die 1. Session benützt die Fritz!Box für die Standardausgabe von Meldungen, diese würden dann beim Editieren stören.
Zum Thema "telnet" und "ssh" gibt es bereits andere Forenbeiträge.
Vorsicht beim Editieren der betreffenden Dateien !
Grunsätzlich habe auch ich die Dateien auf dem USB-Stick mit vi oder nvi bearbeiten. Wegen unterschiedlicher Zeichensätze, habe ich die Dateien auf dem USB-Stick nicht mit einem Windows-Editor bearbeitet. Nur als Hinweis, falls jemand auf die Idee käme, den USB-Stick zu ziehen und an einem Windows-PC anzustecken.
Sicher kann der aufgeführte Script noch verbessert werden, da ich kein Profi bin, was Shell-Scripte anbelangt.
Auf weitere Fragen zu meinem Beitrag kann ich leider nicht immer gleich antworten.
Bitte um Nachsicht und viel Spaß beim Moding !
Change-Log:
27.05.2006 Vereinfachung der Shellscripte "boot" und "debug.cfg" aufgrund der Tips von "jojo-schmitz".
Gruß
Joe3
Zuletzt bearbeitet von einem Moderator: