WatchdogTimer programmieren

Hallo,

ich würde gerne den HW Watchdog Timer meines Systemboard benutzen, um den Rechner neu starten zu lassen, wenn IPS mal steht.

Hierzu muß man den I/O Port h443 in Intervallen auslesen.
Weiss jemand, ob das in IPS bzw. PHP überhaupt geht, und evtl. wie?

Grüße,

Thomas

Hallo Thomas,

prinzipiell geht alles, es ist immer nur die Frage des Aufwandes. Wenn der Port ausgelesen wird, passiert ja noch nichts, oder verstehe ich das falsch?

Wahrscheinlich wirst Du hier aber dafuer am einfachsten einen API Aufruf benoetigen. Falls dieser ueber Windows COM Funktionen laeuft, duerfte das die erste Schwierigkeit sein, denn die COM Funktionalitaet habe ich aus dem WIIPS wieder entfernt, da diese selbst zu unkontrollierbaren Abstuerzen gefuehrt hat.

Gruss Torro

ermmmm, wie willst du in IPS einen HW Watchdog auslesen, wenn sowiso IPS steht? IPS ist keine SPS und wird auch nie eine werden. :confused:

Das wird den Aufwand nicht wert sein, denn du steuerst ja keine Lebenswichtigen Elemente mit IPS, wie einen Herzschrittmacher oder Dialysegeraete.

mfG Franz

@Torro

Auslesen ist schon richtig. Wenn man den Port zum ersten Mal ausliesst, wird der Timer gestartet (HW-seitig). Dieses Auslesen muss dann ständig wiederholt werden,damit der Timer nicht gegen 0 läuft, geschieht das nicht, bekommt die CPU den Reset. Will man den Watchdog beenden, muss man einen anderen Port abfragen z.B. beim IPS Shutdown, damit der Rechner nicht neu startet.

Ich wollte dies mit IPS starten und auch die ständige Abfrage mit IPS machen.
Für Basic habe ich den Code (sind nur ca. 3 Zeilen, Abfrage und Wiederholung), weiss nur nicht, wie ich aus PHP den Port abfragen kann.

@guyabano

das ist doch gerade der Witz am Watchdog, wenn’s System steht, führt die HW den Reset aus.
Lebenswichtig nicht, aber bei Abwesendheit möchte ich das bei Problemen das System neu startet, anstatt 3 Wochen im Urlaub mit blue screen zu stehen.
Und das dies nicht mal passiert,kann mir keiner erzählen.
Also, wichtig wäre das für mich schon.

Gruß,

Thomas

Hallo,

naja, man kann aber mit einem Watchdog sich auch ne Menge kaputt machen. Der wird ja den Rechner nicht softwareseitig runterfahren, oder?

Wie sieht denn der Code in Basic aus?

Gruss Torro

Suche ich morgen mal aus dem Manual vom Board raus.
Aber so ungewöhnlich ist das doch nicht. ASR (autom. Server Restart) haben wir doch seit Jahren bei Servern. Wenn die SW steht und den HW-Timer nicht mehr aktualisiert, wird der Server „brutal“ neu gestartet, wenn keine ständige Überwachung möglich ist.

Thomas

Hallo Thomas,

also wir booten unsere Rechner im Buero nie, einer hat schon eine Uptime von mehr als 500 Tagen…aber das ist ein anderes Thema.

Mein Produktiv-IPS (Live Version) hat uebrigens mit WIIPS 0.56 eine Uptime

von 20 Tagen und 3 Stunden, da ist also Dein Urlaub sicher drin…wobei ich da inzwischen bei Windows schon staune, dass dies solange haelt.

Gruss Torro

Hmm, ein direkter I/O-Port der Hardware? Und du hast Code… Dann schreib doch einfach in VB oder irgendeiner anderen Sprache ein Commandline-Programm was diesen I/O Port abhandelt (halt ne EXE). In IPS machst du ein Script mit IPS_Execute welches das Proggie dann aufruft und dieses Skript kippst du dann in den IPS-Timer-Event (vieleicht jede Minute ausführen?) - eigentlich ganz einfach :wink:

Ich führe mit IPS auch Aufgaben auf anderen Rechnern aus und die ‚Kommunikationsschnittstelle‘ ist dabei meist irgendein Kommandozeilenprogramm - egal in was auch immer geschrieben.

Ja…

Kann Olli da nur zustimmen. Soetwas hardwarenahes machste am besten nicht mit nem Script sondern in ner möglichst hardwarenahen Sprache… Oder eben Basic… :smiley: :cool:

Nee, im Ernst. Belaste IPS nicht mit kilometerlangen Scripten, wenn ein 3 Zeilen Prog es auch tut. IPS hat andere aufgaben auf die es sich „konzentrieren“ soll.

Toni

Ich wollte das halt alles Zentral über IPS regeln und den Rechner nicht mit externen Programmen belasten. Wusste ja nicht, das das mit PHP so kompliziert ist. War ja nur ein Versuch.

