»
S
I
D
E
B
A
R
«
Neo FreeRunner con SHR: finalmente un telefono utilizzabile!
feb 23rd, 2009 by Fradeve

Come molti di voi sapranno, nel luglio 2008 un’intraprendente società taiwanese ha rilasciato la prima versione “mass market” del Neo FreeRunner, il primo telefono/palmare completamente open source della Storia. Sono passati molti mesi dal rilascio, e tutto il mondo si è precipitato a creare la propria versione del sistema operativo per il palmare, partendo da zero o “portando” qualcosa che già esiste (è quest’ultimo il caso di Debian e Gentoo).
Comunque, la FIC paga un consistente numero di sviluppatori per lavorare ad una versione “ufficiale” del sistema operativo, chiamato OpenMoko, e che in linea teorica vorrebbe diventare IL sistema operativo per dispositivi palmari, compatibile con quanti più modelli possibili. Non si può creare un sistema operativo universale per palmari in 1 anno, ma almeno sul Neo FreeRunner le cose sembrano andare per il meglio. Dopo qualche delusione dovuta all’ultima versione di OpenMoko (datata a Dicembre 2008), e dopo aver cercato di riparare ai continui freeze installando il kernel compilato da Trevino, ho deciso di spostarmi definitivamente sulla versione più aggiornata del sistema, SHR (Stable Hibrid Release), che pur essendo disponibile in versione “unstable”, offre un stabilità e un look veramente accattivanti.

Cos’è SHR?
Quando si è pensato ad un sistema operativo per palmari, si è avuta la necessità di creare un framework basato su Dbus al quale tutti gli sviluppatori potessero fare riferimento per creare le proprie applicazioni. Questo framework per palmari non esisteva, e ci sta pensando un impiegato della FIC, Mickey Lauer. Come per il desktop, si è scelto di rispettare le specifiche di Freedesktop.org, creando Freesmartphone.org, al fine di ottenere una base Dbus comune per tutte le distribuzioni GNU/Linux per palmari.
Quindi, SHR è una versione di OpenMoko che ha come base FSO (Free the SmartPhone), che dovrebbe rappresentare lo stack del futuro, come Freedestkop.org lo è adesso per tutte le distribuzioni desktop GNU/Linux (compresa Ubuntu). Per questo, il nome SHR: “rilascio ibrido stabile“.
Insomma, alla FIC si sta costruendo il futuro di GNU/Linux sui palmari.

Quale versione installare?
SHR è disponibile sia in versione “stable” che “unstable”: quella stable – non ancora disponibile – sarà un freeze delle caratteristiche alla data prescelta. La unstable attualmente disponibile è in costante lavorazione, ma è sufficientemente stabile da poter essere usata come telefono quotidiano, più di OpenMoko 2008.12. È inoltre disponibile la versione “lite” del filesystem di root, più leggera e veloce da scaricare sul pc e flashare sul Neo.

