Dostal jsem od Karla resetátor pro Rachel. Tuším, že jde o resetátor, jemuž je věnována i stránka VyrobaResetator.

O resetátoru SelfControl WDT1EPX se píše na stránce ResetatorWdt1Epx.

Použití resetátoru pro RB532 apod. komentuje ResetatorProRouterBoard.

Ovládání resetátoru

Úroveň příkazů

Resetátor se ovládá jednoduchými textovými příkazy:

Na resetátoru je 5 svítivých diod. Po zapojení jsou všechny zhasnuté. Tři zablikají, když resetátoru pošlu písmeno „w“ nebo „W“, jedna blíká, ať pošlu cokoli. Pošlu-li „w“ nebo „W“, resetátor odpoví „-ok-“.

Když pošlu písmeno „S“ (ne „s“), asi po 11s resetátor dvakrát cvakne, zabliká červenou diodou a restartuje počítač. Posíláním „w“ lze cvaknutí oddálit, písmenem „S“ zcela odvrátit.

Rozhraní v UNIXu

Z počítače (prostření operačního systému) se resetátor ovládá posíláním příkazů na zařízení sériového portu (v mém případě /dev/ttyS0, ale pozor, může to být i jiné zařízení - z tohoto hlediska se systém chová podivně). Sériový port je třeba aktivovat v biosu a při kompilaci jádra.

Obslužný program

Pro reálné použití resetátoru je potřeba obslužný program, který bude s resetátorem komunikovat, posílat mu příkazy, aby neresetoval. Až se počítač kousne, přestane být vykonáván obslužný program, přestane posílat příkazy (příkaz „w“ jsem se pojmenoval „keep alive command“) a resetátor počítač restartuje.

Restart může být také naplánován úmyslně z nějakého specifického důvodu. Obslužný program, rozpozná-li ony specifické znaky, se ukončí, aniž by zastavil resetátor. Následuje obdobný scénář, jako v předchozím odstavci.

Konkrétní obslužný program

Pro použití resetátoru jsem napsal jednoduchý obslužný program (http://www.crfreenet.org/~veronika/misc/resetátor.pl) v Perlu.

Program plní základní funkcionalitu. Navíc umí hlídat dostupnost jednoho počítače po síti pingem a případně vyvolat reset. Nápovědu program vypisuje, zadáte-li parametr --help. Vše by mělo být jasné, kdyby ne, neváhejte se zeptat. Některé parametry, jako například posílané příkazy, lze nastavit na začátku textu programu.

Program obsluhuje přijetí signálu SIGINT. Po jeho přijetí vypne resetátor a ukončí se.

Při ladění programu jsem dospěl k záveru, že pošlu-li resetátoru nekolik příkazů v rychlém sledu za sebou, nejsou zpracovány ekvivalentně, jako kdyby byly poslány s dostatečným časovým rozestupem (nevím, jaký je minimální). Proto se program snaží, aby před posláním libovolných dvou příkazů uplynula aspoň doba $wait_time. Tím může být způsobeno zpoždění ukončení programu po přijetí signálu SIGINT.

Program je bez záruk k libovolnému použití.

FAQ

Jak zapojit do počítače Dell OptiPlex?

crfreenet: ResetatorDokumentace (last edited 2009-05-24 18:21:46 by localhost)

[CRFreeNet] [Galerie] [CZFree.Net] [zen#blog]