|
WDT1RCE - konfigurovatelné watchdogy pro Linux
|
Technické parametry
|
|
- jednoduché připojení do běžného portu (COM)
- a místo vypínacího nebo resetovacího tlačítka
- zapne počítač i po výpadku napájení
- lze konfigurovat parametry podle vlastní potřeby
- v Linuxu jednoduchá komunikace - popis zde
- možnost optimalizace délky vypínacího / resetovacího pulsu
- volba vlastního hesla - více než 11 miliard možností
- nastavení je vždy uloženo do vnitřní paměti EEPROM
- parametry přenosu: 4800 bps, 8 bitů bez parity
- výstupní spínač - zatížitelnost až 100mA
- celá instalace spočívá v připojení k počítači a spuštění skriptu (pro LINUX). Dále je zapotřebí mít nainstalován HostAP a vytvořený konfigurační soubor watchdog.opts, viz zmíněný skript.
|
|
Popis činnosti
|
Úkolem watchdogu je nepřetržité hlídání nadřazeného počítače a v případě jeho vytuhnutí tento počítač restartovat. Toto zařízení je vhodné zejména pro servery a routery na špatně dostupných nebo odlehlých místech bez obsluhy a všude tam, kde je nezbytné počítač neustále udržovat ve správném chodu.
WDT1RCE monitoruje aktivitu na asynchronním portu, ze kterého počítač dle programového nastavení v pravidelných časových intervalech odesílá jednoduché zprávy. Jakmile počítač zatuhne, přestane také odesílat tyto zprávy a watchdog jej po nastaveném timeoutu vyresetuje.
Datový konektor se připojuje do volného asynchronního portu (COMu), druhý konektor RESET místo resetovací nebo power tlačítka (ATX mainboardy) a konektor LED místo POWER led.
S připojeným watchdogem komunikuje počítač prostřednictvím několika řetězců, které si nyní popíšeme.
Resetovací zprávu zajistí v Linuxu například tento příkaz:
nohup bash -c "while true ; do echo wdt120s > /dev/ttyS0; sleep 20s; done " &
Je nutné vložit do dávky, která se spouští vždy po restartu.
|
Podporované příkazy
|
Nejpoužívanějším příkazem je resetovací zpráva tvaru wdtXXXXs, kde XXXX určuje timeout v sekundách, maximální hodnota může být 9999 sekund.
Přijetí potvrdí watchdog krátkým bliknutím kontrolky (led) a znamená, po kolika sekundách (timeoutu) má být restartován počítač. Nepřijme-li watchdog do tohoto timeoutu další zprávu, provede zmíněný reset připojeného počítače.
Zpravidla odesíláme stále stejný řetězec, jehož proměnnou X si zvolíme podle vlastní potřeby (nejčastěji wdt120s, wdt180s a pod.).
Vzhledem k nepřesnému časování v PC doporučuji zvolit odesílací čas minimálně 5x kratší, než je čas X uvedený v řetězci wdt.
|
Dalším příkazem je wdtporYYYYs, který nemá vliv na nastavení probíhajícího timeoutu, ale slouží jako první timeout po zapnutí počítače a po každém restartu, způsobeného watchdogem.
Tento čas je vhodné zvolit s dostatečnou rezervou, aby měl počítač dostatek času k nabootování operačního systému, nejčastěji wdtpor900s (15 minut).
Tuto zprávu nevkládejte do skriptu, ale odešlete ji pouze jedenkrát, neboť nastavení je vždy uloženo do vnitřní EEPROM ve watchdogu (počáteční nastavení je 900sec). Správné přijetí wdtporYYYYs je potvrzeno dvojitým bliknutím led.
|
Nastavení délky resetovacího pulsu
|
Vhodné pro desky, které mají multifunkční vypínací tlačítko (krátký stisk - režim power down, delší stisk tlačítka >4sec - vypnutí počítače).
Vypínací doba se nastavuje příkazem wdtlevelXXXXms, kde XXXX je délka pulsu v milisekundách. Rozsah 1 až 9999ms.
Tuto zprávu nevkládejte do skriptu, ale odešlete ji pouze jedenkrát při konfiguraci, neboť hodnota je vždy uložena do vnitřní energeticky nezávislé paměti ve watchdogu (EEPROM). Správné přijetí řetězce je potvrzeno dvojitým bliknutím led.
Při výstupní kontrole jsou všechny watchdogy nastaveny tak, aby spolehlivě restartovaly starší i nové mainboardy.
|
Přístupové heslo zvyšuje bezpečnost
|
Pomocí pinHHHH&s zakážeme zpracování přijímaných řetězců, pokud neobsahují heslo HHHH.
Na začátku každého řetězce wdtXXXXs a wdtporYYYYs pak musí být pinHHHH&s ( příklad: pin1234&wdt120s , pro heslo 1234 ). Heslo musí být číslo a počet znaků od 1 do 10.
Změna hesla se provádí takto: pinHHHH&pinNNNN&s , kde H je staré heslo a N je nové heslo.
Zadáme-li pinHHHHpin&s, bude funkce heslování zakázána a watchdog bude pracovat jako ostatní typy, t.j. bez prefixu pinHHHH&.
Po přijetí příkazu na změnu hesla bude watchdog zhruba dvě vteřiny tento příkaz ignorovat a to i v případě chybného hesla. Tím je znesnadněno "pirátské" přeheslování, neboť na vyzkoušení všech kombinací bude pak zapotřebí více jak 700 let.
Upozornění: pokud nastavíte heslo a zapomenete jej, není možné jednočip odblokovat jinak, než přeprogramováním a je nutné nám jej zaslat zpět. Odblokování provádíme za poplatek 50,-Kč / kus. Watchdogy vždy dodáváme bez hesla.
|
Příkazem wbreaks zastavíme odpočet timeoutu, watchdog lze tak používat i jako startovací relé.
Nastavení je uloženo do EEPROM. Znovuspuštění timeoutu provedeme standartním příkazem wdtXXXXs (povolení časování je rovněž uloženo do EEPROM).
|
Speciální funkce
|
Tato řada dále umožňuje zapnutí počítače po výpadku napájecího napětí. Funkce je následující:
po obnovení napájení je na vstupu POWER LED cca 1.5V a více.
WDT1RCE se spustí a vyčká cca 10 vteřin, zda se počítač nezapne sám. Pokud ne, provede zapnutí počítače
a spustí časování prvního timeoutu po zapnutí (dle nastavení řetězcem wdtporYYYYs).
|
|