2015-05-27 23 views
6

Próbuję karmić urządzenia Watchdog - /dev/watchdog w Raspbian - od Cwatchdog: Urządzenie lub zasoby zajęte

Problemem jest nie ważne jak próbuję otworzyć urządzenie zawsze rzuca zajęty lub uprawnien błędów (ponieważ proces już działa i jest zasilany przez system ..).

W watchdog API mówi, że '..the kierowca nie będzie wyłączyć watchdog chyba specyficzny charakter magiczny «V» zostało wysłane do /dev/watchdog tuż przed zamknięciem pliku. ale potem znowu nie może zapisu /dev/watchdog .. Próbowałem:

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

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

Czy istnieje jakiś sposób, aby uwolnić się z urządzenia, aby można było kontrolować bicie serca z C?

+0

Co 'fuser -v/dev/watchdog' mówi? – Dummy00001

+0

Nic, po prostu puste. – TMichel

+0

Czy używasz 'echo V>/dev/watchdog' jako root? Co do programu, czy zamykasz plik po jego otwarciu? – CJxD

Odpowiedz

5

Miałem ten problem, gdy pracowałem z Raspberry Pi. Moja aplikacja korzystała z rozległego czasu procesora. Po 1 lub 2 dniach pracy spowodowało to zawieszenie Raspberry pi. Więc zdecydowałem się użyć wtchdog. Kiedy chciałem napisać urządzenie watchdog z programu C++, dostałem ten sam błąd.

Rozwiązanie, które znalazłem:

otworzyć nowy plik reguł sudo nano /etc/udev/rules.d/60-watchdog.rules

i dodać tę linię do pliku KERNEL=="watchdog", MODE="0666"

Po tym, byłem w stanie uzyskać dostęp do ekranu terminala forma watchdog lub program C++.

+0

Nie mogę tego teraz wypróbować, ale jeśli to działa, to złoto. Dziękuję bardzo, a będę Cię na bieżąco. – TMichel

+0

To rozwiązanie działa również dla mnie. Wielkie dzięki! –

+0

Nie działa dla mnie: nadal "Urządzenie lub zasoby zajęty". @Michel: czy masz jakieś postępy? – beemaster