Uncategorized

Green IT, andiamo oltre

Negli ultimi anni è diventata pratica comune lasciare i Personal Computer sempre accessi (giorno, notte e fine settimana), non solo a casa, ma anche (e soprattutto) nelle aziende. Per quanto possa essere una semplificazione per alcuni aspetti (come vedremo fra poco), questa policy rappresenta anche uno spreco evidente. Non solo fa consumare energia elettrica in maniera quasi del tutto inutile, ma contribuisce in maniera rilevante all’inquinamento ambientale, specialmente per i Paesi che si servono di energia da fonte fossile (Italia in testa).

Il calcolo della corrente sprecata è presto fatto, almeno a grandi linee: moltiplicate il numero di macchine nella vostra organizzazione per le ore notturne in cui non si lavora sommate alle ore inutili nel fine settimana e per la potenza consumata. Otterrete così il lavoro in kWh sprecato che non solo pagate, ma che fate pagare all’ambiente. La potenza impegnata da un personal computer è un fattore che varia in maniera molto ampia a secondo delle condizioni, ma per un calcolo approssimativo 60W potrebbe essere una cifra ragionevole. Un calcolo più accurato, naturalmente richiede una analisi più approfondita delle componenti hardware de del loro comportamento nel corso della giornata.

Gradatamente nel corso degli anni ’90 sono stati introdotti sistemi di risparmio energia che tuttavia non sempre sono efficaci. Per esempio lo stand-by automatico della macchina dopo qualche ora di inattività, rende spesso inutile lo scopo stesso del lasciare il computer acceso e spesso viene disabilitato. Lo spegnimento automatico dei dischi fissi, spesso porta a una continuo ciclo di accensione e spegnimento che è particolarmente dannoso per la meccanica dei drives, quindi allo stesso modo viene spesso disattivato o fortemente ridotto allungando il tempo di attesa.

Naturalmente, prima di pensare a una soluzione al problema, bisogna pensare alle radici.
Per quale motivo molte aziende tendono a tenere i PC continuamente accesi durante orario non lavorativo?

Il motivo primario è quello di far girare aggiornamenti e scansioni antimalware. In questa categoria ricade banalmente Windows Update sia che venga effettuato centralmente dal sito della Microsoft o (probabilmente a maggior ragione) se viene gestito da un server WSUS interno all’organizzazione. Windows è solo un esempio, il più conosciuto al grande pubblico, naturalmente ogni sistema operativo così come molte applicazioni sono dotati di sistemi di aggiornamento automatico simili. Dato che a volte gli aggiornamenti sono molto pesanti, lunghi da applicare e magari richiedono uno o più riavvii, farli girare durante la notte è una buona idea, soprattutto per evitare la sindrome del il computer non funziona, non posso lavorare, molto comune negli ambienti di lavoro. Anche l’istallazione di applicazioni o la reinstallazione di un PC da zero, sono attività spesso automatizzate o semi-automatiche che un reparto ICT può preferire far girare di notte quando c’è tempo di verificare il buon funzionamento ed eventualmente porre rimedio a un errore.
Per quanto riguarda i software di sicurezza, un antivirus, per esempio, può effettuare non solo l’aggiornamento delle definizioni, ma anche la scansione completa del computer fuori dall’orario lavorativo. Un antispyware si comporta in maniera simile: le scansioni di questa classe di software sono molto intensive sui dischi di sistema e ne modificano le prestazioni in maniera notevole, tanto che di giorno un utente può lamentarsi per una eccessiva lentezza in alcune applicazioni.
Ci sono poi esempi più specifici, ma questa poche righe penso abbiano fato una panoramica generica della situazione. Dopo queste considerazioni, vorrei proporre qualche idea per ovviare al problema.

