DS-Mod-Spuren beseitigen beim Wechsel zurück auf AVM-Firmware
@spblinux, knox: Ich denke jetzt mal einfach laut.
Problematik
Ich weiß, ehrlich gesagt, nicht, was exakt passiert, wenn man auf AVM zurück wechselt. Es ist jedoch anzunehmen, daß spblinux Recht hat und die Konfigurationsdateien des DS-Mod im tffs erhalten bleiben, da das FW-Upgrade von AVM ja nichts weiß von der Existenz der anderen Konfigurationsdaten. Was die Dirty Flags angeht, bin ich mir nicht sicher. Ich kenne nur zwei, TELNET und NOT_SIGNED. Ersteres verschwindet, so weit ich weiß, auch dann nicht, wenn man
telnetd wieder ausschaltet und installierte Software aus der
debug.cfg löscht, nachdem man einmal eingeloggt war. NOT_SIGNED sollte allerdings gelöscht werden durch ein korrekt signiertes Update - falls nicht, wäre das dumm und eher ein Grund, meinen Mod zu verwenden, weil dann die Meldung falsch wäre.
Unabhängig davon, was nun mit den Flags passiert, bleibt ja das Problem bestehen, was mit den unbenutzten Konfigurationsdaten ist, die beim Wechsel zurück auf AVM-FW übrig bleiben. Nehmen wir mal an, ich flashe zurück auf AVM, weil ich die Box verkaufe oder Support vom Hersteller brauche. Damit mir der Support gewährt wird (sagen wir mal, ein LAN-Port ist kaputt oder das DSL-Modem spinnt), muß ich Original-FW haben, um auch beweisen zu können, daß das Problem unabhängig von der FW besteht. Also flashe ich zurück, habe vorher vielleicht sogar schon, schlau wie ich bin, den Button gedrückt, um die Dirty Flags zu löschen bzw. hatte vielleicht einen Patch in der
debug.cfg oder in der FW, der das regelmäßig erledigt. Dann wäre alles sauber nach dem Wechsel auf AVM-FW außer dem tffs.
Lösung
Schritt 1: Backup AVM-Einstellungen
Vor dem FW-Wechsel würde ich empfehlen, in der AVM-Oberfläche ein ganz normales Backup der Benutzereinstellungen zu machen:
http://fritz.box - Einstellungen - System - Einstellungen sichern. Das sichert nur die AVM-Einstellungen, und später kann ich sie wieder einspielen (siehe Schritt 2).
Schritt 2: tffs löschen
Folgenden Code ausführen, um Box auf Werkseinstellungen zurückzusetzen. Er stammt übrigens direkt aus einem FW-Install-Skript von AVM (29.04.29 für 7170, Datei
/var/install, Abschnitt "Downgrade"):
Achtung! Ich weiß nicht, ob die Werte für jede Hardware dieselben sind. Am besten mal in ein FW-Image für Eure Box schauen und den Code von dort nehmen.
Code:
echo "Force: factorysettings ..."
id=$((0x10))
while [ $id -le 255 ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
id=$((0x4000))
while [ $id -le $((0x4040)) ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
id=$((0x4400))
while [ $id -le $((0x4440)) ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
echo "Force: factorysettings done."
Danach sollte das tffs sauber sein.
Schritt 3: Restore AVM-Einstellungen
Reset, Ethernet-Kabel anschließen (nicht WLAN), dann beim nächsten Neustart ggf. gerade so viele Fragen beantworten, bis man wieder das Fritz!-Menü sieht, um dort die gesicherten Einstellungen wiederherzustellen. Anschließend hat man eine sauber konfigurierte Box ohne DS-Mod-Einstellungen oder sonstigen support-gefährdenden Ballast wie LCR Updater in
debug.cfg etc. Nur die FW-Version ist noch falsch.
Schritt 4: Installation AVM-Firmware
Das brauche ich wohl nicht zu erklären.
Edit: Mögliche Alternativ-Lösung (ungetestet!)
Mir fiel gerade wieder ein, daß es ja auch
/bin/setfactorydefaults gibt. Das Skript sieht recht simpel aus und macht wohl etwas Ähnliches. Ich habe gerade keine Zeit, es auszuprobieren bzw. näher zu analysieren. Vielleicht wurde ja schon mal etwas darüber geschrieben. Das einzige, was ich fand, war, daß sich jemand mit einer Eumex damit die Box tot geschossen hat, aber das war wohl ein Spezialfall.
Code:
echo werkseinstellung >/proc/tffs
echo cleanup >/proc/tffs
Der erste Aufruf könnte etwas Ähnliches oder das Gleiche tun wie der Code weiter oben. Der zweite defragmentiert das tffs und könnte oben auch angehängt werden. Der zweite Befehl ist es auch, der ausgeführt wird, wenn man in der DS-Mod-Oberfläche auf "Cleanup tffs" klickt.
P.S.: So langsam glaube ich, das wäre einen eigenen Thread wert, aber ich mag jetzt gerade nicht. Schließlich mülle ich meinen eigenen Thread zu.