La guida è stata aggiornata al 1/09/2008
Dopo meno di una settimana dal loro arrivo, eshopen.com ha venduto 50 Freerunner e 7 DebugBoard, entro il 10 Settembre arriveranno altri 80 Freerunner e 10 DebugBoard. Dopo questo successo, non solo in Italia, ma in tutto il mondo libero, mi aspettavo un immediato segnale dal comparto software che fino ad oggi era molto carente.
I problemi del Freerunner con OM 2008 erano tanti:
- tastiera inutilizzabile
- echo durante le chiamate
- impossibilita’ di inserire il pin 9 volte su 10 perche’ “non appare la schermata che chiede il pin”
- Gps non funzionante OOTB
- Wifi non funzionante OOTB
Era inutile tentare usare OM 2007, era come usare kde 3.5.9 dopo essere migrati a kde 4.1
Semplicemente non mi trovavo. Ma notate la locuzione verbale, ho usato erano al posto di sono; perche’?
Perche’ la risposta software, della quale vi parlavo prima, e’ finalmente arrivata. Ieri per la prima volta ho sperimentato tutte le migliorie apportate e devo dire che tutti i punti sopra mensionati sono stati risolti. Il Freerunner e’ ora il mio mobile phone principale.
Vediamo ora come risolvere tutti quei problemi:
In primis, sappiate che non mi fido di voi e di tuttto quello che avete fatto con la saponetta. Percui inizieremo da 0.
Accendete la vostra linux box, prendete il cavetto usb/mini-usb in dotazione con il Freerunner e collegate quest’ultimo alla Linux Box. A questo punto dovete installare dfu-util: per Ubuntu/Kubuntu trovate il pacchetto per Intrepid, non preoccupatevi anche se avete hardy potete installarlo; per Debian lo trovate in Lenny, in entrambi i casi basta scaricarlo e fare:
sudo dpkg -i pacchetto.deb
Se avete un’altra distro basta compilare da sorgenti ed installare dfu-util, ovvero:
Le dipendenze per Fedora si soddisfano con:
yum install libusb-devel libusb-static
E si compila con:
svn co http://svn.openmoko.org/trunk/src/host/dfu-util/
cd dfu-util
./autogen.sh
./configure
make
make install
Se avete Gentoo basta fare:
emerge -va app-mobilephone/openmoko-dfu-util
Arrivati a questo punto avrete dfu-util installato, per verificare basta fare:
dfu-util
E vi verra’ stampata la pagina di help. Quindi potete continuare.
Una volta installato il pacchetto scaricate il kernel e la rootfs di OM 2008.8, una volta completato il download schiacciate il tasto Aux del vostro Freerunner e poi il tasto Power-On contemporaneamente. Apparira’ il menu’ della NOR (memoria a stato solido che si puo’ ri-programmare solo con la debugboard, ndr). Da questo menu’ potete flashare il vostro Freerunner in piena sicurezza, dato che scriverete sulla NAND (memoria a stato solido che si puo’ ri-programmare dalla NOR, ndr). Con la vostra linux box andate nela directory in cui avete scaricato il kernel e la rootfs di OM 2008 e digitate:
sudo dfu-util -a kernel -R -D Om2008.8-gta02-20080808.uImage.bin
State fermi e non muovetevi, finira’ in pochi secondi, alla fine digitate:
sudo dfu-util -a rootfs -R -D Om2008.8-gta02-20080808.rootfs.jffs2
Ok ora potete andare a prendere un caffe’
(o nel mio caso a fare colazione
).
Appena finisce, la saponetta si spegnera’. Basta schiacciare il pulsante Power-on per far partire la NAND con il nuovo Sistema Operativo. (ehi! metti giu’ le zampe dal cavetto usb, nessuno ti ha detto di staccarlo dal pc!). Appena finisce il boot, non importa cosa succede, cosa appare, schiacciate subito il triangolino in alto e schiacciate Home. Schiacciate quindi su Settings e poi su Suspend fino a quando non appare Suspend OFF. Questo evitera’ che il vostro Freerunner faccia cadere l’interfaccia di rete mentre voi siete loggati. Ora state pensando: Interfaccia di rete? Ma non vedo nessuna porta ethernet, c’e’ solo una mini-usb. Ebbene, quella mini-usb e’ la chiave. Quella piccola ed insignificante porta nasconde, al suo interno, un chip che permette di assegnarvici un indirizzo ip. Tombola!
Vediamo ora come collegarci alla nostra saponetta e utilizzare la connessione del nostro portatile.
Se la vostra rete LAN, che utilizzate con il pc ha indirizzi di rete in classe C dell’ordine 192.168.0.0/24 allora continuate, se la vostra rete Lan utilizza indirizzi differenti continuate qui
Scollegatevi dalla vostra rete e digitate:
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0
ssh root@192.168.0.202
Dopo aver digitato la password (che non e’ impostata) premendo solamente invio, a questo punto sarete loggati sulla saponetta. La prima cosa da fare e’ darle un nome. Per farlo basta usare l’editor vi, se non lo conoscete vi consiglio di consultare una guida.
vi /etc/hostname
Poi dovete modificare:
vi /etc/network/interfaces
In modo che la sezione relativa ad usb0 risulti:
auto usb0
iface usb0 inet static
address 192.168.1.202
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.200
up echo nameserver 208.67.222.222 > /etc/resolv.conf
up echo nameserver 208.67.220.220 >> /etc/resolv.conf
A questo punto avete configurato il vostro Freerunner in modo da funzionare con la vostra rete. In base a quello che avete fatto il vostro Freerunner puo’ avere i seguenti indirizzi di rete:
- 192.168.0.202 se non avete modificato /etc/network/interfaces e avete una rete != 192.168.0.0/24
- 192.168.1.202 se avete modificato /etc/network/interfaces e avete una rete == 192.168.0.0/24
Da questo momento mi riferiro’ all’indirizzo ip del Freerunner con FR_IP e alla sua classe come FR_IP_CLASS, es. FR_IP = 192.168.0.202, FR_IP_CLASS = 192.168.0.0/24 . FR_IP = 192.168.1.202, FR_IP_CLASS = 192.168.1.0/24
Sulla vostra linux box digitate:
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s FR_IP_CLASS
Cosi’ avrete impostato la vostra linux box per fare da gateway. Ora basta loggarci sulla saponetta con:
ssh root@FR_IP
La password e’ sempre invio (non settata, per settarla usate il programma passwd). Ora passiamo alla magia!
Ma prima controlliamo una cosa: controllate che il file /etc/network/interfaces del vostro FR abbia:
up echo nameserver 208.67.222.222 > /etc/resolv.conf
up echo nameserver 208.67.220.220 >> /etc/resolv.conf
Nella sezione relativa all’interfaccia usb0. Se non l’ha aggiungetela con vi e poi fate il reboot del vostro FR.
Cio’ che rende OM superiore ad altri Sistemi Operativi per cellulari e’ la sua modularita’, questa modularita’ e’ gestita tramite opkg che e’ l’equivalente di apt-get per sistemi debian based (ubuntu).
Digitate:
opkg update
opkg upgrade
Il sistema installera’ gli aggiornameti, impieghera’ circa 20 minuti. Poi basta fare il reboot:
reboot
Il sistema si spegnera’ e si riattivera’, appena acceso, chiedera’ il codice PIN e vi verra mostrata una nuova tastiera, molto piu’ intuitiva. Basta cliccare sull’icona in alto a destra sopra la tastiera per selezionare numbers e poter inserire il pin numerico. Appena inserito il cellulare si autentichera’ alla rete GPRS (2.5 g). Potete iniziare a fare le prime chiamate, i problemi di echo e di associazione alla rete per ricezione delle chiamate sono risolti. Si avverte solo un lievissimo echo che non e’ comparabile a quello precendete, e’ probabile che nei prossimi aggiornamenti tutto verra’ risolto.
Ora logghiamoci di nuovo e rendiamo la nostra saponetta un vero smarthphone, molto piu’ completo di un semplice cellulare come e’ adesso.
ssh root@FR_IP
Installiamo il gestore del cellulare (batteria, ecc ecc):
opkg install illume-config
Installiamo il media player:
opkg install qtopia-phone-x11-mediaplayer
Installiamo il browser (basato su webkit):
opkg install midori
Installiamo uno scanner wifi:
opkg install diversity-wifi
A questo punto avrete il vostro Freerunner stabile con tutto il necessario per sostituire il vostro vecchio cellulare. Potete poi divertirvi con opkg list e vedere/provare i vari pacchetti installabili. Commenti/Feedbacks sono molto accetti.