Tra le soluzioni che possono essere messe in atto in maniera piuttosto veloce, con la tecnologia esistente e al massimo con qualche piccola applicazioni ad hoc ci sono alcune soluzioni interessanti. Il ricorso massivo al Wake-On-LAN, per esempio è un  buon punto di partenza. WOL è una tecnologia integrata nelle schede di rete e nelle schede madre da una quindicina d’anni che permette alla scheda di rete di restare sempre in ascolto anche se il computer è spento del tutto. Un particolare datagramma (detto Magic Packet) spedito in broadcast sul segmento di rete in cui si trova la scheda, permette di effettuare un avvio automatico e completamente remoto della macchina. Questa tecnologia è piuttosto semplice, quasi ubiqua per quanto riguarda l’hardware e molto diffusa nei software di gestione. L’implementazione personalizzata è molto semplice (vi invito al leggere l’apposita voce sulla Wikipedia per più informazioni sulla tecnologia e sulle varie implementazioni), tanto che il codice necessario per farla funzionare in .NET, per esempio, fa parte della mia raccolta di snippets. L’installazione degli aggiornamenti, di software o delle patch potrebbe trarre gran beneficio già dall’adozione ampia di questa tecnologia. Spegnendo semplicemente  i computer durante la notte, il sistema di distribuzione del software (o delle patch o di qualcos’altro, qualunque esso sia) dovrebbe essere in grado di avviare una macchina, effettuare le operazioni software necessarie e dopodiché comandare di nuovo uno spegnimento automatico. E’ una soluzione che mi pare semplice, versatile e facilmente applicabile. La tecnologia del WOL è probabilmente poco conosciuta e, apparentemente poco applicata dal punto di vista software, ma a me sembra una soluzione eccellente, nel brevissimo periodo.

Se guardiamo nel periodo medio-lungo, possiamo elaborare soluzioni appena più sofisticate e molto più efficienti.
Per esempio, una modularità maggiore in tute le componenti hardware sarebbe molto efficace. Gli alimentatori, i trasformatori dovrebbero essere in grado di fornire potenza a livelli discreti più fini, così’ come le ventole dovrebbero essere in grado di smaltire il calore necessario e non di più. Le ventole tachimetriche sono un passo in avanti in questa direzione, in futuro una soluzione più interessante potrebbe essere l’adozione di ventole più piccole, posizionate in maniera strategica da accendere e spegnere a comando e con velocità variabile. E’ una cosa che funziona piuttosto bene nelle macchine server, potrebbe essere applicata anche ai PC di fascia più bassa.

I microprocessori multicore sono il presente e saranno il futuro della pura capacità elaborativa: ognuno di loro dovrebbe essere in grado di gestire le singole aree del microchip in maniera differenziata, accendendo e spegnendo modularmente solo la parte che fornisce la potenza elaborativa effettivamente necessaria al momento. Questo con il doppio beneficio di ridurre il consumo e il calore prodotto (poi da smaltire).

Per quanto riguarda le memorie di massa, le unità a dischi removibili potrebbero essere del tutto spente nella notte, per esempio, mentre i dischi rigidi subiranno in pochi anni una rivoluzione. I dischi fissi a memoria magnetica attuali sono molto diffusi ed estrememamente economici, ma si stanno affacciando sul mercato nuovi dischi a stato solido che funzionano in maniera simile alle flash memory USB. A fronte di una sensibilità ancora alta verso i campi elettrici di forte intensità e una prestazione in lettura scrittura sequenziale peggiore dei dischi magnetici, i dischi a stato solido hanno prestazioni migliori nell’accesso casuale, maggiore leggerezza, resistenza agli urti e un consumo energetico molto minore.

Ultimo, ma non meno importante, le scheda grafiche che al giorno d’oggi consumano e producono calore quanto e più di una CPU potrebbero essere selettivamente spente quando non necessario: un lavoro amministrativo sul PC non richiede la potenza di un applicazione di grafica o di modellazione tridimensionale quindi anche qui le schede dovrebbero essere costruite in maniera più nodulare in modo da fornire solo le prestazioni necessarie in ogni momento e quindi consumare di conseguenza o non consumare del tutto!

Un discorso simile può essere fatto per le perle periferiche esterne. Tastiere e mouse consumano pochissima energia elettrica in quanto sono spesso basati su LED di recente generazione che generano luce con efficienza altissima, questo tuttavia non significa che dovrebbero essere ignorati in un progetto di risparmio energetico complessivo. Potrebbero per esempio essere dotati di un piccolo accelerometro (simile a quello che si trova ormai in tutti gli smartphone e che permette a questi apparecchhi di reagire a scuotimenti o cambi di orientamento in maniera programmata) che permetta ai dispositivi di spegnersi quando non sono sottoposti a sollecitazioni meccaniche e di riaccendersi quando l’utente appoggia le mani sopra (o, addirittura, si avvicina alla scrivania).
I monitor LCD hanno già fatto un passo enorme in avanti verso il risparmio, ci sono poche cose da fare. Anche qui un accelerometro, potrebbe accendere e spegnere il monitor in maniera veloce quando l’utente si avvicina o si allontana. Inoltre un sensore di luce potrebbe automaticamente selezionare il livello di retroilluminazione necessario per bilanciare la luminosità dell’ambiente e non di più.