Hier nochmal die Codezeilen, die der Hersteller mitliefert:

10 REM Watchdog Timer
20 X=INP (&H443) //startet den Watchdog Timer
30 GOSUB 1000
40 X=INP (&H043) //beebdet den Watchdog Timer

//dann noch die Schleifen, um die Abfrage ständig zu wiederholen

sieht hier eigentlich nicht nach viel Arbeit aus, aber aus PHP?

Grüße,

Thomas

Hallo Thomas,

Habe eine Hardware Watchdog……brauche noch einen Betatester!!! :o

Hängt am Seriellen Port (Daten) USB (Power) und natuerlich RESET. Sollte eigentlich tadellos mit dem IPS-System funktionieren.

Die WD besteht aus: RS232 Beschaltung, Atmel Tiny2313 o. Mega8 (je nach Version)

Die WD kann per Kommando gestartet, gestoppt, getriggert, gelesen und Timeout programmiert werden.

Die Mega8 Version wird auch ein Array[0…9] mit Datum und Uhrzeit bekommen.

Also wenn Interesse besteht zu testen?

Guido

Hallo Madru,

also an einem HW-WatchDog wäre ich sehr dran interessiert, zumal deine Lösung dann unabhängig vom verwendeten Board ist.
Leider sind meine beiden COM’s schon belegt, überlege aber gerade, ob ich mir ein neues Via Epia Mini-ITX Board gönnen soll, dann mit 4x COM.

Würde dann gerne auf dein Angebot zurück kommen.

Gruß,

Thomas

Hallo,

nur zu info:

FALLS IPS mal abschmieren sollte wird es auch absolut nicht garantiert sein, dass IPS wieder starten wird.
IPS beschreibt die Setting.xml Datei im Minutentakt (laut Paresys Angaben) und wenn sie gerade da abschmiert, wirst du IPS sowieso nicht mehr starten. Deine Datei wird korrupt sein und du muss manuell das Backup Setting.xml wieder eintragen. Das ist schon ein paarmal passiert. Das kannst du nachlesen hier im Forum das die settings.xml abgeschmiert ist. Dann wird ein HW Watchdog auch nichts mehr retten können.

mfG Franz

Falls ein Datenbankserver abschmiert, startet der mit ASR auch wieder, wieso macht man das eigentlich?
Mir ist es aber auf jeden Fall lieber, nach einem Crash eine 90%ige Sicherheit zu haben, das meine Haussteuerung wieder läuft, als gar keine.

Wieso hat eigentlich ein Fallschirmspringer einen 2. Rettungsschirm ? Wenn er sich im ersten verheddert, nützt im der 2. auch nichts mehr. :smiley:

Mir ging es ja auch nur darum, eine Funktion, die die HW mitbringt, zu nutzen.
Ich habe nun seit 4 Jahren einen Haussteuerung auf Windowsbasis am laufen. Ich schalte den Minirechner mit Win98 immer ohne Rücksicht auf Verluste aus, da keine Tastatur und hatte noch nie das Problem, das das System mit Fehlern hoch kam. Deshalb läuft bei mir für diese Art von Anwendung auch kein XP.

Grüße,

Thomas

nach einem Crash eine 90%ige Sicherheit zu haben

Noch nie was von Murphy’s Gesetzen gehört ?? :smiley:

mfG Franz

Die Wahrscheinlichkeit, dass etwas Eintritt ist antiproportional zu den Bemühungen die man aufwendet um eben dieses zu verhindern. Oder eben nicht…

Mensch Leute,

das ist WINDOWS, das ist doch (vor)programmiert !!! :smiley: :smiley: :smiley:

Thomas

Hallo Doc,
wenn Du noch nichts anderes gefunden hast, um Deinen „Wachhund“ anzubellen, kannst Du mir eine PM schreiben. Ich habe ein IPS-Modul, welches diese Portzugriffe erlauben sollte.

Tommi

Hallo Thomas…

Du hast Post :slight_smile:

Hallo tommi & Madru,

im Moment überlege ich, wie ich es jetzt genau anstellen kann.
Bei meinem Board geht es um das Advantech PCM-5820, 3,5" Mini-PC m. CF-Karte u. 128MB, auf dem zur Zeit IPS läuft und den WatchDog Timer mitbringt.
Ich spiele zur Zeit mit dem Gedanken, mir einen neuen Sicherungsschrank einzubauen, und hier die Komponenten zu integrieren, evtl. auch ein neues Mini-ITX Board mit 4x COM. Deshalb weiss ich noch nicht genau wie ich es realisieren soll > WatchDog aber auf jeden Fall, ist eigentlich bei einer Hausautomation Pflicht.

Ich würde gerne in den nächsten Tagen auf euer Angebot zurückkommen, wenn ich genau weiss, wie ich es machen werde.

Falls ich ein neues Board bestelle, besteht evtl. bei jemanden Interesse für diesen 5 Volt Mini-PC? Sonst landet es dann bei eBay.

Viele Grüße,

Thomas