Perchè SHR (Pro)?

  • Perchè il suo stack basato su FSO è il futuro di GNU/Linux su dispositivi mobile;
  • Per la manegevolezza di una versione di Illume personalizzata per la distribuzione e molto finger-friendly;
  • Per il power management: la batteria in standby arriva a durare anche 60 ore, contro le 24 – 30 ore di OpenMoko di Dicembre.
  • Perchè è aggiornata costantemente, al contrario di OpenMoko 2008.12;
  • Perchè non utilizza Qtopia, che appesantisce il sistema a fronte di una suite PIM comunque incompleta e non perfettamente aderente alle esigenze di OpenMoko;
  • Per l’eliminazione dell’eco quando è attivo il viva voce;
  • Per un manager delle impostazioni in Python completamente personalizzabile ed espandibile, e che comunque comprende tutto ciò di cui c’è bisogno per controllare il palmare (al contrario del “Settings” di OpenMoko).
  • Perchè supporta i messaggi speciali dell’operatore (per esempio il numero *123*15# della Wind per visualizzare i minuti residui di una certa promozione);
  • Perchè finalmente funziona il led BLU/ROSSO sotto il tasto Power;
  • Perchè la gestione di GSM, GPS, Bluetooth e Wifi è completamente centralizzata e attivabile su richiesta dei vari programmi (questo sistema lo spiegheremo meglio in seguito).

Perchè evitarla? (Contro)

  • Per il bug del Gtk+-fastscaling (facilmente risolvibile con un –force-depends, come vedremo di seguito)
  • Per qualche minore problema di instabilità (mi è capitato un paio di volte in 1 settimana che la vibrazione continui anche dopo aver risposto ad una telefonata, costringendomi al riavvio del cell).

Installazione
Personalmente ho installato shr-lite-image-om-gta02.jffs2 e uImage-2.6.28-[...].bin, ovvero le ultime versioni del filesystem di root e del kernel (suggeritemi nella mailing list ufficiale). Ricordo al gentile lettore che le immagini possono essere comodamente flashate nel Neo usando NeoTool.
La prima cosa da fare dopo il primo boot è riavviare il Neo, perchè al primo boot il GSM non funziona. Fatto ciò, potremo constatare al successivo riavvio che di default funziona il collegamento ad internet via USB e funziona anche SSH.

Sistemare il tasto Power
Di default, alla pressione del tasto Power, appare prima un menù che comprende le opzioni per lo standby, lo spegnimento e la chiusura della sessione (proprio come un pc!), poi il Neo và in standby. La spiacevole quanto inutile apparizione del menù può essere evitata dando i seguenti comandi:

  1. xrandr -o 1
  2. fare click sulla chiave inglese presente nell’angolo in alto a sinistra della barra superiore
  3. fare click su “input” e poi su “key binding”
  4. cancellare la voce: “Execute” e applicare le modifiche con il tasto “Apply”

Risolvere il problema del pacchetto gtk+-fastscaling
In SHR (ed FSO se ricordo bene) il pacchetto gtk+-fastscaling è stato rinominato semplicemente in gtk+, ma molti programmi non lo sanno, per questo hanno come dipendenza il fastscaling che in realtà è già installato nel sistema come “gtk+”. Quando si vanno ad installare pacchetti del genere, può capitare di ricevere un errore e si interromperà l’installazione. Per ovviare a questo problema, sarà sufficiente ridare il comando di installazione, inserendo la dicitura –force-depends tra opkg e install. Ad esempio, per installare Navit:


opkg --force-depends install navit

Inserire un tasto per lo spegnimento
Dopo aver eliminato il menù che appare alla pressione del tasto Power, non ci sarà più modo di spegnere il Neo senza un terminale. Possiamo ovviare a questo problema creando uno shortcut sul desktop. Basterà inserire il seguente file, che chiameremo shutdown.desktop nella cartella /usr/share/applications/


[Desktop Entry]
Encoding=UTF-8
Version=0.7
Name=Shutdown
Type=Applicat=UTF-8
Version=0.7
Name=Shutdown
Type=Application
Comment=Show System Processes
Terminal=true
Exec=shutdown now
Path=
Icon=/usr/share/icons/openmoko-standard/128x128/apps/openmoko-system-default.png
Categories=ConsoleOnly;System;Application;
GenericName=Process Viewer
Categories=Office;
Exec=shutdown now

Una nota su GPS, Bluetooth, GMS e Wifi
Il nuovo framework FSO su cui si basa SHR ha il grande vantaggio di tenere spenti tutti questi servizi all’avvio del sistema. Inoltre, esso si pone come “gestore” di questi servizi tra le applicazioni ed il kernel; in altre parole, noi non avremo bisogno di “attivare” il GPS prima di aprire TangoGPS o Navit: sarà sufficiente aprire uno di questi programmi, e poi ci penserà il sistema operativo ad attivare il GPS. Nella stessa maniera, quando chiuderemo tutti i programmi che utilizzano il GPS, il ricevitore verrà spento. Il Wifi ed il Bluetooth devono essere accesi e spenti “manualmente” dall’apposito menù Settings. Anche il GSM come il GPS viene acceso solo su richiesta dal sistema operativo, ed in particolare questa richiesta avviene nel momento stesso dell’accensione del Neo, quindi a noi sembra che venga acceso di default. Se vogliamo risparmiare sulla batteria e non ci serve il GSM, possiamo disattivarlo dal menù Settings. Molto comodo, non trovate? Niente di tutto questo esiste su OpenMoko 2008.12.

TangoGPS e Yaouh!
Yaouh è un’applicazione scritta da un italiano, Carlo Minucci, che scansiona tutte le mappe presenti in TangoGPS e le aggiorna scaricando da OpenStreetMap solo le parti che sono state aggiornate dopo l’ultimo rendering settimanale (che avviene ogni giovedì solitamente). Purtroppo, a partire dall’ultima versione di TangoGPS, la 0.9.5, i repository delle mappe del programma vengono scritti all’interno del codice stesso del programma, e non sono più reperibili da Yaouh!, che non riesce quindi a scaricare alcun aggiornamento.
Per ovviare a questo inconveniente, almeno per le mappe “standard” di OpenStreetMap (quelle di Mapnik, per capirci), è sufficiente sostituire nel file ~/.gconf/apps/tangogps/%gconf.xml questa riga:


<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM</stringvalue>  </entry>


con questa


<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM|http://tile.openstreetmap.org/%d/%d/%d.png|/home/root/Maps/OSM|0</stringvalue>  </entry>

rispettando gli spazi e la sintassi del resto del file. Attenzione però: il file in quesione viene sovrascritto da TangoGPS ad ogni chiusura del programma, quindi dopo aver modificato il file aprite Yaouh! e aggiornate le mappe senza aprire/chiudere TangoGPS, altrimenti avrete perso tempo…

Navit
La versione più aggiornata di Navit installabile sul Neo è quella SVN, e può essere installata dando i seguenti comandi:


echo src navit http://download.navit-project.org/navit/openmoko/svn >/etc/opkg/navit-feed.conf
opkg update
opkg install navit
Scarichiamo la cartografia italiana di OpenStreetMap aggiornata settimanalmente
fornita da CloudMade, da qui, e dopo averlo estratto dall'archivio, spostiamo il
file nella cartella ~/.navit
Quindi, bisognerà sistemare il file di configurazione, con il seguente comando:

cp /usr/share/navit/navit.xml ~/.navit/navit.xml

Adesso inseriamo nel file una nuova dicitura "mapset", più o meno nei pressi
del rigo 148:


<mapset enabled="yes">
               <map type="binfile" enabled="yes" data="/home/root/.navit/italy.navit.bin" />
</mapset>

Fatto ciò, possiamo ancora fare in modo che Navit visualizzi i tasti "+" e "-"
per lo zoom, per ingrandire e diminuire lo zoom della mappa durante la navigazione,
portando da "enables=no" a "enables=yes" le voci ai righi 53 e 54:


<osd enabled="yes" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.xpm"/>
<osd enabled="yes" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.xpm"/>

Tutte le indicazioni per il tweak dell'interfaccia grafica di Navit sono qui.
Per usare Navit è molto utile ruotare lo schermo in orizzontale; è possibile ottenere una comoda applicazione con tanto di
icona nel menù per farlo, installando questo pacchetto.

Qualche screenshot

OpenMoko e NeoFreerunner: a che punto siamo…
lug 15th, 2008 by Fradeve

Dopo l’entrata in vendita (meno di un mese fa) del NeoFreerunner, il primo palmare/telefono completamente open-source, finalmente anche qualche italiano ha cominciato a ricevere a casa il magico pacchettino nero, contenente la straordinaria saponetta elettronica che farà felice moltissimi smanettoni ed amanti del Software Libero.

Ci sono una serie di rivelazioni/novità del tutto sconcertanti: comincio da quelle più “banali” per arrivare alle più “succose”. Molte notizie sono conosciute già da secoli, ma questo post è un vero e proprio brainstormig…

Statistiche
1) Secondo le statistiche di Giugno del Wiki di OpenMoko (wiki.openmoko.org) l’Italia è al 3° posto nel mondo per “interesse” nei confronti del palmare, con 5177 visite al giorno, preceduta da Germania (14666) e USA (17243). Dietro l’Italia troviamo Francia, Regno Unito, Taiwan e Cina. Sono sbalordito da un così imponente interesse nel nostro Bel Paese, è un segnale molto positivo.