Infine è necessaria una digressione sui sistemi di climatizzazione dei CED. Come è noto anche ai non addetti ai lavori, la climatizzazione dei data center è un argomento molto “caldo” (permettetemi il bisticcio di parole) in quanto una ottimizzazione della circolazione dell’aria calda e di quella fredda, permette un risparmio energetico e, di conseguenza, anche ambientale. Una strada che tuttavia mi sembra non venga percorsa è quella dell’utilizzo della aria esterna insieme a quella riciclata all’interno della stanza. Mi spiego: molte nazioni occidentali si trovano a latitudini che durante l’inverno vedono temperature ambientali anche piuttosto basse, facilmente nell’ordine di 0-5° C. Notate che questo intervallo di temperature è perfettamente normale per un condizionatore d’aria di livello industriale.
A volte ci troviamo addirittura nella ridicola situazione per cui all’esterno di una stanza ci sono 0° C, un riscaldamento centralizzato cerca di portare la temperatura interna a 20-25° C e un condizionatore lavora per abbassarla a 18° C. Si consuma due volte per niente, è spreco puro!
E vi posso assicurare che non si tratta di una situazione ai limiti, molti di noi si trovano in situazioni simili per tutti i mesi invernali.

Anche nel campo del condizionamento, quindi, ci sono ampissimi margini di miglioramento: partendo dal presupposto che la temperatura raggiunta dai calcolatori in una sala server è estremamente elevata e crescerà probabilmente ancora per qualche anno, non solo sarebbe meglio non riscaldarli, ma anzi, si potrebbe canalizzare appropriatamente il calore e usarlo per riscaldare altri uffici, almeno quelli adiacenti. Ovviamente il calore prodotto da un CED non può essere sufficiente a riscaldare un palazzo intero di uffici, ma una gestione intelligente del calore potrebbe alternativamente espellere all’esterno del complesso l’aria calda durante l’estate e invece canalizzarla negli uffici durante la stagione fredda. Nella stessa maniera, un condizionamento intelligente dovrebbe capire quando pescare l’aria dall’esterno e abbassarne solo un po’ la temperatura (in primavera, ad esempio) o addirittura farla circolare invariata, quando in inverno raggiunge temperatura prossime al congelamento.
Chi si intende un po’ di impianti di condizionamento sa che qui non è c’è niente di fantascientifico, si tratta solo di ripensare i sistemi di riscaldamento, raffreddamento e ricircolo d’aria, integrarli meglio e aggiungergli un po’ di intelligenza rispetto al semplice termostato che siamo soliti usare oggi.

Penso di dover reiterare ed espandere il concetto di cui sopra: in tutto il post non c’è niente di fantascientifico e niente che richieda tecnologie molto al di la di quello che, più o meno, l’informatica è già oggi. La parola d’ordine al giorno d’oggi è Green IT un concetto che viene continuamente ripetuto e che per fortuna molte azienda stanno tentando di mettere in pratica con misure tangibili, anche se gli sforzi mi sembrano un po’ troppo focalizzati su piccole migliorie sui prodotti. L’ICT in generale, invece trarrebbe gran vantaggio da una decisa modifica a livello di sistema visto come informatica e telecomunicazioni nel loro complesso. La strada è tracciata e, come abbiamo visto qui sopra, ci sono idee che possono essere messe in atto subito, altre in poco tempo, ma tutte richiedono un cambio di paradigma e una capacità di ragionare al di fuori dagli schemi.

Annunci
Standard
Uncategorized

Router hacking

La diffusione degli accessi a int6ernet a basso costo, in particolare delle ADSL ‘per tutti’ ha portato una
conseguente crescita nella commercializzazione di ‘modem’ e piccoli router ADSL.

