- Mitglied seit
- 2 Feb 2009
- Beiträge
- 891
- Punkte für Reaktionen
- 0
- Punkte
- 16
Da bei der 3170 mit "Replace Kernel" das Problem besteht, dass sie bei deaktivierter Kindersicherung Dauerreboots hinlegt, ist ja seit längerem der Patch zum Entfernen der Kindersicherung für die 3170 mit aktiviertem "Replace Kernel" nicht mehr auswählbar. Ich habe aber herausgefunden, dass zum Vermeiden der Reboots lediglich das Modul "userman_mod.ko" während einer Internetverbindung geladen sein muss, den Dämon und das andere Zeugs braucht man nicht. Deswegen habe ich einen Patch geschrieben, der bei aktiviertem "Replace Kernel" und Auswahl der 3170
- soviel KiSi-Zeug wie möglich entfernt (das Kernel-Modul gehört nicht dazu).
- das Modul während des Systemstarts (nach Laden von kdsldmod.ko) läd. So kann man die Kindersicherung auch im WebIF deaktivierten; da jedoch das Modul trotzdem geladen wird, finden keine Dauerreboots statt.
Wichtig: Ich habe meinen Patch noch nicht getestet! Ich lade ihn lediglich hoch, damit ihn die Devs mal durchschauen können und mich z.B. auf strukturelle Probleme hinweisen (z.B. ist mir nicht ganz klar, wie ich die Zahlen in den Patch-Dateinamen korrekt vergebe.).
Bei Gelegenheit könnte ich ihn noch so abändern, dass bei aktiviertem "Remove dsld" wieder der normale userman-Patch verwendet wird, da AFAIK die Reboots nur im Zusammenspiel mit dsld stattfinden.
Werde Ihn bald auf meiner 3170 testen, und falls er funktioniert, wäre es cool ihn baldöglichst einzuchecken, da sich von Zeit zu Zeit immer wieder 3170-User mit dem KiSi-Reboot-Problem im Forum blicken lassen.
Anwendung: Im Freetz-Hauptverzeichnis
Da ich das neue Hochlade-System nicht kapiere, hier der Patch
- soviel KiSi-Zeug wie möglich entfernt (das Kernel-Modul gehört nicht dazu).
- das Modul während des Systemstarts (nach Laden von kdsldmod.ko) läd. So kann man die Kindersicherung auch im WebIF deaktivierten; da jedoch das Modul trotzdem geladen wird, finden keine Dauerreboots statt.
Wichtig: Ich habe meinen Patch noch nicht getestet! Ich lade ihn lediglich hoch, damit ihn die Devs mal durchschauen können und mich z.B. auf strukturelle Probleme hinweisen (z.B. ist mir nicht ganz klar, wie ich die Zahlen in den Patch-Dateinamen korrekt vergebe.).
Bei Gelegenheit könnte ich ihn noch so abändern, dass bei aktiviertem "Remove dsld" wieder der normale userman-Patch verwendet wird, da AFAIK die Reboots nur im Zusammenspiel mit dsld stattfinden.
Werde Ihn bald auf meiner 3170 testen, und falls er funktioniert, wäre es cool ihn baldöglichst einzuchecken, da sich von Zeit zu Zeit immer wieder 3170-User mit dem KiSi-Reboot-Problem im Forum blicken lassen.
Anwendung: Im Freetz-Hauptverzeichnis
Code:
patch -p0 < userman.patch
Da ich das neue Hochlade-System nicht kapiere, hier der Patch
Code:
Index: patches/3170/200-rc.S-load_userman_mod.sh
===================================================================
--- patches/3170/200-rc.S-load_userman_mod.sh (Revision 0)
+++ patches/3170/200-rc.S-load_userman_mod.sh (Revision 0)
@@ -0,0 +1,6 @@
+[ "$FREETZ_REPLACE_KERNEL" == "y" ] || return 0
+echo1 "patching /etc/init.d/rc.S"
+modsed "s/^modprobe kdsldmod\n\/etc\/init\.d\/rc\.net/modprobe kdsldmod\
+modprobe userman\
+\/etc\/init\.d\/rc\.net\/g" "${FILESYSTEM_MOD_DIR}/etc/init.d/rc.S}"
+
Index: patches/3170/315-remove_userman.sh
===================================================================
--- patches/3170/315-remove_userman.sh (Revision 0)
+++ patches/3170/315-remove_userman.sh (Revision 0)
@@ -0,0 +1,15 @@
+[ "$FREETZ_REMOVE_USERMAN_3170" == "y" ] || return 0
+echo1 "removing userman files"
+rm_files ${FILESYSTEM_MOD_DIR}/bin/userman* \
+ $(find ${HTML_LANG_MOD_DIR} -name 'userlist*' -o -name 'useradd*')
+for j in userlist useradd; do
+ for i in $(find "${HTML_LANG_MOD_DIR}" -type f -name '*.html' | xargs grep -l $j); do
+ modsed "/$j/d" $i
+ done
+done
+if [ -e "$FILESYSTEM_MOD_DIR/etc/init.d/rc.init" ]; then
+ modsed "s/KIDS=y/KIDS=n/g" "$FILESYSTEM_MOD_DIR/etc/init.d/rc.init"
+else
+ modsed "s/CONFIG_KIDS=.*$/CONFIG_KIDS=\"n\"/g" "$FILESYSTEM_MOD_DIR/etc/init.d/rc.conf"
+fi
+
Index: Config.in
===================================================================
--- Config.in (Revision 6858)
+++ Config.in (Arbeitskopie)
@@ -1882,6 +1882,15 @@
help
Remove userman files (Kindersicherung)
+config FREETZ_REMOVE_USERMAN_3170
+ bool "Remove usermand - EXPERIMENTAL"
+ depends on \
+ (FREETZ_REPLACE_KERNEL && FREETZ_TYPE_WLAN_3170)
+ default n
+ help
+ Remove userman files (Kindersicherung), except for userman_mod.ko
+ (without userman_mod.ko, the 3170-Firmware wont work)
+
config FREETZ_REMOVE_VOIPD
bool "Remove VoIP files (for non-telephony boxes)"
depends on \