Attenzione: 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.bin
A 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.m0
Accendiamo 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.m0
Dopo 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=1
Sul 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) (*******************) ok
Adesso 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 %1
Se 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.