Vendite
2) In 2 giorni il Neo Freerunner è andato completamente esaurito in *tutti* i negozi d’Europa (i distributori erano 4!). Secondo alcuni calcoli sulla mailing list ufficiale, se ne sono venduti in 10 giorni più di 10.000…. spaventoso.

Sviluppo
3) Secondo un sondaggio, la piattaforma di sviluppo OpenMoko è al 2° posto in assoluto come preferenza da parte degli sviluppatori, dopo Android di Google; segue Windows Mobile; Symbian all’ultimo posto. [Ho perso il link, quindi scusate se non vi cito la fonte; ve ne parlo sulla fiducia]

Funzioni
4) Cosa può fare attualmente il Neo Freerunner con OpenMoko: tutto. Telefona, manda SMS, copia la rubrica ed i contatti direttamente dalla SIM, funge da navigatore GPS con mappe vettoriali (OpenStreetMap) ed anche con fotografie aeree; naviga nel web con connessione Wifi e si collega ad altri dispositivi tramite Bluetooth. Grazie a Cerebro [http://lyme.media.mit.edu/cerebro/index.php/Welcome_to_Cerebro] permette di creare reti mesh Wifi senza necessità di connessione ad internet, permettendo ai Neo di comunicare fra loro e scambiarsi dati. Inoltre funzionano benissimo anche le altre applicazioni come l’agenda, il lettore di feed RSS, ecc ecc

Ambienti software
5) Tra gli aspetti più interessanti, non comuni a nessun altro palmare/telefonino, è la presenza di *molti* ambienti “desktop”. Il Neo viene distribuito con il rilascio di OpenMoko 2007.2, un’interfaccia basata su GTK che svolge egregiamente tutte le funzioni per cui è stato programmato. Tuttavia, sono in lavorazione un’interfaccia basata su Qtopia, che integra Gtk, Qt ed e17 (le librerie di Enlightment9), chiamata ASU (April Software Update) ed un’ulteriore ambiente ancora completamente work in progress chiamato FSO, il cui obiettivo è semplicemente avere una stabilità pazzesca (non che il 2007.2 non lo sia, eh).

