Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

EEE_WDT - Watchdog do komputera PC "w 3 minuty"

bobeer 22 Sie 2013 18:07 21219 49
  • EEE_WDT - Watchdog do komputera PC "w 3 minuty" EEE_WDT - Watchdog do komputera PC "w 3 minuty"

    Z niezbadanych przyczyn :), producenci komputerów nie umieszczają w popularnych pectach bardziej zaawansowanych układów typu watchdog, umożliwiających restartowanie komputera w przypadku zawieszenia, lub niepoprawnego działania poszczególnych podsystemów, chociaż zaimplementowanie takich mechanizmów sprowadzało by się do do programowania układów „biosu” płyty głównej, lub dodaniu jednego taniego specjalizowanego układu nadzorującego.
    W moim starym laptopie sprawa wyglądała równie beznadziejnie. Poza resetem po przekroczeniu 85C brak jakichkolwiek zabezpieczeń przed totalnym zwisem. O tym żeby bios po całkowitym zaniku prądu pamiętał ostatni stan zasilania (on/off) oczywiście też można było sobie tylko pomarzyć. Z powyższych powodów powstał prosty układ na TINY13 który wszczepiłem do EEE PC 901 (znalazłem nawet wygodne miejsce na przylutowanie 4 wyprowadzeń obudowy SOP8 z czego jedno doprowadza masę, a drugie napięcie 3.3V aktywne podczas pracy komputera (pozostałe 2 były niepołączone)) umożliwiając monitorowanie działania dysku i reset lub repower systemu na wypadek nieaktywności po wybranym czasie. Dodatkowa funkcjonalność, to możliwość użycia przycisku na panelu przednim jako sprzętowego resetu lub repower-a.
    Przykładowy laptop, co ciekawe posiada przycisk sprzętowego resetu, ale znajduje się on z dołu urządzenia, w dodatku jest oryginalnie zaklejony nalepką licencyjną, nic więc dziwnego, że jego funkcjonalność jest marna.

    Do naszego kontrolera należy więc doprowadzić następujące sygnały:
    8-zasilanie 3.3V (w eee pobrałem go z LDO3 z układu RT8203)
    7-sygnał do diody power on sygnalizującej funkcje układu WDT (wyjścia z płyty i z TINY13 są typu otwarty dren, więc nie przeszkadzają sobie wzajemnie)
    6-sygnał do sprzętowego resetu (stan niski powoduje reset komputera)
    5-przycisk zasilania (podłączony do sprzętowego guzika power komputera)
    4-masa
    3-napięcie 3.3V pojawiające się po wystartowaniu płyty komputera (w eee to napięcie na gnieździe karty sim, w które przylutowałem avrka- patrz foto)




    2-sygnał z diody HDD służące do resetowania wachdoga (wykrywane zbocze)
    1-przycisk trybu pracy/ czasu wdt kontrolera. W tym przypadku podłączony do przycisku na panelu przednim komputera (podawana jest masa).

    Kontroler umożliwia wybór następujących czasów, trybów pracy będących bezpośrednio powiązanymi z bitami liczby wprowadzanej ilością przyciśnięć przycisku.

    Bit.0,1,2-czas WDT o następujących wartościach (w obecnej wersji kodu procesora):
    0=off
    1=10s
    2=30s
    3=1min
    4=5min
    5=15min
    6=30min
    7=60min
    Bit.4 jeżeli ustawiony powoduje, że zamiast resetowania najpierw próbowane jest „miękkie” wyłączenie komputera przyciskiem power, po czym normalne włączenie również z użyciem przycisku power. Nieudana próba powoduje ordynarny reset :)
    Bit.5 powoduje, że komputer jest za wszelką cenę włączany, jeżeli zostałby wyłączony z jakiegoś powodu.
    Bit.6 umożliwia zablokowanie / odblokowanie zmiany parametrów programu

    Oprócz programowanych funkcji, domyślnie jest zapamiętywany ostatni stan zasilania, tak więc jeśli odłączymy zasilanie a następnie włączymy komputer do prądu, to układ przywróci system z powrotem do stanu aktywnego. Jeśli podłączymy zasilanie, a laptop był wcześniej wyłączony, to tak pozostanie w dalszym ciągu. Po przejściu komputera w sleep dioda power miga kontrolowana przez bios płyty, co restartuje timer watchdoga i uniemożliwia niechciane opuszczenie tego trybu (z wyjątkiem gdy ustawimy bit.4 – „pc zawsze włączony”).

    Programowanie odbywa się przyciskiem podłączonym do wyprowadzenia reset tiny13.
    Sprowadza się do wyklikania tyle razy, jaki numer programu chcemy wprowadzić. Wybrana liczba zostanie potwierdzona zaświeceniem się diody LED taką samą ilość razy. Programowanie możliwe jest tylko w przypadku wyłączonego komputera (brak napięcia 3.3V na pb.4). Naciśnięcie przycisku 32 lub więcej razy powoduje blokadę programowania sygnalizowaną 3 zaświeceniami led. Kolejne wybranie 32 naciśnięć odblokowuje programowanie. Podczas aktywnego napięcia (włączony komputer) przycisk wywołuje reset po 7 krotnym naciśnięciu, lub repower po 13. Normalnie przycisk do którego jest przypisana ta funkcjonalność na panelu służy do włączania lub wyłączania ekranu LCD, co podczas zawieszenia się oczywiście i tak nie działa).
    W przypadku współpracy opisanego układu z winXP można założyć, że dysk na 100% jest aktywny co najmniej raz na 3min. Więc można spokojnie ustawić czas resetu WDT na 5 lub 10min. Jak wcześniej zaznaczyłem możliwe są też krótsze czasy. Przedstawione urządzenie jest bardzo proste, ale działa bez zarzutu. Dodatkowy pobór prądu to 200uA (pobór prądu obniżyłem, ponieważ napięcie zasilające układ może być aktywne nawet po wyłączeniu laptopa z zasilacza, chociaż w moim przypadku jak się okazało napięcie to dla samego podłączonego akumulatora nie występuje).
    W załącznikach źródło programu oraz wsad.


    Fajne!
  • #2 24 Sie 2013 07:24
    wirefree2
    Poziom 13  

    Producenci nie umieszczają takich układów w popularnych PC ponieważ nie ma takiej potrzeby. Sprawny PC po prostu działa. Na Twoim miejscu zamiast dłubać protezy, zająłbym się lepiej znalezieniem usterki czyli przyczyny zwisów.

  • #3 24 Sie 2013 09:43
    nerevarine
    Poziom 21  

    Sprawny PC może mieć zwisy z różnych przyczyn - programowych, sprzętowych, skoków napięcia w sieci...
    Kolega stworzył dla siebie bardzo ciekawą konstrukcję, nie bojąc się przy tym takiej małej dłubaninki ;)

  • #4 24 Sie 2013 09:54
    wirefree2
    Poziom 13  

    Sprawny komputer nie może mieć żadnych zwisów jeśli ma takowe tzn że któryś z jego elementów jest niesprawny i trzeba to naprawić (wymienić). A jęsli komputer zawiesi się raz na rok z różnych przyczyn to nie jest powód żeby konstruować WDT. W przypadku tego EEEPC przyczyną może być a nawet jest chlodzenie i wstawienie WDT nic tu nie pomoze bo trzeba wymienić paste i wyczyscic komputer.
    Ja rozumiem w czasach PRLu trzeba było sobie radzić ale dzisiaj mozna kupic paste pod wentylator w każdym sklepie. Cały ten pomysł z WDT do tego PC uważam za chybiony i to tym bardziej na elektrodzie autor może lepiej niech poszuka przyczyny zwisów. jakoś niewyobrażam sobie podobnych opisów dotyczących zawieszających sie np telewizorów a przeciez to też komputer i tez potrafi zawisnąć.

  • #5 24 Sie 2013 14:34
    ezbig
    Poziom 19  

    wirefree2 napisał:
    Sprawny komputer nie może mieć żadnych zwisów jeśli ma takowe tzn że któryś z jego elementów jest niesprawny i trzeba to naprawić (wymienić).


    Są takie zastosowania, gdzie komputer sprawny, ale i tak musisz się zabezpieczyć na wszelką ewentualność i wykluczyć na 100% możliwość zawieszenia. Większość przypadków to raczej sprawa programowa i zdarza się z różnych przyczyn - nie sposób wszystkiego przewidzieć. Oryginalny watchdog też ma ratować w sytuacjach awaryjnych, a nie być sposobem na zawieszający się notorycznie komputer.

  • #6 24 Sie 2013 15:31
    excray
    Poziom 39  

    Osobiście nie widzę funkcjonalności dla urządzenia które bez "konsultacji" ze mną resetuje komputer. Moim zdaniem urządzenie mocno nie trafione i w obecnych realiach zupełnie nie potrzebne.

  • #7 24 Sie 2013 16:08
    igon
    Poziom 11  

    A może to po prostu jest układ zabezpieczający amatorski serwer? Nie każdy siedzi przed tego typu sprzętem 24h a jeżeli to robi za np. serwer inteligentnego domu to watchdog jak najbardziej przydatny. Zwłaszcza jakby obsługiwał też zwisy windowsa :P

  • #8 24 Sie 2013 16:27
    piotr_45ta7
    Poziom 16  

    Też się zgadzam że ten układ jest bardzo przydatny, jeżeli świadczymy jakąś usługę na przykład sharing, domowy serwer gier, czy własny serwer www,, to nie będziemy zatrudniać komputera najnowszego aby pracował 24 godziny przez 360 dni w roku, przy tym się przegrzewając w upalne dni, wystarczy taki za 50 - 100 zł nie trzeba pilnować że coś się zwiesi.

  • #9 24 Sie 2013 17:33
    ezbig
    Poziom 19  

    excray napisał:
    Osobiście nie widzę funkcjonalności dla urządzenia które bez "konsultacji" ze mną resetuje komputer. Moim zdaniem urządzenie mocno nie trafione i w obecnych realiach zupełnie nie potrzebne.


    Taki restart jest potrzebny jak nie siedzisz przy komputerze. Koledzy podali przykłady. Jak pracujesz na komputerze i program go zawiesi, to możesz sam go zrestartować, ale jeśli komputer jest tylko częścią systemu i często nie ma nawet podłączonego monitora to już sens jest takiego układu.

  • #10 24 Sie 2013 18:28
    dgajew
    Poziom 18  

    Nie rozumiem krytyki, niejeden serwer potrzebuje takiego watchdoga bo stoi sobie gdzieś w piwnicy i jak się zawiesi to trzeba wysyłać człowieka żeby nacisnął przycisk albo instalować przemysłowy przekaźnik sterowany po GSM/SMS za kilkaset zł. To że komputery się zawieszają często jest winą oprogramowania i nie zawsze mamy na to wpływ.

  • #11 24 Sie 2013 20:30
    necavi
    Poziom 16  

    To, że niektórzy nie widzą sensu dla istnienia takiego "ustrojstwa" nie znaczy, że jest ono zbędne. Osądzanie sensu twórczości innych swoimi potrzebami jest żałosne.
    Sam miałem komputer "mielący" dane 24/7, czasem coś w nim nie domagało i nie było by problemu z resetem gdyby nie marne 1700 km do niego. Rozwiązaniem okazał się restarter GSM.

    Cytat:
    Są mini sterowniki USB resetujące system sprzętowo. (wystarczy zainstalować niewielki sterownik który kontroluje tzw. "życie w systemie" )
    Jeśli komputer się zawiesi, brak czynności życiowych,


    Nie zawsze całość musi się powiesić, czasem pojedynczy program lub nastąpi aktualizacja programu i dopiero jego restart daje mu pełną funkcjonalność.

  • #12 24 Sie 2013 22:37
    LA72
    Poziom 39  

    Wg mnie pomysł i wykonanie jest ciekawy i prosty.
    Podobne urządzenia, bardziej rozbudowane, mają zastosowanie w symulatorach.
    Nie mam tu na myśli urządzeń malutkich, amatorskich.
    Większość z nich składa się z kilku do kilkunastu komputerów połączonych w sieć i współpracujących ze sobą.

    Dzięki wspomnianemu watchdog operator nie musi biegać i otwierać całe urządzenie by zrestartować ten jedyny i wnerwiający komputer.

  • #13 25 Sie 2013 00:27
    2291468
    Użytkownik usunął konto  
  • #14 25 Sie 2013 10:06
    wirefree2
    Poziom 13  

    Autor zapomniał o przypadku kiedy Pecet wisi a dioda HDD sobie miga w najlepsze, a wspomniany przezemnie MCP to prymitywny reset WDT ale spełnia tę samą funkcje, musi dostac na nóżke WDT co pewien odstęp czasu impuls jeśli nie dostanie to reset czyli to samo co układ autora wątku.

  • #15 25 Sie 2013 13:09
    Tommy82
    Poziom 39  

    To nie ty generujesz heartbeat.
    Wykorzystaj jakieś wyjście które będzie sterowane programowo.
    Jest zwiecha nie ma generowanie heartbeat.
    Dysk może być nieprzewidywalny.
    Możesz sobie migać dioda numlocka możesz sobie jaką linią lpt sterować cokolwiek.

  • #16 25 Sie 2013 18:16
    bobeer
    Poziom 28  

    Cytat:
    To nie ty generujesz heartbeat.

    Uruchomić program który od czasu do czasu zapisze odczyta coś z dysku to nie problem (może wcześniej sprawdzać np co znajduje się w jakimś logu).
    Ale tak daleko nie wybiegałem, bo w zupełności wystarcza dla xp sprawdzanie aktywności tej diody dysku. Gdyby ktoś wiedział w jaki sposób wyłączyć w tym upośledzonym systemie operacje na dysku kiedy ten komputer zupełnie nic nie powinien robić, to chętnie się dowiem. Z moich obserwacji dysk nigdy nie miał spokoju w xpeku. Ledwo co zaparkował głowicę, po minucie max 2 odparkował i coś "skrobnął". Dla linuxa i "bardziej przewidywalnych" dla pewności należy wygenerować heart beat programowo.
    Pomysł z diodami klawiatury jest bardzo dobry. W przypadku kiedy nie wystarczy nam reset totalnie zamrożonego pcta, i są wątpliwości, że mimo nieprawidłowego działania dioda hdd nadal miga, to najałatwijsza droga sprzężenia wdt z programem nadzorującym. W EEE nie ma takiej diody, poza tym co w przypadku dodatkowej klawiatury? Tutaj dochodzimy do dedykowanego układu na usb komunikującego się z programem nadzorującym. Tylko po co mieszać w to usb, skoro ta "wioska" świetnie spełnia swoje zadanie :)

  • #17 25 Sie 2013 19:03
    janchar
    Poziom 12  

    Również jestem stanowczo przeciw aby taki WDT instalować na stałe. WDT jest lekarstwem na nieudolność programistów lub konstruktorów. Osobiście wolę korzystać z urządzeń, które nie wymagają resetowania. Te które muszę resetować, to firma produkująca je, omijana jest wielkim łukiem. Tak było z pralką CANDIA. Lepiej leczyć przyczynę niż skutek. Twój pomysł może się przydać, ale technologia nie powinna w tą stronę zmierzać. Dlatego jestem stanowczo za NIE.

  • #18 25 Sie 2013 22:02
    wirefree2
    Poziom 13  

    Mieli dyskiem bo masz plik wymiany na nim i mało RAMu.

  • #19 26 Sie 2013 10:42
    Pittt
    Poziom 30  

    Czemu "znawcy" oceniają te DIY niczym urządzenie ratujące prom kosmiczny przed katastrofą od zwieszenia komputera, a nie po prostu jako pomocnika w utrzymaniu sprawności domowego czy półprofesjonalnego systemu serwerowego? A moim skromnym zdaniem w niejednym profesjonalnym zastosowaniu też by się sprawdził.

    Pozdrowienia dla autora.

  • #20 26 Sie 2013 11:17
    wirefree2
    Poziom 13  

    Ja z tego co pamietam to elektroda od lat jest portalem skupiających ludzi zawodowo zajmujacych sie między innymi naprawami sprzetu i wybaczcie ale proponowanie łatania niesprawnego sprzętu drutem kolczastym jest jak najbardziej nie na miejscu.

    Dlatego z mojej strony proponuje usuniecie usterki czyli chyba chłodzenie lub zawirusowany komputer, i tutaj tez dołożenie jednej kostki 2GB RAM będzie bardzo wskazane. Wskazane też było by przeniesienie wątku z DIY do naprawa PC.

  • #21 26 Sie 2013 11:57
    maz9
    Poziom 18  

    Dla mnie extra projekcik natomiast co innego samo zastosowanie. Nie można ganić kolegi za to że gdzie użyć albo gdzie nie użyć rozwiązania. Pomysł jak najbardziej ok. Zastosowanie na pewno się znajdzie. Ja skorzystam :D

  • #22 27 Sie 2013 00:21
    kitor
    Poziom 34  

    janchar napisał:
    Również jestem stanowczo przeciw aby taki WDT instalować na stałe. WDT jest lekarstwem na nieudolność programistów lub konstruktorów. Osobiście wolę korzystać z urządzeń, które nie wymagają resetowania. Te które muszę resetować, to firma produkująca je, omijana jest wielkim łukiem. Tak było z pralką CANDIA. Lepiej leczyć przyczynę niż skutek. Twój pomysł może się przydać, ale technologia nie powinna w tą stronę zmierzać. Dlatego jestem stanowczo za NIE.


    Dziwne, bo praktycznie standardem w serwerach jest opcja resetująca go jeśli system operacyjny nie odpali w ciągu X minut. Oczywiście że poprawnie działający system powinien pracować lata bez restartu, ale w wypadku zawieszenia (a błędów w oprogramowaniu nie da się wyeliminować) i tak nie pozostaje nam nic innego jak reset.

  • #23 27 Sie 2013 12:36
    scooba
    Poziom 15  

    Nadzoruję prace kilku serwerów czy to win czy unix, rzadko sie zdarza a nawet nie miałem przyjemności przez kilka lat pracy zobaczyć na nich zwiechy, co innego na klienckich xp, vista, etc.
    jeśli się wiesza to trzeba przeinstalować jak nie pomaga to pewnie sprzętowe uszkodzenie, które niestety kwalifikuje urządzenie do wymiany, niemniej jednak jeśli autorowi urządzenie jest przydatne to chyba o to chodzi i nie widzę potrzeby ubliżania projektowi w jakikolwiek sposób.

  • #24 27 Sie 2013 13:26
    mkpl
    Poziom 37  

    Problem jest z zastosowaniem w innych sprzętach... mam 2 laptopy w których nie ma fizycznego przycisku reset a by się przydał..

  • #25 27 Sie 2013 16:45
    Tommy82
    Poziom 39  

    mkpl
    Nie wiem jak obecnie ale pamiętam ze p100 miało wyprowadzony pin resetu.
    Może obecne procki dalej hołdują tej tradycji, a powinny skoro w innych aplikacjach reset jest obsługiwany.
    Być może tędy droga tzn wpiąć się bezpośrednio w okolice socketu. I sprawić co się stanie. Moim zdaniem powinno zagrać. Reset z tego co pamiętam aktywuje się stanem niskim ale mogę się mylić.

    Watchdog to natomiast bardzo przydatna rzecz szczególnie w pewnych zakresach zastosowań w komputerze domowym na biurku raczej słabo ale większość sprzętu przemysłowego czy serwerowego ma taką opcje na pokładzie. Nie zawsze sie z niej korzysta nawet tam to oczywiste, ale jeśli ktoś chce wykorzystać do takich "quasi-przemysłowych" zastosowań sprzęt jaki ma pod ręką bo po pierwsze ma a po drugie ma taki kaprys to czemu nie to watchdog może się przydać.
    Nie tylko watchdog ale też zdalny reset.

  • #26 27 Sie 2013 19:53
    sundayman
    Poziom 24  

    Sprawdziłem z ciekawości Sandy Bridge - jest pin reset (F36).
    Jak jest podłączony na płycie, to już by trzeba sprawdzić.

    I jeszcze słowo komentarza do "krytyków".
    Akurat tak się składa, że automatyczne resetowanie PC czasem bywa nie tylko pożyteczne, ale niezbędne. Przykład ?
    Komputery typu eee box są nagminnie stosowane w instalacjach Digital Signage.
    Pracują tam bez żadnego nadzoru 24/7, i samoczynne resetowanie jest niezbędne.
    Sam stosowałem takie rozwiązania dla zapewnienia systemowi poprawnej pracy (ciekaw jestem jak sobie co poniektórzy wyobrażają monitorowanie kilkudziesięciu lub kilkuset takich komputerów, pracujących w różnych miejscach).

    W niektórych przypadkach dodatkowo stosuje się nie tylko reset "watchdog", ale także profilaktyczny reset regularny (np. codziennie o północy).

    Oczywiście stosuje się dodatkowe "tricki" zapobiegające niekontrolowanej utracie danych podczas resetu (zwłaszcza o ile stosuje się tfu tfu windows...) w postaci
    blokowania zapisu do HDD , stosowania FlashDisk'ów (też blokowanych) zamiast zwykłych HDD itp.

    Nie wiem do czego potrzebne to autorowi, ale krytykom radzę powściągliwość w komentarzach.

  • #27 01 Wrz 2013 11:03
    dolby
    Poziom 13  

    Układ tego typu jest niezbędny w urządzeniach przemysłowych. Spróbujcie zresetować ręcznie siedemset switchy jednocześnie. Przypadki zawieszenia się takiej ilości switchy np. podczas burzy lub skoków napięcia w dobie powszechnego internetu czasem się zdarzają. Do domu układ tego typu jest potrzebny w rzadkich przypadkach. Jeżeli chodzi o przyczyny zawieszania się sprzętu, to w 99% przypadków winny jest sprzęt i montaż(zimne luty, nieprawidłowo zmontowane elementy, zły styk w gniazdach). Oprogramowanie jest najrzadszym powodem zawieszania się sprzętu. Zawieszający się komputer domowy jest komputerem wątpliwej jakości lub wysłużonym, którego miejsce jest już w punkcie recyklingu sprzętu elektronicznego. Jeżeli ktoś chce pracować na niepewnym sprzęcie, to już jego wybór.

  • #28 01 Wrz 2013 20:49
    wirefree2
    Poziom 13  

    Obawiam się że te switche są marnej jakości i pewnie przeznaczone do zastosowań w domu.

  • #29 02 Wrz 2013 08:07
    koczis_ws
    Poziom 24  

    A ja np. mam problem z routerem (w końcu to też komputerek) polegający na tym, że co jakiś czas przestaje działać wi-fi i tylko restart pomaga. Jakby tak dało się zainstalować taki watchdog to by się samo robiło. :). Wiem wiem, kup se nowy w końcu to żadne pieniądze, ale po co skoro normalnie działa ok tylko tak raz na tydzień mu odwala.

  • #30 02 Wrz 2013 08:27
    wirefree2
    Poziom 13  

    Być może wystarczy software WDT zerknij do OpenWRT czy jest port na ten twój routerek.