-
Flashing del modem GSM di OpenMoko (ovvero aggiornare il firmware)
Pubblicato il marzo 3rd, 2009 7 commentiAttenzione: questa procedura è pericolosa e potrebbe rendere definitivamente inutilizzabile il modem GSM del Neo, continuate a vostro rischio e pericolo!
Tra i (tanti!) problemi che ancora affliggono il Neo, uno dei più antipatici è il mancato riconoscimento di alcune sim (come quelle dell’operatore 3G) e il problema della continua oscillazione dello stato della sim da registrata a non registrata.
L’aggiornamento del firmware gsm alla versione Moko10 risolve il bug #666, permettendo l’utilizzo delle schede 3G con Openmoko; inoltre risolve, anche se non previsto espressamente, parte del bug #1024
La guida che segue è una traduzione del wiki ufficiale e mi ha permesso di utilizzare la sim 3G e la sim Vodafone da 128k che prima non si registrava alla rete.
Teoricamente la procedura di flashing può essere fatta da qualsiasi distribuzione che permetta un accesso SSH (cioè tutte!) ma, considerando che bisogna assicurarsi che niente stia utilizzando il modem gsm, è più comodo flashare il Moko con l’immagine FSO-console modificata da Mickey in modo da non far partire il modem all’avvio. In caso contrario assicuratevi che il modem sia completamente spento.
Flashiamo il Moko con l’immagine modificata digitando questi comandi dal terminale del nostro pc (o usando NeoTool):
$: wget http://people.openmoko.org/mickey/images/openmoko-fso-console-image-glibc-ipk--20081028-om-gta02.rootfs.jffs2.summary
$: sudo dfu-util -a rootfs -R -D ./openmoko-fso-console-image-glibc-ipk--20081028-om-gta02.rootfs.jffs2.summary
$: wget http://people.openmoko.org/mickey/images/uImage-2.6.24+r10+gitr75999+54524f4531c8b262431b794fea610d81bb351c86-r10-om-gta02.bin
$: sudo dfu-util -a kernel -R -D ./uImage-2.6.24+r10+gitr75999+54524f4531c8b262431b794fea610d81bb351c86-r10-om-gta02.binA flashing terminato accendiamo il Neo e una volta avviato (ricordate che non c’è la parte grafica!) ed ottenuto l’accesso SSH configuriamolo per accedere ad internet seguendo la guida.
Installiamo il software necessario alla procedura di flashing:
#: opkg install http://people.openmoko.org/joerg/calypso_moko_FW/fluid_0.0+svn20070817-r2_armv4t_eabi.ipk
#: opkg install http://people.openmoko.org/joerg/calypso_moko_FW/s3c24xx-gpio_1.0+svnr4130-r2.1_armv4t.ipk
Se non siamo nella home ritorniamoci e scarichiamo la versione moko10 del firmware
#: wget http://people.openmoko.org/joerg/calypso_moko_FW/gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-moko10.m0Accendiamo e spegniamo il modem GSM con questi comandi:
#: echo 0 >/sys/bus/platform/devices/neo1973-pm-gsm.0/power_on
#: echo 1 >/sys/bus/platform/devices/neo1973-pm-gsm.0/power_on
#: s3c24xx-gpio b7=0
#: echo "AT@POFF" >/dev/ttySAC0
Lanciamo FLUID specificando da dove leggere il nuovo file del firmware
(il secondo comando è tutto un rigo):#: cd /usr/sbin
/usr/sbin #: FLUID_PORT=/dev/ttySAC0 FLUID_FLOWCONTROL=h fluid.exe \
-oO -b 115200 \ -f $HOME/gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-moko10.m0Dopo pochi secondi il terminale rimarrà in attesa mostrando questa scritta:
FLUID Revision 2.27, ...
Bootloader: (reset target)A questo punto apriamo una nuova sessione SSH senza chiudere quella precedente e digitiamo:
#: s3c24xx-gpio b7=1Sul terminale precedente noterete una specie di barra di avanzamento composta da dei meno racchiusi tra parentesi tonde che si trasformano prima in lettere e poi in asterischi. Dopo pochi minuti il processo termina e il terminale si presenta così:
(fluid, version 3) ok
Checksumming (269 * 8kB = 2152kB): ok
Flash Detect: (0xEC, 0x22A0) Samsung K5A3240CT ok
Program: (34 sectors, 267*8k=2136k) (*******************) okAdesso da uno dei due terminali digitiamo i seguenti comandi, io l’ho fatto dal secondo terminale (il terzo comando è su un solo rigo):
#: cat /dev/ttySAC0 &
#: echo -en 'AT\r' >/dev/ttySAC0
#: echo -en 'AT+CGMR\r' >/dev/ttySAC0 +CGMR: "HW: GTA, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal_amd8_ts0-Moko10"
#: kill %1Se non ci sono stati intoppi la procedura di flashing è andata a buon fine e dovremmo riuscire ad utilizzare, dopo aver flashato una distribuzione usabile, anche le sim che precedentemente non funzionavano.
-
OpenMoko FreeRunner: guida completa passo-passo (parte 2)
Pubblicato il ottobre 15th, 2008 9 commentiCon estremo ritardo
continuo la guida passo-passo per OpenMoko su FreeRunner, potete trovare la prima parte qui.Dopo TangoGps, continuiamo l’installazione di software gps utile al mapping.
Per avere un po’ di informazioni utili durante il mapping come la disposizione dei satelliti, la qualità del segnale e altro possiamo installare agpsgui, semplicemente digitando:
#: opkg install openmoko-agpsui
Tra i browser disponibili per OpenMoko c’è n’è anche uno basato su Mozilla Firefox: Minimo.
Per installare Minimo abbiamo bisogno della libreria libfreetype6 versione 2.3.6, sfortunatamente la versione fornita da OM è inferiore ed è necessario installare la libreria dai repository Angstrom:
N.B. Aggiungere i repository di Angstrom alla lista di quelli usati da Assassin potrebbe rendere molto instabile il sistema, per cui scarichiamo solo la libreria che ci interessa.
#: wget http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv4t/base/libfreetype6_2.3.6-r0.1_armv4t.ipk#: opkg install libfreetype6_2.3.6-r0_armv4t.ipk
A questo punto ci basta installare Minimo:
#: wget http://www.ginguppin.de/files/minimo.tar.bz2 #: tar -xjf minimo.tar.bz2 #: opkg install minimo_*
I repository di OpenMoko sono ricchi di software installabile con pochi comandi (o click se usate Assassin), tra i tanti meritano di essere segnalati:
Terminale (non esiste distribuzione senza terminale
)#: opkg install openmoko-terminal2
Screenshot catcher
#: opkg install gpe-scap
Per usare il programma è necessario creare uno script per avviare il programma con un ritardo di qualche secondo sufficiente a far apparire a schermo la finestra da fotografare:
#: cd /usr/share/bin #: vi gper
Premiamo i per entrare in modalità editing e scriviamo queste due righe ne file:
sleep 8
gpe-scapPremiamo esc e poi :wq per salvare ed uscire da vi.
Rendiamo il file eseguibile:
#: chmod gper chmod +x
Adesso apriamo il file /usr/share/applications/gpe-scap.desktop
#: vi /usr/share/applications/gpe-scap.desktop
e modifichiamo la righe Exec=gpe-scap in Exec=gper salviamo e chiudiamo vi.
Adesso alla pressione dell’icona lo screenshot sarà scattato dopo 8 secondi.
Per avviare il programma da ssh invece basta digitare:
#: DISPLAY=:0 gpe-scap
File-manager
#: opkg install gpe-filemanager
Visualizzatore di immagini
#: opkg install omview
Planetario
Orrery è una specie di astrolabio virtuale che fa vedere il cielo come lo vedremmo veramente nella posizione in cui ci troviamo (si basa sul gps)
#: opkg install orrery
Giochi
OpenMoko mette a disposizione anche qualche gioco per divertirsi con la propria saponetta (attenti alla batteria), vediamo come installarne qualcuno:
Numptyphysics
Lo scopo del gioco è quello di far rotolare un sasso su di una stella, seguendo un certo percorso e disegnando degli oggetti sullo schermo che si comporteranno seguendo le regole della fisica! Per installarlo digitiamo:
#: opkg install libsdl-1.2-0 libsdl-image-1.2-0 #: opkg install -force-depends http://wwwpub.zih.tu-dresden.de/~mkluge/numptyphysics_0.2_armv4t.ipk
Per giocare basta disegnare sullo schermo, usando lo stylus, delle linee che “convoglino” il masso verso la stella. Con la tastiera è possibile accedere alle funzioni avanzate del gioco, in particolare:
Spazio: elimina/avvia la pausa
Esc (in basso a destra sulla tastiera Terminal di Illume): elimina l’ultima linea
Freccia a destra e freccia a sinistra: permettono rispettivamente di avanzare o retrocedere di livello
Freccia in alto: resetta il livello corrente
Duke Nukem 3D
Agli appassionati del genere sparatutto farà piacere sapere che da qualche giorno è disponibile il porting su OpenMoko del gioco Duke Nukem 3D e che si gioca sfruttando gli accelerometri!
In questi casi un video è migliore delle parole:Per installarlo basta digitare:
#: wget http://alasal.be/openmoko/repo/duke3d_0.1.1_armv4t.ipk #: opkg install duke3d_0.1.1_armv4t.ipk
A questo indirizzo potete vedere lo schema per giocarci e… buon divertimento.
Il progetto OpenMoko e la sua comunità sono in rapido cambiamento per cui la guida non può essere esaustiva e puo’ darsi che molte cose, benché le abbia controllate al momento della stesura della guida, siano già datate tra pochi giorni.
Per informazioni aggiornate potete rifarvi ai due siti da cui ho preso le informazioni per la guida:
Se volete seguire gli sviluppi in real time potete iscrivervi ad una delle mailing list di OpenMoko.
-
OpenMoko FreeRunner: guida completa passo-passo (parte 1)
Pubblicato il settembre 12th, 2008 16 commentiFinalmente dopo qualche giorno di attesa ho ricevuto anche io il mio FreeRunner e la prima cosa che ho fatto è stata personalizzare ed aggiornare il software in dotazione.
Dopo aver girato in lungo e in largo su internet e aver seguito varie guide ho deciso di raccoglierle tutte in una mega-guida da seguire passo passo.N.B. La procedura è valida per qualsiasi distribuzione linux ma è dedicata alla distribuzione Ubuntu Hardy 8.04
Preparativi
Inseriamo la sim, la microSD e la batteria in dotazione seguendo la guida ufficiale del wiki e carichiamo completamente la batteria per la prima volta.
Flashing dell’immagine e del kernel
L’immagine e il kernel preinstallati saranno sicuramente obsoleti per cui sarà necessario aggiornarli, attraverso una procedura chiamata flashing.
Scarichiamo l’immagine ufficiale aggiornata da questo indirizzo, dobbiamo scaricare il file che è contraddistinto dalla notazione:Om2008.8-gta02-aaaammgg.rootfs.jffs2
dove aaaa, mm e gg stanno rispettivamente per anno, mese e giorno di rilascio.
Dallo stesso link è possibile scaricare anche il kernel ufficiale aggiornato, contraddistinto dalla notazioneOm2008.8-gta02-aaaammgg.uImage.bin
dove aaaa, mm e gg hanno lo stesso significato precedente. Esiste anche un kernel non ufficiale, mantenuto da mwester, che sembra allungare decisamente la vita della batteria senza preguidicare il funzionamento del telefono, quest’ultimo è scaricabile da questo indirizzo.
Infine scarichiamo dfu-util dai repository di Intrepid, cliccando su questo link e scegliendo un server, e lo installiamo digitando da un terminale:$: sudo dpkg -i dfu-util_0.0+r4067-3.1_i386.deb
Adesso siamo pronti per aggiornare, apriamo un terminale e spostiamoci nella cartella in cui abbiamo scaricato il kernel e il rootfs, premiamo il tasto AUX (quello in alto a destra) e il tasto Power del FreeRunner fino a quando comparirà il boot menù NOR.
Colleghiamo velocemente il cavetto usb in dotazione al FreeRunner al computer e da un terminale digitiamo:$: sudo dfu-util -a kernel -R -D nome_immagine_kernel
Attendiamo qualche minuto e il nuovo kernel sarà installato sulla nostra mitica saponetta.
A questo punto è necessario installare il nuovo rootfs, semplicemente digitando da un terminale
$: sudo dfu-util -a rootfs -R -D nome_immagine_rootfs
Se entrambe le operazioni sono andate a buon fine, la seconda richiede diversi minuti, sul FreeRunner sarà installata l’ultima versione del kernel e del rootfs.
n.b. se si collega il cavetto prima di aver acceso il FreeRunner, l’alimentazione del cavetto farà accedere l’OpenMoko per sarà necessario aspettare termini il boot per poi spegnerlo, per cui PRIMA accediamo al boot menù e poi colleghiamo il cavetto!
Collegare il FreeRunner al pc e ad Internet
Modifichiamo, con i privilegi da amministratore, il file /etc/network/interfaces
$: sudo gedit /etc/network/interfaces
Aggiungendo queste righe in fondo:
# FreeRunner
auto usb0
iface usb0 inet static
address 192.168.0.200
netmask 255.255.255.0
network 192.168.0.0
up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 &
up echo 1 > /proc/sys/net/ipv4/ip_forward &
up iptables -P FORWARD ACCEPT &
down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 &Modifichiamo, con i privilegi da amministratore, il file /etc/hosts
$: sudo gedit /etc/hosts
aggiungendo in alto questa riga:
192.168.0.202 openmoko (possiamo sostituire openmoko con un altro nome)
Modifichiamo, sempre con i privilegi da amministratore, il file /etc/udev/rules.d/85-ifupdown.rules
$: sudo gedit /etc/udev/rules.d/85-ifupdown.rules
in modo che la riga LABEL=”net_end” si trovi prima della riga che comincia con ACTION==”remove”
Riavviamo il demone che gestisce il networking:
$: sudo /etc/init.d/networking restart
Se (e solo se!) il pc è dietro una rete con intervallo di indirizzi 192.168.0.x (dietro un router, ad esempio) digitiamo questo comando in un terminale:
$: sudo route add -host 192.168.0.202 dev usb0
Infine possiamo collegarci alla saponetta semplicemente digitando:
$: ssh root@openmoko (sostituire openmoko con l'eventuale nome scelto in precedenza)
Alla richiesta della password premiamo semplicemente invio e saremo collegati sia ssh al FreeRunner!
N.B. da ora in poi le istruzioni da digitare su terminale root (contraddistinte da #:) vanno digitate sul terminale collegato al FreeRunner via ssh
La prima cosa da fare è impostare una password semplicemente digitando:
#: passwd
e digitate due volte la password.
Infine, per collegare l’openmoko ad Internet attraverso l’usb, dobbiamo modificare il file /etc/network/interfaces del FreeRunner, digitando:
#: vi /etc/network/interfaces
Adesso premiamo i per entrare nella modalità editing di vi e modifichiamo la porzione di file relativa ad usb0 in modo che risulti uguale a questa (solitamente è necessario modificare solo le ultime due righe):
iface usb0 inet static
address 192.168.0.202
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
up echo nameserver 208.67.222.222 > /etc/resolv.conf
up echo nameserver 208.67.220.220 >> /etc/resolv.confPremiamo esc per uscire dalla modalità editing di vi e poi digitiamo :wq (i caratteri compariranno in basso a sinistra) e diamo invio per salvare ed uscire da vi.
Riavviamo i servizi di rete del FreeRunner:
#: /etc/rc0.d/K40networking restart
Adesso il FreeRunner è collegato alla rete!
Aggiornare e personalizzare il software base
Dopo aver collegato l’OpenMoko ad internet aggiorniamo i pacchetti utilizzando opkg, il gestore di pacchetti di OpenMoko:
#: opkg update #: opkg upgrade
Attenzione: se stai usando OM 2008.12 e vuoi cambiare la tastiera e il tema di OM allora devi seguire questa guida più aggiornata.
La tastiera standard di OpenMoko è pienamente utilizzabile con le dita, ma la tastiera di Rasterman è più completa e semplice da utilizzare. Per installarla è sufficiente digitare questi comandi:
#: opkg install illume-config
Adesso disabilitiamo la tastiera di default di Qtopia, modificando il file /etc/X11/Xsession.d/89qtopia
#: vi /etc/X11/Xsession.d/89qtopia
Premiamo i per entrare i modalità editing e inseriamo questa riga nel file:
export QTOPIA_NO_VIRTUAL_KEYBOARD=1
Premiamo il tasto esc e poi digitiamo :wq per salvare e uscire da vi, a questo punto installiamo il pacchetto opkg install illume-config-illume:
#: opkg install illume-config-illume
puliamo la cache di Enlightenment:
#: rm -rf ~/.e/e/config/illume
e riavviamo X:
#: /etc/init.d/xserver-nodm restart
All’avvio modifichiamo le preferenze della tastiera di Illume premendo il triangolino capovolto che compare nella parte alta dello schermo al centro, poi la chiave inglese che sarà comparsa nell’angolo in alto a sinistra e infine premiamo (con le dita, of course) sulla scritta Keyboard e selezioniamo la voce Default.
Installare software utile
Il FreeRunner ha una vasto assortimento di software interessante, ufficiale e non, da installare per sfruttare appieno l’hardware e le potenzialità del dispositivo.
Da buon mapper non posso che cominciare con un buon software di tracking: TangoGPS.
Prima di installare Tango è necessario far funzionare il gps, dal terminale digitiamo questi comandi:
#: opkg install gpsd #: echo "GPS_DEV=\"/dev/ttySAC1\"" > /etc/default/gpsd
Installiamo il pacchetto ufficiale (solitamente più aggiornato della versione dei repository multiverse di OpenMoko)
#: opkg install tangogps
La caratteristica di TangoGPS è quella di disegnare il tracking sulle mappe di OpenStreetMap in questo modo possiamo sapere cosa è già stato mappato e quanto è preciso!
Per scaricare le mappe della zona interessata, dobbiamo collegare il FreeRunner ad Internet e avviare TangoGPS.Usando lo zoom (tasto + in alto) e le barre di scrolling visualizziamo la zona desiderata allo zoom desiderato, poi digitiamo su una zona qualunque della mappa e dal menù selezioniamo map download, poi i livelli di zoom da scaricare a partire da quello attuale (per cui se volete scaricare il massimo livello di zoom di un area dovete zommare fino a livello 11 e poi scelgere +6 nel menù di scelta dello zoom) e infine clicchiamo sul pulsante OK e dopo qualche minuto avremo le mappe scaricate in locale (è possibile controllare il downloading delle mappe nell’angolo in basso a sinistra, c’è un conto alla rovescia che indica i tiles che il programma dovrà ancora scaricare), pronte da usare per le uscite di mapping.
N.B. Se il FreeRunner non è collegato alla rete può succedere che TangoGPS si impalli perché cerca di scaricare le mappe ma non riesce a collegarsi ai server di OpenStreetMap, per evitare questo incoveniente basta despuntare la casella Auto download map tiles dalla schermata Config (ultimo tasto in basso a destra).
Continua…