Batteria
6) Grazie ad una patch, la batteria con lo stack FSU raggiunge le 21 ore di durata :D Secondo gli sviluppatori, ci sono in cantiere altre modifiche al sistema che ne allungheranno ancora di più la vita. Per il momento la vita media di un Neo Freerunner si aggira intorno alle 6 o 7 ore.

Componenti aperte

7) Il Neo Freerunner, essendo completamente aperto, non sopporta l’hardware proprietario. Niente POP-port come nei Nokia Serie 60 per gli spinotti, ma un meraviglioso jack da 2,5 mm per le cuffie e una stupenda porta micro-USB per collegarlo al pc. La batteria in dotazione con il palmare è la BL-5C, usata nei Nokia Serie 60 (come il 6600 o il 6630) e comprarne una “compatibile” costa solo 5€, motivo per cui non c’è da preoccuparsi se – attulmente – la batteria dura così poco.

Penne USB
8) La porta USB del Neo è alimentata: ciò significa che è possibilissimo collegarci una penna USB (con apposito adattatore USB-microUSB) e utilizzare i dati in essa contenuti (anche se gli sviluppatori avvisano che ciò potrebbe diminuire sensibilmente la vita del palmare… certo, se avete una batteria di scorta è tutto più semplice).

Librerie grafiche
9) OpenMoko, lo dò per scontato, è un sistema GNU/Linux, con tutto ciò che ne consegue: sono supportati Python, Perl, C++ ed altri linguaggi di programmazione sia compilati che interpretati. Sono supportati Gtk+, Qt ed e17, quindi ci si può sbizzarrire con il software libero e con il porting di software già esistente.

