Questa configurazione e` stata verificata con i seguenti UPS:
apcupsd
dal repository standard Debianmucca:~# cat /proc/bus/usb/drivers usbdevfs hub 96-111: hiddev hid
Per caricare i moduli hid di fatto e` sufficiente caricare con modprobe il modulo "hid". Il resto lo fanno le dipendenze.
/dev/usb/hid/hiddev*
. Se non esistono, crearli lanciando /usr/share/doc/apcupsd/examples/make-hiddev
./etc/apcupsd/apcupsd.conf
:UPSCABLE usb UPSTYPE usb DEVICE LOCKFILE /var/lock UPSCLASS standalone UPSMODE disable
Gli altri valori possono essere lasciati a default o modificati a piacere.
/etc/default/apcupsd
e cambiare il valore ISCONFIGURED
mettendolo a yes
./etc/init.d/apcupsd start
e vedere nel syslog se non ci sono errori e con ps ax
se ci sono tre processi di apcupsd.apcaccess
si deve ottenere un paio di schermate che elencano i valori letti dall' UPS.Ora dovrebbe essere tutto funzionante.
Volendo leggere lo stato dell' UPS (o anche di piu` di un UPS in una rete) si puo` installare il componente CGI di Apcupsd. Chiaramente serve un web server (Apache). Il pacchetto Debian si chiama apcupsd-cgi
e una volta installato e` sufficiente (se non si hanno strane configurazioni per i GCI) andare con il brower alla pagina http://il_tuo_server/cgi-bin/apcupsd/multimon.cgi
. Questo pacchetto non consente di dare comandi all' UPS, ma solo di vedere lo stato dei vari parametri di funzionamento.
Se l' ups alimenta piu` di una macchina, occorre che le macchine che non sono direttamente collegate all'ups abbiano informazioni sullo stato dell'ups stesso per potersi spegnere prima che finisca la batteria. Per fare questo Apcupsd prevede due modi operativi:
apcaccess
e anche dal CGI, mentre lo slave ne polla lo stato ogni tot secondi. In questo secondo modo il master non puo` ricevere comandi dagli slave ne` puo` influenzare il comportamento degli slave, pero` il master puo` supportare infiniti slaves, teoricamente ogni slave puo` essere master di altri slaves, la configurazione del master non richiede nessuna modifica ne` per renderlo master ne` per aggiungere o togliere slaves (di fatto il master non sa di essere master, e` configurato come stand-alone), e gli slaves possono farsi ognuno la propria politica di comportamento in relazione allo stato dell'alimentazione. In pratica in questa configurazione e` come se l' UPS fosse attaccato direttamente a tutti i computer, master o slave che siano, con l'unica eccezione (credo) che solo il computer a cui e` VERAMENTE collegato l' UPS puo` dare il comando all'UPS di spegnersi.Un esempio di configurazione di un NIS Slave (il master non ha modifiche rispetto allo stand-alone)
UPSCABLE ether UPSTYPE net LOCKFILE /var/lock DEVICE <server-ip-or-hostname>:3551 UPSCLASS standalone UPSMODE disable NETTIME 10
E` importante che NETTIME
sia basso (da 5 a 10 secondi) perche` questo e` il tempo di poll delle informazioni dallo slave al master. Se lo slave non polla il master abbastanza spesso, potrebbe succede che il master decida di fare shutdown e termini il daemon del NIS tutto fra due poll, e lo slave non sapra` mai cosa e` successo e non potra` quindi agire per spegnersi prima che l' UPS finisca la batteria. Questo e` soprattutto vero se si volessero concatenare piu` slave uno dietro l'altro. Va ricordato che lo slave fa shutdown se perde il contatto con il server quando e` in condizione "batteria".
Per verificare se funziona, eseguendo apcaccess
sullo slave, si dovrebbero leggere gli stessi valori del master.
apctest
pare non funzionare con il collegamento USB. Occorrerebbe indagare.apcaccess
subset di valori diversi.