Archivio mensile:Marzo 2016

CubieBoard. GPIO e che fatica!

Per realizzare un progettino di cui parlerò tra qualche tempo, mi sono imbattuto nella necessità di lavorare con il GPIO della Cubieboard2. Alcune considerazioni:

  • la documentazione è pessima, questo riguarda tutto il progetto. Quindi, nessuna nuova!
  • Le GPIO sono a passo 2mm davvero scomode.

La mia CB monta un sistema operativo Debian 8.3 MainLine, come descritto QUI. Pertanto

The Allwinner-specific script.bin isn’t needed anymore.

L’accesso alla GPIO si effettua direttametne da SYSFS, solo che occorre “pescare” il PIN giusto. Per fare questo innanzitutto si individua il PIN FISICO sul quale vogliamo operare: io ho scelto il pin 17 del connettore U15 (ponendo la scheda con la alimentazione in basso, è il connettore sulla destra). Il PIN17 si chiama CSI1-D6. Guardando su questo schematico (è per la CB con A10 ma non cambia molto a quanto pare), si scopre che questo PIN fa capo al segnale PG10 del System On Chip. Pertanto si può applicare la formuletta trovata qui, per capire come referenziare correttamente il PIN: G-> 7a lettera dell’alfabeto

(numero_lettera_alfabeto – 1) * 32+(numero_pin) —> (7-1)*32+10=202

Per abilitare il PIN occorre digitare:

/bin/echo 202 > /sys/class/gpio/export
/bin/echo in > /sys/class/gpio/gpio202/direction

In qeusto modo, con il comando cat si può ricavare il valore del PIN:

root@cubieboard:~# cat /sys/class/gpio/gpio202/value
1
root@cubieboard:~#

Semplice vero? No. Ho impiegato DUE ore a capire questa cosa.

Maledetti!

Raspberry Terminal Server

Recentemente ho acquistato un giocattolino che mi servirà per studiare: si tratta di router Huawei modello AR1220VW. Una bella macchinina, nulla da dire, che consente di implementare tantissime funzioni.

Il problema è sorto quando ho cercato di condividere l’accesso alla macchina, per consentire ad altre persone di potersi esercitare con quell’hardware. La soluzione dell’accesso via telnet o ssh non è praticabile, in quanto mi costringerebbe a lasciare una interfaccia sempre configurata. Pertanto è necessario accedere via CONSOLE, utilizzando un terminal server.

Come fare per esportare via web una interfaccia seriale in modo BIDIREZIONALE? Viene in aiuto RFC2217 che tuttavia non è supportato da tutti i terminali (in realtà è supportato solo dal buon vecchio KERMIT). Allora occorre inventarsi qualche cosa di diverso: la risposta è arrivata dal programma “shellinabox“. Si tratta di un piccolo applicativo linux che esporta su un socket tutto lo I/O di un programma in esecuzione. Qualche informazione si trova anche QUI.

Io lo ho configurato in questo modo: shellinaboxd -p 4200 -s ‘/:root:root:/:minicom ‘ &

Una volta eseguita questa operazione… fine del gioco. E’ possible collegarsi con il browser alla server ed interagire con il dispositivo seriale.

terminal_server_01

Fichissimo, soprattutto se si pensa che il tutto gira su una raspberry pi 2 e la connessione con il router è effettuata con un adattatore USB-Seriale. Mettendo un Hub USB e altri adattatori è possibile creare una stazione multi terminale in poche, semplici mosse!

Enne Di Bi – NDB

Casa nuova, antenna nuova vecchio vizio: ascoltare gli NDB. Ogni volta che ascolto qualche cosa di nuovo,  faccio sempre difficoltà nel trovare dei riscontri oggettivi su quello che le mie orecchie hanno sentito. Per tale motivo segnalo questo sito nel quale ho trovato molte utili informazioni.

Setup di ascolto: Yaesu FT-857, Mixer Behringer che funge da scheda audio USB, Spectran V2 e antenna realizzata da IW2EN, QTH: JN63QM.

