Skip to content

UPS APC – integriamolo con Ubuntu

18 novembre 2009

ATTENZIONE: Per l’integrazione con Unity su Ubuntu si consiglia di seguire questa

Dopo anni di onorato servizio il mio UPS Riello ha tirato le cuoia.

La sostituzione delle batterie è sempre antieconomica in queste apparecchiature di fascia medio bassa nel senso che le batterie nuove costano quasi come un nuovo apparecchio e, tra l’altro, sentivo il bisogno di maggiore protezione contro gli sbalzi continui che l’Acea ha deciso di donare alla mia linea elettrica.

Abitando a Roma il clima “monsonico” con temporali estivi (ma anche invernali , autunnali e primaverili) mi ha spinto a fare un investimento abbastanza consistente alla luce anche del prossimo e necessario aggiornamento dell’ hardware.

Un breve accenno al perchè è importante un UPS:

UPS Uninterruptible Power Supply ha come primo fondamentale scopo quello di salvaguardare il lavoro che stiamo svolgendo sul PC;

Immagina di stare lavorando a un progetto e, improvvisamente, va via la corrente: ci accorgiamo che dall’ultimo salvataggio che abbiamo fatto ne è passato di tempo (e di modifiche).

L’UPS ci permette di salvare il nostro lavoro e procedere ad un regolare spegnimento dell’apparecchiatura.

Cosa sarebbe se un’improvviso sbalzo di corrente ci bruciasse qualche componente del nostro amato PC?

anche in questo caso l’UPS ci protegge da questi eventi garantendo una buona copertura e una stabilizzazione della corrente di alimentazione della nostra macchina.

L’apparecchio che ho preso in considerazione ha 4 uscite stabilizzate e con il supporto della batteria a cui collegare l’unità centrale, il monitor  e altre eventuali periferiche tipo un HD esterno a cui vogliamo garantire l’intervento della batteria per tamponare un improvvisa interruzione di corrente.

In più ha altre 2 uscite stabilizzate a cui collegare le altre periferiche tipo router, casse audio, stampante.

Attenzione: è sconsigliato collegare una stampante laser alla presa che utilizza la batteria tampone in caso di distacco della linea elettrica

La protezione linea dati permette di collegare sia il doppino telefonico RJ11 sia il cavo di rete RJ45

Veniamo a noi: l’interfaccia USB o seriale permette allo UPS di “dialogare” con il nostro PC fornendoci una serie di informazioni utili.

Il tutto avviene tramite l’interfaccia del programma APCUPSD che permette, tra le altre cose, di programmare lo spegnimento del pc al verificarsi di determinate condizioni (es: quando la carica residua della batteria raggiunge il 5% -impostazione di default)

Nel manuale trovate tutte le apparecchiature supportate e il tipo di collegamento consentito.

Quasi completo il supporto per le piattaforme linux:

LINUX

  • RedHat
  • SuSE
  • Mandriva/Mandrake
  • Debian
  • Slackware
  • Engarde
  • Yellowdog
  • Gentoo

oltre a supportare anche windows e mac

Come da titolo ho testato la procedura su Ubuntu Karmic Koala 9.10 con questo kernel: 2.6.31-14-generic

Come prima cosa dobbiamo installare i pacchetti necessari:

sudo apt-get install apcupsd apcupsd-cgi apcupsd-doc

cgi se vogliamo anche l’interfaccia web e il doc per la documentazione

A questo punto possiamo collegare l’UPS al PC tramite il cavo USB o seriale  in dotazione

Poi andiamo a modificare il file di configurazione

sudo gedit /etc/apcupsd/apcupsd.conf

e modifichiamo le seguenti voci come indicato

Collegamento USB

UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable

Collegamento con cavo seriale

UPSCABLE smart
UPSTYPE smartups
DEVICE /dev/ttyS0
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable

inoltre dobbiamo andare ad applicare le modifiche  in

sudo gedit /etc/default/apcupsd

andando a inserire yes in corrispondenza di ISCONFIGURED

# Defaults for apcupsd initscript

# Apcupsd-devel internal configuration
APCACCESS=/sbin/apcaccess
ISCONFIGURED=yes

poi siamo pronti a far partire il demone con

/etc/init.d/apcupsd start

a questo punto possiamo verificare in terminale il riconoscimento del nostro UPS con il comando

apcaccess status

e ci dice tutto sul nostro APC

fabrizio@fabrizio-desktop:~$ apcaccess status
APC : 001,043,1065
DATE : Wed Nov 18 18:04:56 CET 2009
HOSTNAME : fabrizio-desktop
VERSION : 3.14.6 (16 May 2009) debian
UPSNAME : fabrizio-desktop
CABLE : USB Cable
MODEL : Back-UPS BR 800
UPSMODE : Stand Alone
STARTTIME: Wed Nov 18 08:37:48 CET 2009
STATUS : ONLINE
LINEV : 228.0 Volts
LOADPCT : 22.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 36.2 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
SENSE : Medium
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 194.0 Volts
HITRANS : 264.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 27.4 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B0845X50233
BATTDATE : 2001-09-25
NOMOUTV : 230 Volts
NOMINV : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 540 Watts
FIRMWARE : 9.o4 .I USB FW:o4
APCMODEL : Back-UPS BR 800
END APC : Wed Nov 18 18:05:40 CET 2009

