19 febbraio 2007

SPIM per Nokia 770/800: simulatore di processore MIPS

SPIM è un simulatore del processore MIPS che permette di far girare codice assembly scritto per processori MIPS su un normale PC.

SPIM era fino ad oggi disponibile "solo" per Windows, Linux e Mac.

Sia per necessità che per divertimento, ho effettuato il porting di tale simulatore, per il dipositivo Nokia 770/800.

Potete scaricarlo dall'apposita pagina che ho allestito.

07 febbraio 2007

Skype legge il vostro BIOS ed il seriale della scheda madre

Ci si puo' fidare di un software a sorgente chiuso?

La risposta è no ovviamente, e Skype ne è l'ennesima dimostrazione vivente.

Di cosa se ne fa questo utilizzatissimo programma di telefonia VOIP delle informazioni che sono scritte nel mio BIOS? E' quello che si è chiesto anche questo blogger (dal quale ho tratto la notizia).

Come ci si è accorti di questa cosa? Eseguendo Skype su Windows 64 bit si otteneva un errore molto simile a questo:

The program or feature “\??\C:\Documents and Settings\Myria\Local Settings\Temp\12\1.com” cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available.

Disassemblando l'eseguibile 1.com si è potuto risalire a cosa facesse quel codice. In sintesi si occupa di leggere le informazioni del BIOS (compreso il seriale della scheda madre) e di inviare le informazioni a Skype.

Grazie ad una disattenzione dei programmatori di Skype questa cosa è stata scoperta. Se fossero stati piu' esperti ed avessero saputo che NTVDM (un layer che permette ai programmi DOS/16bit di girare su Windows a 32bit in maniera trasparente) non è stato implementato su Windows 64bit, probabilmente questa cosa non sarebbe mai emersa (o per lo meno non così facilmente).
Inizialmente alcuni hanno obbiettato che potrebbe trattarsi di un metodo per rilevare il tipo di processore e decidere quindi se un PC è in grado o in meno di eseguire una certa istruzione (per evitare errori di esecuzione). Peccato però che ci siano metodi molto piu' portabili per svolgere questo compito e che il sistema operativo offra tutte le informazioni necessarie, senza bisogno di andare a leggere direttamente i dati dal BIOS.

A cosa serviranno allora questi dati? Staremo a vedere se nei prossimi giorni l'azienda vorrà chiarire la propria posizione su questa scoperta.

N800: adesso salta fuori anche la Radio FM!

I dispositivi Nokia non finiscono piu' di sorprenderci. E' il caso del Nokia N800, che fino a pochi giorni fa era riuscito a tenere nascosto un ricevitore FM.

Pare essersene accorto uno sviluppatore di Maemo (il sistema operativo alla base di Nokia 770/800) in una mail arrivata nella mailing list di sviluppo.

Il chip FM in questione pare essere un TEA5761 FM-Radio, ed è possibile verificarlo eseguento questo comando da root:

cat /sys/devices/platform/i2c_omap.2/i2c-0/0-0010/name

E' già disponibile un'applicazione che permette di sfruttare la radio FM integrata ed è possibile scaricarla da questo link.

04 febbraio 2007

Installazione del Maemo SDK per Nokia 770

Maemo è una piattaforma di sviluppo opensource per i dispositivi palmari basati su Linux. Attualmente è la base del sistema operativo che è installato sul Nokia 770 e 800, ma potrebbe teoricamente essere adottata (con pochi cambiamenti) anche da altri dispositivi simili.

L'SDK mette a disposizione (oltre alle librerie ed al compilatore) un vero e proprio ambiente capace di emulare il dispositivo palmare finale, in modo da permettere allo sviluppatore di testare e debuggare sia i programmi che funzionano a riga di comando, sia quelli visuali.

L'ambiente grafico si basa su un vero e proprio X server, un window manager e sulle librerie GTK+ con un'estensione particolare che si chiama Hildon.

Tramite l'SDK di Maemo è possibile:

  • Testare le applicazioni scritte per Maemo, utilizzando un normalissimo PC con Linux.
  • Scrivere e debuggare applicazioni scritte da noi.
  • Effettuare il porting di applicazioni esistenti scritte per Linux/GTK+ e verificarne il funzionamento.
  • Compilare e preparare i pacchetti per la piattaforma ARMEL in modo da renderli installabili sul dispositivo finale.
L'howto completo è a disposizione sul wiki del PtLUG.

01 febbraio 2007

Gizmo e Nokia 770/800: la soluzione VOIP portabile

Per chi ancora non lo conoscesse, Gizmo è un software che permette di effettuare chiamate attraverso Internet.

Così come altri software simili, anche Gizmo è multipiattaforma, ed è disponibile per Windows, Linux ed OsX.

Recentemente è stato fatto un porting di questa applicazione anche per i dispositivi Nokia 770 e Nokia 800, ovvero i due modelli di internet tablet della Nokia. Questo programma permette quindi di trasformare il nostro palmare in un vero e proprio dispositivo VOIP portatile, vista la diffusione sempre maggiore delle reti wireless ad accesso pubblico e visto che permette di effettuare chiamate, oltre ad altri utenti Gizmo, anche ai telefoni fissi e cellulari di tutto il mondo.

Chiamare i telefoni fissi e cellulari ovviamente ha un costo, ma se si chiama un altro utente Gizmo, non è esattamente così. Le chiamate al numero di telefono fisso di un altro utente Gizmo è gratuita infatti. Se ad esempio Mario è un utente Gizmo e vuole chiamare Luigi (altro utente Gizmo) è sufficiente che entrambi abbiano inserito nel proprio profilo il numero di telefono di casa o dell'ufficio (che volendo può essere visibile solo alle persone che sono tra i nostri contatti e non a tutti).

Una piccola nota per quanto riguarda le versioni a disposizione per i due dispositivi. Secondo il sito web di Gizmo, per il Nokia 770 l'ultima versione disponibile è la 1.1, mentre per il Nokia 800 l'ultima disponibile è la 2.0. Gizmo sconsiglia di installare la versione per l'N800 sul N770, ma posso assicurarvi che ciò non comporta alcun problema (avendola testata personalmente) e che tutto funziona regolarmente.

La speranza adesso è che altri software VOIP vengano portati su questo dispositivo, come ad esempio OpenWengo e Skype, in modo da aumentare ulteriormente le possibilità di comunicazione di questo favoloso dispositivo.