original in en Guido Socher
en to nl Tom Uijldert
Als ik een computer koop kijk ik altijd of de BIOS een instelling heeft waarmee je de controle op de aanwezigheid van een toetsenbord kunt uitzetten. Iedere behoorlijke moederbord- fabrikant heeft die optie tegenwoordig. Sommige fabrikanten denken nog steeds dat mensen alleen maar Windows op hun PC hebben en deze PC's hebben dus een toetsenbord nodig om op te starten. Het is af te raden om dergelijke hardware aan te schaffen.
Een machine zonder toetsenbord en monitor is de ideale computer om te gebruiken als firewall, web-server, NFS bestandsserver, mail-server, ADSL-adapter enz. Het hoeft geen dikke machine te wezen. Een oude Pentium op 100 MHz met voldoende intern geheugen kan makkelijk honderd of meer machines bedienen.
De afwezigheid van externe apparatuur hiervoor is makkelijk want de server is dan gereduceerd tot een kleine doos die je overal neer kunt zetten. In een hoek of op een plank in de kelder. Soms echter, heb je de behoefte aan een knop waarmee je de machine op een nette manier neer kan halen zonder dat je hoeft in te loggen en het shutdown commando moet draaien. Wellicht omdat je al in de serverruimte bent en het dichtstbijzijnde werkstation 100 meter verder is. Of er is iemand die wel bij de machine kan maar het wachtwoord van de machine niet heeft en toch de machine af moet sluiten voordat hij de voeding eruit haalt.
Simpelweg de stekker eruit trekken is geen goede oplossing omdat je daarmee data kunt verliezen en een disk-check (fsck) bij opstarten duurt eindeloos.
De oplossing hiervoor is het kleine en goedkope apparaatje dat we hier bespreken.
Na deze drie seconden zal het groene licht uitgaan om aan te geven dat het afsluiten is
begonnen. Het commando "/sbin/shutdown/ -t2 -h now
" wordt nu uitgevoerd.
Het geel zal knipperen tijdens het afsluiten. Nadat het knipperen is gestopt moet je nog 10
seconden wachten voordat de stekker eruit gaat. Het knipperen stopt nadat alle processen
gestopt zijn en de schijven offline worden gehaald.
Als je computer is uitgerust met automatische power off dan hoef je je niet druk te
maken over de 10 seconden. Wacht gewoon totdat hij zichzelf uitschakelt.
ioctl()
systeemfuncties. Dat betekent dat je de kernel niet hoeft te
veranderen om een LED aan te sturen of om de status van een drukknop af te lezen. De poort
heeft net genoeg spanning om 2 kleine LED's aan te kunnen sturen. We zullen de pennen
RTS en DTR gebruiken voor het aansluiten van de LED's en de
Carrier Detect voor het uitlezen van de stand van de drukknop.
9 PIN D-SUB MALE aan de computerkant.
9 PIN-connector | 25 PIN-connector | Afko | Richting | Benaming |
---|---|---|---|---|
1 | 8 | CD | invoer | Carrier Detect |
2 | 3 | RXD | invoer | Receive Data |
3 | 2 | TXD | uitvoer | Transmit Data |
4 | 20 | DTR | uitvoer | Data Terminal Ready |
5 | 7 | GND | -- | System Ground |
6 | 6 | DSR | invoer | Data Set Ready |
7 | 4 | RTS | uitvoer | Request to Send |
8 | 5 | CTS | invoer | Clear to Send |
9 | 22 | RI | invoer | Ring Indicator |
Hierboven zie je de printplaat weergegeven. Ik heb geen precies schema voor je voor de inrichting van de plaat omdat ik kleine schakelingen het liefst uit de hand direct op de plaat teken met ets-ongevoelige inkt.
Het hele apparaatje is te zien op het plaatje aan het begin van dit artikel. Je kunt volstaan met voorzichtig 3 gaatjes in het voorpaneel van je server te boren. Twee gaten van 3 mm voor de LED's en eentje voor de drukknop. Het geheel is heel licht en de schroef van de drukknop is voldoende om het vast te zetten.
/etc/rc.d/rc3.d
kan
worden gestart. De systeemfuncties ioctl(fd, TIOCMSET, ...)
en
ioctl(fd, TIOCMGET, ...)
worden gebruikt voor het lezen en schrijven naar de
poort. Je kunt sled-0.1.tar.gz van het net halen.
Een makefile en gebruiksaanwijzing zijn er bij inbegrepen.
Veel plezier met solderen.