in particolare:
LINEV: ci dice il voltaggio della nostra rete elettrica e deve essere un valore appropriato per la nostra apparecchiatura (Europa 220V)

BATTV: il valore deve essere vicino ai 24V con un margine di un +/- 5 Volt

STATUS: indica lo stato dello UPS e normalmente deve essere ONLINE

Possiamo, inoltre, verificare lo stato dello UPS con il comando

apcaccess

che produce il seguente output

fabrizio@fabrizio-desktop:~$ apcaccess
APC : 001,043,1065
DATE : Wed Nov 18 18:14:54 CET 2009
HOSTNAME : fabrizio-desktop
VERSION : 3.14.6 (16 May 2009) debian
UPSNAME : fabrizio-desktop
CABLE : USB Cable
MODEL : Back-UPS BR 800
UPSMODE : Stand Alone
STARTTIME: Wed Nov 18 08:37:48 CET 2009
STATUS : ONLINE
LINEV : 230.0 Volts
LOADPCT : 23.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 35.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
SENSE : Medium
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 194.0 Volts
HITRANS : 264.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 27.4 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B0845X50233
BATTDATE : 2001-09-25
NOMOUTV : 230 Volts
NOMINV : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 540 Watts
FIRMWARE : 9.o4 .I USB FW:o4
APCMODEL : Back-UPS BR 800
END APC : Wed Nov 18 18:15:27 CET 2009

Per monitorare il tutto tramite interfaccia grafica possiamo utilizzare gapcmon

sudo apt-get install gapcmon

che ci presenta le seguenti schermate molto dettagliate:

Volt della rete elettrica percentuale di carica della batteria e carico delle apparecchiature collegate rispetto alla capacità dell’ UPS

preferenze:

impostazioni del grafico:

Grafico

Informazioni dettagliate

Cronologia eventi

e per finire

Attenzione alle icone

a me è capitato che, al posto delle icone del programma nell’area di notifica, mi uscissero due barrette grigie difficilmente cliccabili🙂

La comodità delle icone è che permette di aprire il programma e lasciarlo aperto nell’area di notifica riducendolo a icona

lanciando il programma da terminale mi usciva questo errore:

fabrizio@fabrizio-desktop:~$ gapcmon
** Message: gapc_util_load_icons(Unable to find icons) emsg=–load failed!

(gapcmon:4352): GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: assertion `GDK_IS_PIXBUF (src)’ failed

(gapcmon:4352): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)’ failed

mentre lanciando direttamente il programma da /usr/share/icons/gapcmon con

fabrizio@fabrizio-desktop:/usr/share/icons/gapcmon$ gapcmon

tutto mi funzionava perfettamente.

La soluzione è quella di creare dei link in /usr/share/pixmaps alle icone contenute in /usr/share/icons/gapcmon oppure, ancora più comodo, creare una cartella gapcmon in
/usr/share/pixmaps e copiarci dentro le icone contenute in /usr/share/icons/gapcmon

Tutto qui

6 commenti leave one →
  1. Alessandro Pilatone permalink
    8 febbraio 2010 4:49 pm

    Buongiorno, ho seguito attentamente tutti i passaggi riportati nella sua guida, ma nel momento in cui digito il comando apcaccess ottengo il seguente errore:
    Error contacting apcupsd @ localhost:3551: Connection refused
    cosa vuol dire? cosa c’è che no va?

    Grazie

  2. 8 febbraio 2010 6:47 pm

    ciao, prova a riavviare il demone con

    sudo /etc/init.d/apcupsd restart

  3. lardossan permalink
    1 marzo 2010 12:49 pm

    ciao,devo acquistare un ups evolevo sapere se potevo trovare una lista di prodotti compatibili con linux( io sono su ubuntu karmic) oltre a gli apc.
    vorrei collegarci il router,due pc(un solo monitor)
    ciao

    • 1 marzo 2010 6:47 pm

      Ciao, c’è questa http://www.networkupstools.org/compat/stable.html che sembra aggiornata al 2010 (ma non riguarda apcupsd ma è un altro progetto)

      questa http://tldp.org/HOWTO/UPS-HOWTO/index.html (ma si ferma al 2007)

      la Eaton http://www.eaton.com/EatonCom/index.htm tempo fa aveva dichiarato di voler rendere compatibili tutti i suoi prodotti con linux

      ci sarà senz’altro molto altro di compatibile

  4. lardossan permalink
    4 marzo 2010 2:12 pm

    grazie, ora ci do uno sguardo

Trackbacks

  1. UPS APC – integriamolo con Ubuntu 11.10 Oneiric Ocelot usando Unity « Perfab Blog

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: