domenica 26 dicembre 2010

Open-WRT su Fonera 2200

In questi giorni, mi serviva proprio un piccolo gateway che mi permettesse di collegare un dispositivo dotato di sola scheda Ethernet al mio router wireless dall'altra parte della casa. Proprio mentre pensavo ad una possibile soluzione a questo problema, mi è venuta in mente la piccola scatolina bianca che giaceva dimenticata in mezzo alle altre cianfrusaglie da ormai almeno 2 anni: la Fonera!

Essendo passato parecchio tempo (credo che il limite imposto dal produttore sia due anni a partire dall'acquisto prima di poter legalmente toccare qualcosa alla configurazione interna), ho pensato: perché non provare a piallare il firmware attuale e a piazzarci qualche altro ambiente un po' più familiare e soprattutto configurabile e controllabile a piacere? Detto fatto.

La procedura è molto semplice. Premetto che la mia Fonera è una FON2200. Se avete un modello diverso probabilmente la procedura sarà un tantino differente.

Per prima cosa, avrete necessità di resettare per benino la vostra Fonera in modo tale da tornare alla configurazione di base. Per far ciò, dovrete combattere un pochino con il tastino rosso di reset che potete trovare sulla parte inferiore del dispositivo:
  1. accendete la Fonera, senza collegare alcun cavo ethernet;
  2. aspettate che la luce power e quella wlan si accendano entrambe;
  3. tenete pressato il tastino di reset con una penna per 30 secondi circa;
  4. mentre continuate a tenere premuto il reset, staccate il cavetto di alimentazione;
  5. aspettate 30 secondi mantenendo pressato il pulsantino di rest;
  6. collegate il cavetto di alimentazione nuovamente;
  7. mantenete il reset premuto per altri 30 secondi;
  8. ripetere questa procedure almeno 2 o 3 volte in modo da essere sicuri di avere riportato la Fonera alla configurazione originale cancellando qualunque upgrade del firmware o configurazione particolare.
Dopo aver effettuato il reset del dispositivo controlliamo che tutto sia andato a buon fine. Per farlo, accendiamo la Fonera e, una volta che le luci power e wlan si sono nuovamente accese, agganciamoci alla sua rete wireless (solitamente il nome è MyPlace) e, aprendo un normale browser, colleghiamoci all'indirizzo 192.168.10.1. Se tutto è andato bene, dovrebbe aprirsi il pannello di controllo Web della Fonera e nella prima pagina dovrebbe essere indicata la versione del firmaware: 0.7.1r2. Se non è questa, ripetete la procedura di reset ancora fin quando non ottenete l'indicazione di questa versione del firmware. Se non ci riuscite, probabilmente la vostra non è una Fonera FON2200. Controllate bene la versione sulla parte inferiore del dispositivo.

Ora passiamo alla parte più interessante.

Come firmware da flashare sulla mia Fonera ho scelto Open-WRT e in particolare X-WRT che è perfettamente equivalente ma offre anche una utile interfaccia Web dalla quale configurare la maggior parte delle funzionalità del dispositivo.

Ecco una lista di tutto ciò che vi serve (ovviamente do per scontato che siete sotto Linux):
  1. Il software ap51-flash, che vi permette di flashare il nuovo firmware: scaricate il codice dal repository svn e compilatelo con i comandi:
    svn co http://dev.open-mesh.com/downloads/svn/ap51-flash/trunk ap51-flash
    cd ap51-flash
    make
    
  2. L'immagine del kernel di X-WRT (io ho usato l'ultima versione, la Kamikaze 8.09.2) che potete scaricare da qui
  3. Il filesystem di root per X-WRT scaricabile da qui.
Bene, ora che abbiamo tutti gli strumenti che ci servono possiamo metterci al lavoro. Seguite la procedura seguente e tutto andrà a buon fine:
  1. buttate giù tutte le vostre interfacce di rete ethernet e wireless in modo che queste non influenzino la procedura (do per scontato che sappiate farlo);
  2. con il cavetto di alimentazione staccato, collegate il vostro pc alla Fonera tramite cavo ethernet;
  3. lanciate da shell il comando:
    ./ap51-flash eth0 openwrt-atheros-root.squashfs openwrt-atheros-vmlinux.lzma
    
  4. ap51-flash dovrebbe partire e poi interrompersi aspettando che la Fonera si avvii;
  5. accendiamo la Fonera collegando il cavetto di alimentazione;
  6. ap51-flash dovrebbe risvegliarsi e proseguire nelle sue operazioni;
  7. aspettiamo da 10 a 20 minuti, il tempo necessario affinchè sia il kernel che il filesystem di root vengano scritti nella memoria flash;
  8. una volta terminato, ap51-flash riavvierà la Fonera con Open-WRT installato e funzionante.
Piccola spiegazione per chi vuole sapere quello che sta succedendo: quando avviamo la Fonera il suo bootloader (Redboot) setta l'indirizzo dell'interfaccia ethernet a 192.168.1.1 e si mette in ascolto sulla porta 9000 per circa due secondi prima di avviare il sistema operativo presente nella memoria flash. Il software ap51-flash non fa altro che instaurare una connessione telnet con Redboot, fermare il processo di boot e utilizzare i comandi appropriati del bootloader per scrivere le nuove immagini sulla flash.

Una volta riavviata la Fonera, potremo iniziare a giocare un pochino con Open-WRT. Per farlo, settiamo l'indirizzo della nostra interfaccia ethernet a 192.168.1.2 con netmask 255.255.255.0 e colleghiamoci in telnet al dispositivo sulla porta standard con un semplice:
telnet 192.168.1.1
Se vogliamo possiamo anche aprire un normale browser e collegarci allo stesso indirizzo. Si aprirà l'interfaccia Web di X-WRT che, per prima cosa, ci chiederà di cambiare la password di root. Fate attenzione che, da quel momento in poi, il telnet verrà disabilitato ma potremo collegarci alla Fonera con un semplice ssh:
ssh root@192.168.1.1
con la password appena settata.

In un prossimo posto spiegherò come ho configurato la Fonera per adattarla alle mie necessità.

venerdì 10 dicembre 2010

Aggiungere traccia audio mp3 a file avi

Ogni volta che mi serve aggiungere una traccia audio .mp3 ad un file .avi (sostituendo quella che c'è già) perdo un sacco di tempo a cercare su Internet. Sembra che non molti abbiano questo stesso problema su Linux ma lo segno lo stesso qui in modo da ricordarlo:

mencoder original.avi -o new.avi -ovc copy -oac copy -audiofile audio.mp3

Altri consigli utili su come usare opportunamente mencoder si possono trovare qui.

venerdì 3 dicembre 2010

Utilizzare il telecomando di Sky per qualunque televisore

Dopo aver comprato il mio televisore HD nuovo, mi ero ormai rassegnato ad utilizzare due telecomandi per gestire separatamente i canali analogici e digitale terrestre e quelli di Sky dato che la procedure descritta nel libretto di istruzioni del decoder non voleva sentirne di funzionare.

Fortunatamente, ho trovato qui la soluzione al mio problema e lo posto qui per ricordarmi la procedura corretta e non perderla nei meandri della rete:
  • a televisore spento, premere TV sul telecomando di Sky;
  • accendere il televisore col suo telecomando;
  • premere e tenere premuti OK e il TASTO ROSSO sul telecomando di Sky fino a quando il led rosso non lampeggia due volte;
  • premere il tasto TV sul telecomando di Sky e successivamente il tasto di accenzione/spegnimento; continuare a premere TV e il pulsante di accenzione/spegnimento fin quando il televisore non si spegne;
  • una volta che il televisore si è spento, premere subito il tasto OK sul telecomando di Sky per memorizzare il codice; il led dovrebbe lampeggiare due volte.
Ovviamente in questo modo non conosciamo il codice corretto per il televisore. A me la procedura ha funzionato dopo pochi tentativi quindi non sarebbe un problema ripeterla ogni qual volta il codice memorizzato va perso (ad esempio quando si scaricano le batterie del telecomando). Esiste comunque una procedura anche per scoprire il codice che si è appena memorizzato in modo da poterlo utilizzare con la procedura classica riportata sul libretto delle istruzioni del decoder Sky:
  • mentre state vedendo Sky, premete il tasto TV sul telecomando di Sky; il televisore dovrebbe andare in modalità TV.
  • premere e tenere premuti OK e il tasto rosso sul telecomando di Sky, fin quando il led non lampeggia due volte;
  • inserire il codice 990
  • premere 1 e contare i lampeggi del led sul telecomando; annotare il numero in moda da non scordarlo;
  • premere 2 e contare nuovamente i lampeggi;
  • ripetere la procedura premendo 3 e 4;
Il mio codice è 0672.