02/02/2016 - 1330
Freq Indicativo Posizione Nazione Locator Distanza
311 DAN Danilvograd For Podgorica MNE JN92NN
319 VL Pula / Valtura HRV JN64VW
329 ZRA Zara HRV JN73RX
338 BLK Blackbushe ENG IO91NK
338 FOG Foggia ITA JN71Sk
340 PES Pescara ITA JN72CK
348 VL Topola SRB KN04ID
352 PLA Pola HRV JN64VV
356 FAL Falconara ITA JN63QP
375 ANC Ancona ITA JN63Ro
380 VEN Venezia ITA JN65DK
390 GAZ Gazoldo degli Ippoliti ITA JN55HE
384 BO Zara HRV JN74PE
387 LNE Linate ITA JN45PI
389 AVI Aviano ITA JN65FV
389 PZ Portoroz SVN JN65TL
395 RON Trieste ITA JN65QT
397 PRU Perugia ITA JN63GC
400 BRZ Fiume HRV JN75EK
400 COD Codogno Monzese ITA JN45SF
439 KO Rijeka / Krk / Kozala HRV JN75FI
443 NRD Inowroclaw POL JO92EU
473 BIA Rzeszow / Jasionka POL KO10BC
490 WAK Vakarel BUL KN12UN

Network Monitoring

Casa nuova, nuova rete, vecchie manie. Come già avevo fatto tanti, tanti anni addietro, ho installato tutto il necessario per monitorare le prestazioni della mia rete domestica. Questa è composta da un NAS, un AP, una MikroTik ed un server, oltre al router che fornisce la connettività verso Internet.

Il server ho deciso di realizzarlo sfruttando una board che avevo comperato nel 2011 e mai utilizzato: la cubieboard 2. Si tratta di un embedded basato su ARM A20, molto interessante e dotato di una buona dotazione di porte, compresa una SATA. Il sistema operativo (Debian per ARM) risiede su una SD da 16GB. La cubieboard è il cuore della mia rete e funge da server MySQL e aggregatore dei dati SNMP. Sono molto soddisfatto del suo funzionamento.

Per visualizzare i dati e le prestazioni dei sistemi mi sono inizialmente avvalso di Cacti, un sistema che conosco abbastanza bene ed utilizzo con successo anche in ufficio. Parallelamente ho voluto anche sperimentare LibreNMS.

Cacti è un sistema consolidato, che ha dalla sua una discreta community di utenti e un forum di supporto. L’aggiornamento del software è molto lento e la roadmap che si erano proposti gli autori è ampiamente non rispettata. Nel mio caso, l’ultima versione rilasciata ha funzionato al primo colpo, consentendomi di tracciare con discreta facilità i grafici di cui ho bisogno. Il supporto per hardware “moderni” è decisamente scarso: i template non sono aggiornatissimi e bisognerebbe mettersi a scrivere il proprio, per coprire esigenze paricolari.

LibreNMS è un pacchetto software per il monitoraggio della rete molto accattivante. Si installa davvero facilmente, non richiede esoterismi particolari. Ha un interfaccia grafica molto gradevole e molto dinamica, lasciando il puntatore su un host, compaiono delle miniature dei grafici salienti.

nmt_01

nmt_02

Si possono configurare alerts, messaggi, e tutta una serie di features che rendono il prodotto particolarmente gradevole e abbastanza facile da usare. Il carico del POLLER sulla CPU del mio sistema si sente abbastanza, ma non ho mai avuto esperienza di rallentamenti o hang. Nella figura che segue, a sinistra il carico di sistema con LibreNMS+Cacti a destra solo con Cacti.

nmt_03

Attualmente ho configurato il sistema con Cacti, in quanto più leggero e maggiormente leggibile per me che lo uso da 3 o 4 anni. La scelta è tuttavia non definitiva, in quanto LibreNMS è ancora presente nel mio server, ho solo momentaneamente disabilitato il poller. Appena avrò tempo, voglio lavorere un po’ con gli alert per cercare qualche nuova feature.

Buon monitoraggi e ricordate di cambiare la default community SNMP quando installate un prodotto di rete!