2015-05-27 5 views
6

Ich versuche, das Watchdog-Gerät einspeisen - /dev/watchdog in Raspbian -Watchdog: Device or resource busy

Das Problem von C. egal ist, wie ich versuche immer, auf das Gerät zuzugreifen wirft besetzt oder Erlaubnis Fehler verweigert (da der Prozess bereits läuft und vom System gespeist wird ..).

Im watchdog API sagt, dass ‚..die Fahrer nicht die Watchdog deaktivieren, wenn eine bestimmte magische Zeichen‚V‘zu gesendet wurde/dev/Watchdog kurz vor dem Schließen der Datei.‘ aber dann wieder ich kann nicht Schreib /dev/watchdog .. Ich habe versucht:

echo V > /dev/watchdog //bash, /dev/watchdog: Permission denied 

open("/dev/watchdog", O_WRONLY); //C, Device or resource busy 

Gibt es eine Möglichkeit, das Gerät zu befreien, so dass ich den Herzschlag von C steuern kann?

+0

Was 'fuser -v/dev/watchdog' sagt? – Dummy00001

+0

Nichts, nur leer. – TMichel

+0

Führst du 'echo V>/dev/watchdog' als root? Wie schließt das Programm die Datei, nachdem Sie sie geöffnet haben? – CJxD

Antwort

5

Ich hatte dieses Problem, als ich mit Raspberry Pi arbeitete. Meine Anwendung hat viel CPU-Zeit verbraucht. Nach 1 oder 2 Arbeitstagen hat es den Raspberry Pi verursacht. Also entschied ich mich den wtchdog zu benutzen. Wenn ich Watchdog-Gerät von C++ Programm schreiben wollte, bekam ich denselben Fehler.

Die Lösung, die ich gefunden:

eine neue Regeldatei öffnen sudo nano /etc/udev/rules.d/60-watchdog.rules

und diese Zeile der KERNEL=="watchdog", MODE="0666"

Nach dieser Datei hinzufügen, ich in der Lage war Watchdog Form Terminal-Bildschirm aufzurufen oder C++ Programm.

+0

Ich kann es jetzt nicht versuchen, aber wenn es funktioniert, ist dies Gold. Vielen Dank und ich werde Sie auf dem Laufenden halten. – TMichel

+0

Diese Lösung funktioniert auch für mich. Danke vielmals! –

+0

Hat bei mir nicht funktioniert: immer noch "Gerät oder Ressource beschäftigt". @TMichel: Hast du Fortschritte? – beemaster