Start von Diensten unterbinden

the_freestyler

Neuer User
Mitglied seit
7 Mrz 2007
Beiträge
114
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich habe folgendes Problem, meine 7270 hängt nach dem flash des aktuellen freetz-stable-1.1 trunk 3382 in einer reboot Endlosschleife.

Leider kann ich nicht genau sagen, was den reboot verursacht, aber ich vermute es ist einer der Dienste, die später gestartet werden; denn ich komme bis zu einem bestimmten Zeitpunkt auf die Freetz webgui, bis sich die box dann verabschiedet. Dauer ca. 15sec.

Kann ich das Starten der späteren Dienste irgendwie verhindern, damit ich das Backup auf die Box spielen kann "bevor" sie sich wieder resetet?.

Recovery kommt leider nicht in Frage, denn die Box steht remote.

Edit:

ps über rudi shell kurz vorm reboot:

Code:
PID USER       VSZ STAT COMMAND
    1 root      1208 S    init       
    2 root         0 SWN  [ksoftirqd/0]
    3 root         0 SW   [watchdog/0]
    4 root         0 SW<  [events/0]
    5 root         0 SW<  [khelper]
    6 root         0 SW<  [kthread]
   18 root         0 SW<  [kblockd/0]
   32 root         0 SW   [pdflush]
   33 root         0 SW   [pdflush]
   34 root         0 SW<  [kswapd0]
   35 root         0 SW<  [aio/0]
   72 root         0 SW   [pm_info]
   76 root         0 SW<  [CPMAC]
   80 root         0 SW   [mtdblockd]
  102 root         0 SW   [tffsd_mtd_0]
  105 root      1360 S    /bin/sh /etc/init.d/rc.S 
  183 root         0 SW   [cleanup_timer_f]
  370 root         0 SW   [dectuart_route]
  378 root         0 SWN  [jffs2_gcd_mtd5]
  425 root         0 SW<  [capi_oslib]
  426 root         0 SW<  [capi_oslib]
  427 root         0 SW   [capitransp]
  433 root         0 SW   [glob_codecs]
  437 root         0 SW   [avm_dect_thread]
  454 root         0 SW<  [khubd]
  750 root      3880 S    hostapd -B /var/tmp/hostapd_topology-ath0 
  756 root      4032 S    igdd 
  785 nobody     888 S    dnsmasq --pid-file=/var/run/dnsmasq/dnsmasq.pid -p 53
  788 root      3588 S    multid 
  801 root      4128 S    dsld -i -n 
  813 root      1196 S    telnetd -l /sbin/ar7login 
  814 root      6588 S    telefon a127.0.0.1 
  817 root         0 RWN  [kdsld_token]
  830 root      5448 S <  voipd 
  837 root      3392 S    pbd 
  838 root      3392 S    pbd 
  845 root      3392 S    pbd 
  846 root      3392 S    pbd 
  847 root      6588 S    telefon a127.0.0.1 
  848 root      6588 S    telefon a127.0.0.1 
  849 root      6588 S    telefon a127.0.0.1 
  851 root      1200 S    /usr/sbin/inetd 
  854 root       776 S    /bin/run_clock -c /dev/tffs -d 
  863 root      4068 S    dect_manager 
  866 root      1208 S    sh /var/usb_automount.sh 
  874 root      1360 S    /bin/sh /etc/init.d/rc.S 
  875 root      1196 S    tee /var/log/mod.log 
  914 root      1200 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.
  940 root      1216 S    syslogd -L -C 
  942 root      1200 S    /sbin/klogd -c 4 
  974 root      1068 S    /sbin/chronyd -f /var/tmp/chrony.conf 
  978 root      1224 S    /bin/ash /etc/init.d/rc.callmonitor 
 1007 root      1276 S    /bin/ash /usr/bin/phonebook init 
 1022 root      1276 S    /bin/ash /usr/bin/phonebook init 
 1024 root      3260 S    /usr/www/html/cgi-bin/webcm 
 1029 root      4032 S    igdd 
 1030 root      4032 S    igdd 
 1031 root      4032 S    igdd 
 1047 root      1228 R    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.
 1048 root       872 S    /usr/bin/haserl -u 10000 -U /var/tmp rudi_shellcmd.cg
 1049 root      1212 S    /bin/sh 
 1058 root      1204 S    sh 
 1059 root      1200 S    sed -e s/&/\&amp;/g ; s/</\&lt;/g ; s/>/\&gt;/g 
 1060 root      1196 S    head -c 64000 
 1061 root      1208 S    top 
 1062 root      6588 S    telefon a127.0.0.1 
 1063 root      6588 S    telefon a127.0.0.1 
 1064 root      6588 S    telefon a127.0.0.1 
 1142 root      1228 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.
 1143 root       872 S    /usr/bin/haserl -u 10000 -U /var/tmp rudi_shellcmd.cg
 1144 root      1212 S    /bin/sh 
 1153 root      1204 S    sh 
 1154 root      1200 S    sed -e s/&/\&amp;/g ; s/</\&lt;/g ; s/>/\&gt;/g 
 1155 root      1196 S    head -c 64000 
 1156 root      1204 R    ps
 