Si tratta in effetti di Adattatori Terminali ADSL e ADSL+ che inizialmente funzionavano con porte USB, ma che negli anni si sono evoluti in in apparecchi
che integrano il TA, un piccolo modulo di routing, uno switch etherent e altri
ammennicoli, tra cui un hot spot WiFi.

A questo proposito, pochi giorni fa ho avuto un apparecchio commercializzato dalla Telecom Italia che si chiama ‘Pirelli Alice Gate W2+’ amichevolmente detto ‘Vela’ per via della sua forma.

Nell’ambiente questo dispositivo è noto per avere un ottimo hardware, ma un pessimo firmware. Ho cercato
quindi su Internet qualche informazione a propostio e, non senza un po’ di sorpresa, ho trovato molte informazioni per modificare
radicalmente questo apparecchio e per renderlo completamente diverso da quello che la Telecom vorrebbe che fosse.

Questo router è basato sul chipset Broadcom BCM6348, un
dispositivo piuttosto diffuso per questo tipo di applicazioni. In più integra un piccolo switched hub ethernet, sempre di fabbricazione Broadcom.

Tutto il circuito integrato è di produzione Pirelli Broadband Solutions ed è poi rivenduto (o noleggiato) sotto il marchio Alice di Telecom. In effetti il firmware modificato di Telecom
toglie quasi tutte le funzionalità del dispositivo. In pratica lo rende un
normalissimo Terminal Adapter USB e ethernet, senza nessuna capacità di routing, NAT, PAT o port forwarding.

Questa scelta di Telecom è del tutto discutibile, tra l’altro è interessante
notare che i software Pirelli e Telecom sono basati su materiale in licenza GPL, ma nessuna delle due pubblica i sorgenti,
come sarebbe tenuta a fare, dato che questa licenza è virale.

Per questo motivo è molto difficile riportare questo router alle sue funzionalità originali, come da specifiche di tutto l’hardware Broadcom. Tuttavia questo non ha impedito a un gruppetto di volenterosi di costruire un firmware molto evoluto e di rivelarci i segreti della eradicazione del software
Telecom.

Tutte le informazioni necessarie a trasformare questo router sono disponibili in rete, ma di seguito ho
pensato di farne un breve riassunto insieme al racconto della mia esperienza
personale.

ATTENZIONE:

Prima di iniziare questa procedura devo farvi notare alcune cose.

Prima di tutto, la maggior parte di questi apparati è fornita in comodato da
Telecom Italia e non sono quindi di
proprietà del cliente. In questo caso NON potete fare nessuna modifica al
dispositivo, in quanto si tratterebbe di manomissione. Potete modificare l’apparecchio solo se è di vostra proprietà.

In questo caso nessuno può impedirvi di modificarlo come meglio vi aggrada, tuttavia è bene notare che questo è fatto a vostri rischio e
pericolo. La procedura di seguito descritta è stata provata, ma né io né nessuna delle
persone citate vi può fornire garanzie – implicite o esplicite – o assistenza. In più una operazione del genere porta
normalmente alla decadenza immediata di ogni tipo di garanzia sull’apparecchio. Se avete dubbi in proposito, vi consigliamo di rivolgervi al vostro provider.

Ultima nota, se state usando questo apparecchio con servizi aggiuntivi di Alice (ad esempio IPTv o VoIP), NON effettuate nessuna modifica, perchè questi servizi non funzionerebbero più.

Il firmware fornito nell’apparecchio da Telecom Italia è bloccato in modo da non permettere nessun aggiornamento se non da remoto dalla centrale. Tuttavia il firmware è caricato da un bootloader ed è possibile interrompere direttamente da lì il caricamento del software.

Per prima cosa bisogna procurarsi alcuni file che possono essere rintracciati sul sito http://beghiero.myftp.org/firmware/index.php,
i firmware sono ordinati per data e sono divisi per la ‘Vela’ e per modello Telsey Magic. Per la ‘Vela’ sono disponibili due tipi di
firmware, quello originale Broadcom, fornito dal produttore ai clienti, e quello usato sul router 9108 della USRobotics. E’ un router basato sullo stesso chipset e il suo firmware è
stato adattato per la Vela, funziona bene, ma purtroppo non è in grado di accendere correttamente i led anteriori, cosa che l’altro router invece fa. Oltre al file con il firmware scelto, ricordatevi
anche di scaricare il file che azzera le impostazioni: un router W2+ che sia già stato acceso e configurato dalla Telecom,
infatti, deve essere per prima cosa ripulito utilizzando questo firmware.

