Archive for agosto, 2007

RAID Mosche e Zanzare (e HD)

martedì, agosto 7th, 2007

AIUUUUUUTO!!!!!!!
… stavo lavorando tranquillamente nel mio comodo ufficio con 31,3 °C e umidità spaventosa, quando ad un tratto un brutto rumore mi distolse dal lavoro e mi fece abbassare lo sguardo sul mio PC: STOCK!
Con un po’ di preoccupazione mi rivolsi nuovamente allo schermo. Con una terribile sensazione in corpo mi accorsi che il mouse non rispondeva… il terrore non era ancora giunto al culmine ma c’era vicino, respirai lentamente e riavviai il computer.
Al ravvio sembrava tutto tranquillo: la calma prima della tempesta.
Aperto il client di posta mi accorsi che il sistema mi avvertiva gentilmente e con sollecitudine che all’ultimo riavvio uno dei miei dischi non era correttamente ripartito. La mail dall’oggetto “DegradedArray event on /dev/md0:puck” suonava un po’ inquietante…
Feci subito un test del sistema

# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 hdb3[0] hdd3[1]
      13671232 blocks [2/2] [UU]

md1 : active raid1 hdb2[0] hdd2[1]
      200193920 blocks [2/2] [UU]

md0 : active raid1 hdd1[1]
      31246272 blocks [2/1] [_U]

Era chiaro che il primo disco dell’array md0 era in qualche modo stato rifiutato… GH!
Per fortuna il RAID 1 funzionava perfettamente e la mia /home montata sull’array md0 funzionava correttamente come se nulla fosse successo.
Molte domande mi attanagliavano la mente: Cosa era successo? Il disco era veramente rotto? C’era la possibilità di recuperare la partizione?
Così googleggiando incappai in qualcuno che aveva il mio stesso messaggio di errore al riavvio (o almeno simile)

md: md0 stopped.
md: bind<hdb1>
md: bind<hdd1>
md: kicking non-fresh hdb1 from array!

e lì, un po’ sepolta, un po’ camuffata con altri switch c’era la soluzione:

mdadm --re-add /dev/md0 /dev/hdb1 

Semplicemente il disco era risultato difettoso per (così pare) un blocco del sistema o un precedente riavvio forzato.
Tutto è bene ciò che finisce bene (anche se lo spaghetto me lo sono preso!).
Buon RAID a tutti! :D

I-Blue 747 GPS Logger Bluetooth e USB

sabato, agosto 4th, 2007

Non è un Boeing ma un GPS Logger, cioè un antenna GPS che se volete tiene traccia dei vostri spostamenti.
Lo si porta dietro e lui memorizza fino a 100.000 punti (dichiarati, ma con dati standard circa 65.000) per poi visualizzarli su vari programmi come Google earth oppure utilizzare Digikam per associare le foto alla posizione in cui le avete scattate!!!
Il bello del 747 è che si può collegare sia via USB che via Bluetooth e sotto linux non c’è alcun problema: lo attacchi via USB e lo riconosce subito, fai un cat /dev/ttyUSB0 e vedi la tua posizione :)
Per la configurazione e scaricamento del file di log per il momento lo faccio tramite il suo programma… con wine.
Scaricate il programma dal sito della TranSystem, scompattatelo e con wine lanciate il setup, cofigurare la porta COM1 e lanciate il programma

$ wine setup.exe
$ cd ~/.wine/dosdevices
$ ln -s /dev/ttyUSB0 com1
$ cd ../drive_c/Program\ Files/LogTool/DataLog/
$ wine DataLog.exe

InstallShield fila liscio fino alla fine dell’installazione, e dopo aver fatto partire il programma selezionate la porta Com1 e il massimo Baud Rate.I-Blue 747 Program
Con questo programmino potere configurare una marea di opzioni, oltre che verificare lo stato del GPS (e tutti i satelliti che becca).
Provandolo in casa non è il massimo… una volta trovato il punto non riesce a tenerlo… mi continuava a dire che ero in movimento variabile di media 0.5 Km/h anche se era fermo sulla mia scrivania.
Appena spostato sul balcone si è fermato :)
Per collegarlo via Bluetooth dovete creare un device seriale vituale

# sdptool browse
Inquiring ...
Browsing XX:XX:XX:XX:XX:XX ...
Service Name: SPP slave
Service Description: Bluetooth SPP V1.64
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100

Dalla scansione è emersa la possibilità di utilizzare il protocollo seriale “RFCOMM” (0×0003), a questo punto annotatevi il MAC del vostro dispositivo (il XX:XX:XX:XX:XX:XX) che possiamo collegare alla porta seriale virtuale

# rfcomm bind 0 XX:XX:XX:XX:XX:XX

Ora diciamo a wine che abbiamo un’altra Com per esempio la 2 e linkiamo come abbiamo fatto precedentemente con l’USB sulla Com1.

$ cd ~/.wine/dosdevices
$ ln -s /dev/rfcomm0 com2

Il gioco è fatto, ora dal programma del GPS possiamo utilizzare indifferentemente Bluetooth e USB.