Zuletzt bearbeitet:
naja bei sowas ist die .config nicht verkehrt. :)

Das du kurz auf die Box kommst heißt nicht, dass es unbedingt ein Dienst sein muss. Das Problem tritt auch beim berühmten libcrypto so auf, da der watchdog erst dann zuschlägt.

Ich hatte es auch mal auf meiner 7141, dass ich einfach etwas viel beim Start gestartet habe und dadurch halt der Watchdog zugeschlagen hat.

Vielleicht solltest du einfach ein "kleines" Image per push-firmware starten um die Box wieder zum laufen zu bekommen und dich dann hocharbeiten.
 
Hm, danke.
Kann ich den Watchdog abschießen, bevor er irgendwas starten kann? Oder sonstirgendwie das Starten der Prozesse abbrechen, damit ich per freetz webgui eine neue firmware draufschieben kann, um dann remote neu zu flashen?

Mein großes Problem ist ja, dass ich nicht an der Box dran sitze, sondern sie Fernwarte. Somit kann ich kein push firmware machen. Das habe ich mit remote Zugriff gemeint.
 
weitesgehend Problem gelöst/umgangen.

Anscheinend hat Watchdog irgendwas gestartet, was die Box zum Absturz bringt.

Mit prepare_fwupgrade start_from_internet konnte ich den Boot abbrechen und hatte somit genügend Zeit die alte firmware draufzuspielen, die jetzt wieder funktioniert.
 
In deinem ps von oben ist einiges seltsam. Aber Schuld an dem reboot ist wohl der ctlmgr. Der fehlt nämlich im ps und deswegen wird der Watchdog anschlagen.

MfG Oliver
 
@the_freestyler: Du verstehst die Funktion vom watchdog falsch. Normalerweise wird vom watchdog nichts gestartet. Es dient dem einzigen Ziel die Box zu rebooten, wenn es nicht mehr bedient wird. Watchdog ist ein normaler timer, der hoch oder runter (je nach Ausführung) zählt. Wird der Endwert erreicht, so wird reboot ausgelöst. Und zwar nicht auf die sanfte Weise, sondern richtig hart. Um dies zu vermeiden, muss der Timer in regelmässigen Abständen zurückgesetzt werden. Was die entscheidenden Kriterien für das Zurücksetzen des Timers sind, weiß ich nicht. Aber ctlmgr gehört -wie Oliver schon sagte- höchstwahrscheinlich zu einem der Kriterien, warum der Timer nicht zurückgesetzt wird.

MfG
 
ah alles klar, das hatte ich mir noch Olivers Post schon gedacht. Danke.

Durch das Ausführen von prepare_fwupgrade wird der Timer dann zurückgesetzt, sodass sich die Box nicht rebootet.

Leider sind die Umstände nicht gerade günstig um zu checken, woran es gelegen hat.
Jetzt läuft der ctlmgr (wofür ist der gut) jedenfalls.
 
Wiederum falsch. Es würde nicht ausreichen watchdog nur einmalig in "prepare" zurückzusetzen. Entweder wird watchdog dort deaktiviert (theoretisch kann man es machen) oder ctlmgr (oder was auch immer) läuft ständig im Hintergrund und bedient watchdog.

Übrigens, zum Nachlesen, wenn du schon selbst so faul bist zwei Wörter in Google einzutippen.

MfG
 
na dann setzt prepare watchdog dauernd zurück, oder deaktiviert ihn komplett. Wenn du das weißt, wie schreibst du es nicht?

ctlmgr konnte es eben nicht gewesen sein, da es gar nicht lief und etwas anderes auch nicht, da die box nur dann lief, als prepare durchgeführt wurde.
 
Code:
/var/mod/root # cat /bin/prepare_fwupgrade |grep watchdog
## due to use of term...forcedwait (may use kill -9) we have to disable the watchdog early
if [ -c /dev/watchdog ] ; then
echo disable watchdog
echo disable > /dev/watchdog
if [ -c /dev/watchdog ] ; then
echo disable watchdog
echo disable > /dev/watchdog
MfG Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.

IPPF im Überblick

Neueste Beiträge