Il prezzo in Italia
10) Grazie ad una azienda italiana, il Neo Freerunner entrerà in vendita in Italia dal 1° settembre, alla modica cifra (e dico sul serio) di 329€ + 10€ di spedizione. Nel prezzo, oltre al palmare, è inclusa una custodia in neoprene e le cuffie con jack da 2,5 mm. Nella confezione, oltre agli oggetti appena citati, sono presenti: un cavo USB-microUSB per connettere il palmare al PC; un adattatore per ricaricarlo dalla presa elettrica, con ulteriore adattatore per prese europee/inglesi ed una microSD da 512 Mb. Nel prezzo è compreso un servizio “DebugBoard on call service” per l’affitto settimanale delle debug-board.

Il GPS
11) Oggi è stato scoperto un bug nell’hardware del Neo Freerunner; si tratta di un EMC derivante dallo slot che contiene la microSD e che interferisce con il ricevitore GPS, che non riesce (o in alcuni casi ci mette moooolto tempo) ad agganciarsi ad alcun satellite. Fin quando gli sviluppatori non troveranno una maniera per fare fronte al bug (ovviamente la risoluzione dovrebbe arrivare dal software non da una modifica dell’hardware) il problema può essere risolto rimuovendo la microSD quando bisogna usare il GPS (lo so, è una proposta indecente perchè nella microSD possono essere salvate tutte le mappe necessarie alla navigazione) oppure utilizzando un’antenna GPS esterna via bluetooth. Comunque, non in tutti i casi succede quanto descritto sopra, ad alcuni sembra funzionare bene. Aspettiamo fiduciosi ulteriori sviluppi sul tema.

La navigazione satellitare

12) In compenso, sono stati elaborati software semplicemente magnifici per la navigazione GPS su OpenMoko: sto parlando di gvSIG, tangoGPS, che supportano mappe da OSM, e foto aeree da OpenAerialMap.org e Maps-For-Free.org. Questi programmi sono l’ideale anche per tutti i mappers che vogliono cimentarsi in OSM.

I browser
13) OpenMoko ha un browser integrato WebKit ed è già stato inoltre testato Firefox per dispositivi mobile, che prende il nome di “Minimo Web Browser“, e funziona benissimo.

Java
14) OpenMoko adesso, grazie allo sviluppo di Jalimo, supporta anche Java: è anche per questo che gvSIG gira sul palmare. Con questo porting di Java, si apre un mondo di possibilità!

Design aperto e creatività
15) I file CAD con cui sono progettate le mascherine di plastica che ospitano e contengono l’hardware del Neo (il “case” o “chassis”, per capirci) sono sotto licenza Creative Commons, e sono liberamente modificabili e ridistribuibili. Uno studente di design industriale in uno stage all’OpenMoko, ha progettato una stupenda guaina, una cover in plastica per il palmare, che gli conferisce un aspetto veramente robusto e resistente, quasi come gli astucci dei telecomandi. Non ci vorrà molto che qualche azienda non approfitti dell’idea e ne produca dei modelli reali, mettendoli in commercio. I vantaggi dell’hardware libero ;)

»  Substance: WordPress   »  Style: Ahren Ahimsa