Fritz!Load Daemon
@Cracks und Entwickler:
Irgendwie sehe ich vor lauter Bäumen den Wald nicht mehr. Nachdem ich gestern bis morgens um 5 Uhr rumprobiert habe und jetzt noch immer nicht darufkomme was ich falsch mache, frage ich mal in die Runde.
Um das Problem mit der aktuellen Fritz!Box Beta Firmware in den Griff zu bekommen und dabei nicht auf Features wie automatisches Remounten und Starten sowie den Autorun zu verzichten, wollte ich den Start auf einen Fritz!Load Daemon umstellen.
Aber egal wie ich es bei der FRITZ!Box Fon WLAN 7270 v2 Firmware-Version 54.05.04-19896 einhänge, schmiert mir das gesamte System ab. Aber nur, wenn der USB Stick steckt! Entferne ich den Stick bootet das System ganz normal und ist stabil.
Falls das System abschmiert, dann CRASHED der ctlmgr
Code:
Jun 12 02:22:54 ctlmgr[770]: 2011-06-12 02:22:54(1) [Bus error] ctlmgr(770) CRASHED at __libc_sigsuspend+0x28 (/lib/libc.so.0 at 000100f8) accessing 00000000 (?)
Jun 12 02:22:54 ctlmgr[770]: ze: 00000000 at: 2ac98686 v0: 00000004 v1: 80000000
Jun 12 02:22:54 ctlmgr[770]: a0: 7faf3608 a1: 00000010 a2: 7faf3608 a3: 00000001
Jun 12 02:22:54 ctlmgr[770]: t0: 00000000 t1: 00008000 t2: 96c93fd0 t3: 00000302
Jun 12 02:22:54 ctlmgr[770]: t4: 00010000 t5: 00000000 t6: 97ab1224 t7: 2b0efb1c
Jun 12 02:22:54 ctlmgr[770]: s0: 7faf3608 s1: 2acce014 s2: 2acce040 s3: 2b1f21e4
Jun 12 02:22:54 ctlmgr[770]: s4: fffffffe s5: 2ac7211c s6: 80000001 s7: 2b3b6e94
Jun 12 02:22:54 ctlmgr[770]: t8: 00000010 t9: 2ad300d0 k0: 00000000 k1: 00000000
Jun 12 02:22:54 ctlmgr[770]: gp: 2adca470 sp: 7faf35d0 fp: 2b3b4294 ra: 2acb8bc8
Jun 12 02:22:54 ctlmgr[770]: Code: 24021067 24050010 0000000c <10e00006> 00408021 8f998934 0320f809 00000000 ac500000
Jun 12 02:22:54 ctlmgr[770]: [bt] Number of functions: 13
Jun 12 02:22:54 ctlmgr[770]: [bt] __pthread_wait_for_restart_signal+0x64 (/lib/libpthread.so.0 at 0000abc0)
Jun 12 02:22:54 ctlmgr[770]: [bt] __pthread_wait_for_restart_signal+0x64 (/lib/libpthread.so.0 at 0000ab5c)
Jun 12 02:22:54 ctlmgr[770]: [bt] csem_v+0x4c (/lib/libavmcsock.so.2 at 00023478)
Jun 12 02:22:54 ctlmgr[770]: [bt] cmmap_unlock+0x5c (/lib/libavmcsock.so.2 at 00016328)
Jun 12 02:22:54 ctlmgr[770]: [bt] crwlock_writerlock+0xa4 (/lib/libavmcsock.so.2 at 00022ac0)
Jun 12 02:22:54 ctlmgr[770]: [bt] crwmmap_writerlock+0x24 (/lib/libavmcsock.so.2 at 00023180)
Jun 12 02:22:54 ctlmgr[770]: [bt] umts_stat_test_and_clear_flag+0x34 (/usr/share/ctlmgr/libgsm.so at 00001020)
Jun 12 02:22:54 ctlmgr[770]: [bt] gsm_poll+0x20 (/usr/share/ctlmgr/libgsm.so at 0000134c)
Jun 12 02:22:54 ctlmgr[770]: [bt] call_module_pollfuncs+0x78 (ctlmgr at 0002e48c)
Jun 12 02:22:54 ctlmgr[770]: [bt] (run_setcountry+0x404)+0x3c (ctlmgr at 0000ccfc)
Jun 12 02:22:54 ctlmgr[770]: [bt] timercb_docallouts+0x19c (/lib/libavmcsock.so.2 at 00039648)
Jun 12 02:22:54 ctlmgr[770]: [bt] csock_select_with_timeval+0x4e0 (/lib/libavmcsock.so.2 at 0002a8a4)
Jun 12 02:22:54 ctlmgr[770]: [bt] main+0x16bc (ctlmgr at 0000e16c)
Falls sich dies jemand mal anschauen mag, hab ich den aktuellen Stand in Changeset 1532 hochgeladen.
Funktionsweise:
1.) Die Idee ist über die install2.sh in der debug.cfg einen kurzen Loader zu installieren.
2.) Bei Systemstart schreibt der Loader sich selbst in die Datei /var/tmp/fritzloadinstall.sh runter und ruft /var/tmp/fritzloadinstall.sh im Hintergrund auf. Nun sollte die debug.cfg sich beenden können und wir haben keinen Reboot Loop mehr.
3.) Die Datei /var/tmp/fritzloadinstall.sh prüft nun dauernd ob der USB Stick verfügbar ist. Sobald der USB Stick verfügbar ist, kopiert sich fritzloadinstall.sh den Deamon vom USB Stick nach /var/tmp/fritzloadd.
4.) Der Deamon wird aufgerufen und /var/tmp/fritzloadinstall.sh beendet und entfernt
5.) Der Deamon gibt aktuell nur eine Test Meldung zurück. Sobald das Problem gelöst ist wird der Daemon erweitert und hat die oben genannten und bekannten Features.
Getestet werden kann der aktuelle Stand mit install2.sh bzw. mit install2_debug.sh (enthält ein paar zusätzliche Echo Ausgaben und auskommentierte Testaufrufe).
Falls bei euch auch der ctlmgr CRASHED dann den USB Stick abziehen und neu booten. Alternativ nach dem Restart der Box schnell die debug.cfg editieren und die beiden letzten Zeilen auskommentieren.
Wäre euch echt dankbar, wenn sich dies jemand mal anschauen könnte.