All’interno del circuito stampato del dispositivo ci sono due contatti per il collegamento di una porta seriale: questa
permetterebbe di vedere l’output del bootloader, tuttavia la costruzione e il collegamento di questa seriale non è cosa semplice, c’e’ una soluzione più facile. Dato che il bootloader si ferma alla pressione di un tasto qualsiasi al momento dell’apparizione del prompt, è
sufficiente fare un corto tra il contatto Tx e quello Rx in modo che i caratteri stampati a monitor vengano reinseriti al prompt: questo interrompe il processo di boot e permette la sostituzione del firmware.

Procediamo aprendo la custodia di plastica che copre il dispositivo, il
coperchio è fissato da tre visti, due sono sul lato e facili da togliere, la terza è sotto,
vicino alla plastica anteriore rossa. Per toglierla è sufficiente sollevare un lembo della etichetta sulla parte anteriore, sotto
si trova la vite da togliere. Una volta rimosse queste tre, la plastica rossa anteriore si toglie tirando, le due parti di plastica grigia si aprono a libro.

Dettaglio dei ContattiScoperto il circuito stampato, dovete individuare i due contatti marcati R276 e R277, si
trovano in alto, vicino al lettore di smart-card. Una volta individuati, dovete metterli in corto circuito usando un filo elettrico
oppure le punte di un paio di forbici isolanti. I due contatti sono molto piccoli, dovete quindi prestare molta attenzione a toccare esattamente
la parte metallica. Una volta cortocircuitati, potete accendere il router, in pochi secondi il bootloader termina e il router entra nella modalità
aggiornamento, ve ne accorgete perchè tutti i led anteriori restano accesi a
parte quello centrale.

A questo punto passate al PC, collegate un cavi di rete ethernet al
connettore più vicino al pulsante di accensione del router e configurate l’interfaccia di rete del PC usando come indirizzo IP 192.168.1.2 (192.168.1.1
è l’indirizzo dell’interfaccia del router, quindi potete usare un indirizzo
qualsiasi tra 2 e 254), come subnet mask 255.255.255.0 e come default gateway 192.168.1.1.
Completata la configurazione, aprite il vostro browser internet e chiamate l’indirizzo 192.168.1.1. Si aprirà la
pagina di upgrade del firmware, a questo punto usate il pulsante Browse per scegliere il file di cancellazione delle impostazioni scaricato in
precedenza e poi Update per caricarlo.

il processo di caricamento impiegherà diversi minuti, dopodichè il router si riavvierà automaticamente. Questo cancella tutte le impostazioni già effettuate (esse infatti impediscono di caricare un firmware
diverso), per finire è necessario ripetete daccapo la procedura e questa volta caricate il nuovo firmware. In alcuni casi è stato necessario ripetere la procedura di
caricamento del firmware (solo questa, la cancellazione sembra funzionare
sempre), ma generalmente al primo o la secondo tentativo tutto funziona senza
problemi.

Sul sito della USRobotics c’e’ una chiara guida alla configurazione
che sarà molto utile sia che configuriate il firmware originale Broadcom che quello USR modificato,
in quanto solo solo esteticamente diversi, ma solo per qualche dettaglio.

Completata tutta questa procedura, vi trovate tra le mani un router completo che supporta i
protocolli di routing più diffusi, oltre a essere un server DHCP e un DNS proxy. Permette la sincronizzazione automatica di un account DynDNS, la configurazione di NAT e PAT e un completo supporto per reti wireless che comprende la cifratura WEP e WPA. Queste sono caratteristiche che si trovano nei migliori router
commerciali e possono essere ottenuti anche in questo dispositivo con uno sforzo modesto, come abbiamo visto.

Ultimo, ma assolutamente non meno importante, un ringraziamento pubblico a Beghiero,
Janniz, Submax, Roleo e JackTheVendicator oltre a tanti frequentatori del forum Il Punto Tecnico e ADSL, è grazie ai loro sforzi che tutte le scoperte che vi ho esposto sono state rivelate (in pratica è tutto reverse-engineering) e tutte le modifiche
implementate.

Grazie davvero.

Standard