Aggiornare firmware Android su HTC Dream G1 Tim (Android 1.6 + CyanogenMod)
novembre 21st, 2009 by Scorp | Filed under Hardware.AVVISO: gradito commentino a questo post anche da chi riesce ad installare Cyanogen senza problemi, grazie :P
Questo lunedì mi è arrivato l’HTC Dream marchiato Tim che in questi giorni si trova scontato al Mediaworld (289 euro, di listino sta a 349).
Purtroppo, come spesso capita con gli smartphone che montano un software modificato dagli operatori, la versione è vecchia, non più mantenuta e spesso priva di alcune applicazioni “strategiche” (google talk, chat, sincronizzazione contatti gmail).
Con Tim inoltre, non è possibile accedere nativamente come utente root e poter riflashare liberamente il proprio Android.
Quindi, prima di poter aggiornare il software, è necessario sfruttare una qualche falla per potere accedere come utente privilegiato.
Girovagando per la rete, ho scoperto una comunità italiana Android in cui, oltre ad un blog, mettono a disposizione un wiki con diverse istruzioni sul come aggiornare il proprio droid, incluso il mio.
Peccato che le immagini Android che mettono a disposizione sian piuttosto obsolete e anche le istruzioni mi son sembrate, con il senno di poi, più complesse del dovuto.
Cercherò qui di ricostruire i passi da effettuare per poter mettere una versione di Android decentemente aggiornata e funzionale.
Hardware:
- HTC Dream Tim
- Cavetto USB (in dotazione)
Software:
- Android SDK
- Utility Fastboot
Le SDK contengono software e documentazione necessaria a chi vuol sviluppare sia Android che applicazioni per Android. Fastboot è una utility per bypassare il caricamento dell’immagine di presente sulla memoria e passarne una “volante” tramite USB (puoi scompattarlo all’interno della cartella tools dell’SDK)
Riepilogo
Abilita USB Debugging
Menu -> Impostazioni -> Applicazioni -> Sviluppo -> Debug USB
$ ./tools/adb devices
List of devices attached
HT935NG08417 device
Se il vostro device viene riportato, siete pronti per poter utilizzare Fastboot
Fastboot
$ wget http://blog.scorpionworld.it/wp-content/uploads/2009/11/boot.zip
$ unzip boot.zip
Accendi il telefono utilizzando il tasto Power + Camera
$ ./tools/fastboot boot boot.img
Attendi il caricamento di Android…
$ ./adb shell
Adesso sei collegato al tuo Android con privilegi di root:
# id
uid=0(root) gid=0(root)
Passiamo il filesystem /system da sola lettura a lettura/scrittura, e creiamo una copia della shell però con il flag setuid attivo (che ci permetterà di avere una shell root senza esser root)
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cat /system/bin/sh > /system/bin/su
# chmod 4755 /system/bin/su
# exit
Adesso siamo pronti per poter flashare il nostro device con un versione di Android custom.
Così a naso, sembra che il miglior Android mantenuto dalla comunità è CyanogenMod, e anche qui c’è un nutrito wiki con la procedura per installarlo (upgrade da firmware con root).
Installazione cm-recovery
Scarica la più recente versione della Recovery Image CyanogenMod (sostituisce il sistema minimale di recovery, sarà utilizzato per poter installare facilmente Android+CyanogenMod)
Scompatta e copia la prima immagine direttamente nella cartella principale della tua memoria SD (con il telefono collegato al pc, seleziona l’avviso che esce fra le notifiche in alto del device e fai Connetti) e riapri una shell:
$ ./tools/adb shell
# su
# flash_image recovery /sdcard/cm-recovery-1.4.img
# exit
Installazione Android 1.6 + CyanogenMod
Scarica l’ultimo firmware marcato “recovery image” qui
Scarica l’ultima immagine ufficiale di Android 1.6 denominata recovery image.
Scarica l’ultima release di CyanogenMod (contiene il mod Cyanogen, il nome del file è del tipo update-cm-$versione-signed.zip).
Adesso copia i due files zip nella cartella principale della tua memoria SD (non li scompattare!)
Procediamo con la reinstallazione del sistema: completa entrambi i passi, non riavviare.
Puoi accedere al sistema di recovery appena installato accendendo il telefono tramite Home + Power.
Seleziona ‘Apply any zip from SD’ e poi signed-dream_devphone_userdebug-ota-14721.zip (Android 1.6)
Seleziona nuovamente ‘Apply any zip from SD’ e poi update-cm-4.2.5-signed.zip (CyanogenMod)
Premi Home + Back per riavviare.
Al successivo riavvio, se tutto è andato come previsto, vedrete apparire il logo in blu che identifica la CyanogenMod.
A questo punto in cui sarete colti da immensa felicità, ricordatevi di installare anche l’applicazione Cyanogen Updater che trovate nel Market, così che con due click potrete facilmente aggiornare all’ultima versione di CyanogenMod (prevalentemente bugfix ma spesso arrivano anche nuove features) senza nemmeno dover usare il proprio pc.
Unica nota di demerito: la tastiera pare esser con layout americano, nessun problema per le lettere, solo i tasti secondari sono messi fuori posto. Non ho ancora voluto indagare perchè alla fine si fa prima ad imparare il nuovo layout (:P), ma se qualcuno ha la soluzione sarei più che felice di integrarla in questa guida.
Tags: aggiornamento, android, androidiani, cyanogenmod, firmware, htc dream, reinstallazione, tim
Ciao, a me è arrivato oggi il mio HTC DREAM, vorrei però poter aggiornare il firmware…. Avrò la possibilità di trovarti in MSN e mi guideresti passo passo perchè io veramente non so da che parte iniziare…. Grazie comunque.
Se non sei sotto minaccia fisica, direi di lasciar perdere se dubiti fortemente delle tue capacità a sta maniera.
Ciao Scorp, però hai sbagliato.. è androidiani.com non .it :P
Pardon, corretto! :P
Ciao, complimenti per la guida, però avrei un problema:
quando mando il comando:
c:\sdk\….\tools> fastboot boot.img
mi arriva questo errore:
downloading boot.img … FAILED<command write filed>
io il boot.img l’ho già scaricato da http://www.androidiani.com/tim/boot.zip, ed ho estratto il contenuto all’interno della cartella Tools dell’sdk…..potresti darmi una mano?
ps:(visto che uso windows vista potresti dirmi i comandi specifici per windows di:
$ wget http://www.androidiani.com/tim/boot.zip
$ unzip boot.zip
sono un pò ignorante in materia)
pps:il contenuto della cartella boot.zip va messa all’interno di tools?
Penso ci sia qualche inghippo con Windows, documentato in una pagina del wiki di Androidiani
http://www.androidiani.com/wiki/Guida_all%27uso_di_ADB/Fastboot
Comandi per windows non ne servono, si tratta solo di scaricare il file e unzipparlo.
Facci un giro!
…. non funzionano…… mi sa che la procedura la faccio da mio zio (che ha un mac), come si chiama il prompt dei comendi del mac?
sono riucito a fare tutto, è bastato usare un pc con windows xp (evidentemente vista ha dei blocchi…..)
Grazie ancora per tutto!!!!!
Credo sarebbe fattibile e anche comodo utilizzare un live-cd Ubuntu (se proprio non si vuole installarlo) e tenersi l’sdk per linux su chiavetta usb, disco esterno o sulla partizione di windows:
non ci sarebbero beghe di driver non funzionanti / periferiche non riconosciute come su windows.
si ma è lento da suicidio…..
Io devo aver sbagliato qualcosa…
ora mi carica il logo tim, poi quello di CyanogenMod e poi lo schermo diventa nero (rimanendo però acceso) e per spegnerlo è necessario togliere la batteria :(((((
E’ comunque possibile accedere alla Fastboot e alla Recovery mode e il pc lo riconosco…
Come posso risolvere???
Aiuto please :(
Hai riprovato? C’è qualche passo che ti è sembrato poco chiaro?
Succede la stessa cosa anche a me… c’è solo la barra delle notifiche in alto!
Ciao Scorp, avrei una domanda da farti.
Ho seguito le tue istruzioni, ma al momento di installare la recovery 1.6 ufficiale HTC la procedura si interrompe a causa del SPL non compatibile. Ho l’originale HBOOT-1.38.0000 (DREA20000).
Devo prima installare l’HARD-SPL ?
Tu quale hai ?
Grazie.
@Riccardo: anche io stesso SPL, e conviene che lasci quello perchè col mio funziona tutto e aggiornare SPL è l’unico modo sicuro per brickare l’htc dream.
Per inciso, non esiste nessuna recovery 1.6 di htc.
Non riesci ad installare l’immagine recovery cm-recovery o non ti fa installare il firmware base di android 1.6?
L’errore preciso è?
@NiK @Marco: io non ne ho avuto bisogno, ma probabilmente fare un bel ‘wipe data/factory reset’ (Alt+W) da recovery (Home+Power) aiuta parecchio. Ovviamente con backup fatti.
Scusa la domanda, ma “Recovery Image” che cosa dovrebbe fare? Fa un backup del G1? Se si dove lo trovo questo backup? Se qualcosa dovesse andare storto come faccio a ristabilire il cell come era prima??
Grazie!!!
Ah scusa, ma dov’è il link del firmware 1.6???
I nomi sono fuorvianti perchè identici, ma non è colpa mia :P
La cm-recovery è un sistema android minimale, puoi usarlo sia per effettuare un backup dell’immagine android completa che hai desso (tramite l’utility nandroid), sia per reinstallare il sistema se qualcosa va storto o se decidi di installare un altra versione android.
L’immagine android del sistema vero e proprio, è quella al passo successivo, e sul sito developer.htc.com viene etichettata come “Recovery Image”, non perchè sia l’immagine di recovery succitata, ma perchè è l’immagine completa del sistema da utilizzare se si vuole effettuare un recupero completo della versione originale.
Ho aggiornato il link della “Recovery Image”, ora dovrebbe esser più complicato non vedere il file corretto da scaricare ;)
Se vuoi effettuare un backup tramite nandroid non solo del sistema completo, ma anche dell’immagine di recovery, devi avviare il sistema con l’immagine cm-recovery tramite il fastboot (altrimenti se la installi sovrascrivi quella di ora e quindi niente backup). Per la procedura dettagliata dai un occhio qui http://www.androidiani.com/wiki/Root_su_HTC_Dream#Si_inizia.21_Mettiamo_la_recovery_modificata.21
Scusami io a quel link vedo una tabella con dei nomi tipo:
signed-dream_devphone_userdebug-ota-14721.zip
l’inzio del link quale sarebbe? :(
Gulp!
Sarebbe quello, ma il link al file è stato tolto, che sia in aggiornamento la pagina?
Google propone questo: http://www.mediafire.com/?1gqtzgzmdw4
@Scorp: esatto, ho dovuto fare un hard reset (HOME+POWER e poi ALT+W) e poi è partito. Grazie
Uff… dopo ore di fatica ce l’ho fatta.
Parecchie sorprese che segnalo:
1. caro Scorp, quando descrivi l’utilizzo di Fastboot, se riesci a metterci qualche parolina descrittiva in più, forse qualche utente meno esperto ti ringrazia. Vuole essere solo un suggerimento, niente di più.
2. Dove reperire i files?? io li ho trovati qui:
http://www.android-dev.it/docman/G1-HTC-Dream/View-category/Page-8.html
è solo necessario fare la registrazione gratuita al sito e scaricare il firmware titolato “Android 1.6 recovery image per ADP (Ufficiale HTC)” Tooltip 05/16/2009 Hits: 25
Mentre per il file CynogenMod, sempre sullo stesso sito al link http://www.android-dev.it/docman/G1-HTC-Dream/View-category.html scaricate il file titolato “CyanogenMod 4.2.8 (stabile)”
Ho anche provato a scaricarne altri più recenti, ma mi hanno dato problemi sul mio Dream-TIM.
3. Confermo l’esigenza di alcuni factory reset (ALT+W) da recovery boot.
Il primo necessita all’inizio di tutte le procedure; quindi il consiglio è fare un opportuno backup e poi lanciare (ALT+W). Probabilmente questo è necessario se avete già utilizzato il vostro HTC-Dream caricando programmi, e non brillando per quantità di memoria disponibile, il reset ci permette di liberare lo spazio necessario al caricamento del firmware.
Il secondo factory-reset serve al riavvio (parecchio lungo….) dopo il caricamento dei due files, dove presentandosi il logo ANDROID azzurro si finisce poi in un inquietante schermata nera. Io dopo 10 minuti (in cui ho pensato ad altro…) ho riavviato in RecoveryMode -Home+Power- fatto un reset -ALT+W- ed un bel riavvio -Home+Back- A questo punto ho avuto è ripartito tutto alla grande.
Confermo comunque lo splash-screen di TIM sempre esistente
1. I suggerimenti son sempre ben accetti, se ben motivati. Nel tuo caso, RTFM.
2. Mi sollevo dal problema, se leggi il mio commento precedente. Appena quelli di HTC decidono definitivamente cosa farne della loro pagina, aggiornerò l’articolo.
3. Mi dispiace non aver potuto integrare la guida con i reset da effettuare, ma nel mio caso non è mai servito (probabilmente perchè ho effettuato la prima installazione su telefono completamente vergine). Per lo splash di TIM, quello non va via perchè non fa parte del sistema Android ma del cosiddetto SPL. E dicono anche di non modificare l’SPL perchè è uno dei cavilli che ti faranno saltare la garanzia del produttore in caso di problemi.
Tranquillo scorp. Io credo che questi spazi siano utili prorpio per condividere le esperienze. Personalmente ti ringrazio per aver condiviso la tua, e mi è sembrato d’obbligo segnalare anche la mia esperienza per futuri utilizzatori; avranno sicuramente le idee un po più chiare.
CiaoCiao.
SOLUZIONE AL LAYOUT DI TASTIERA
Scaricare il file trout-keypad-v3-italy-qwerty.kcm.bin io l’ho trovato al link
http://www.android-dev.it/Files/View-document-details/118-Patch-tastiera-QWERTY-italiana.html
Scompattate il file .zip ottenuto nell’originale file .bin
Copiate quest’ultimo nella sdcard trascinandolo direttamente in essa, o se preferite tramite push dal tool sdk (ricordatevi di posizionare in modalità USB DEBUG il palmare, come indicato dal nostro Scorp)
$ adb push trout-keypad-v3-italy-qwerty.kcm.bin /sdcard
Ora sostituiamo la tastiera con queste operazioni dalla shell del nostro ANDROID (USB Debug ON)
# adb shell
# mount -o remount,rw /dev/block/mtdblock3 /system
# cp /sdcard/trout-keypad-v3-italy-qwerty.kcm.bin /system/usr/keychars
# cp /sdcard/trout-keypad-v3-italy-qwerty.kcm.bin /system/usr/keychars/trout-keypad-v3.kcm.bin
# cp /sdcard/trout-keypad-v3-italy-qwerty.kcm.bin /system/usr/keychars/trout-keypad.kcm.bin
# exit
Togliete la modalità USB Debug
Et Voilà! il gioco è fatto!
Godetevi il vostro DREAM Cynogen, rinato con tastiera corretta.
CiaoCiao
SV
Ciao sia a Scorp che a Stefano, signori ne sapete a pacchi e siccome io invece sono due giorni che non cavo un ragno dal buco……
Vi chiedo cortesemente di darmi un aiutino…. diciamo che faccio fatica a trovare persino quella benedetta cartella USB DRIVER della quale si parla nelle varie guide che non c’è come lo risolvo??? il resto a grandi linee mi sembra di averlo capito….(SEMBRA…)
Per favore scusatemi del disturbo,ma ho proprio bisogno!!!!
Grazie Antonio
Ciao Scorp, scusa se rispondo solo ora dopo molti giorni. Altri impegni mi hanno costretto a rimandare.
Dunque, seguendo la guida sono riuscito ad installare l’immagine recovery cm-recovery correttamente. Mi sono però fermato sulla installazione del firmware base di android 1.6 (signed-dream_devphone_userdebug-ota-14721.zip); avviato l’update del file zippato mi ha segnatato un errore che, se non ho capito male, si riferisce alla incompatibilità con l’SPL presente sul mio Dream (originale TIM, HBOOT-1.38.0000 (DREA20000)). In effetti sul sito HTC nelle note per l’aggiornamento viene richiesta la presenza di un bootloader originale. Forse quello TIM non lo è ???
Aggiungo comunque che non avevo fatto nessun wipe.
Cercando di capire il problema mi sono accorto che esistono due diverse versioni del file signed-dream_devphone_userdebug-ota-14721.zip che ho scaricato da varie fonti (ormai non saprei indicarle con esattezza). Queste hanno stesso nome, ma dimensioni diverse: una è 46.097 l’altra invece 46141 Kb. Ho scoperto che non è un problema di download o di verifica md5, ma semplicemente la differenza è dovuta alla presenza dentro il secondo file .zip di un file in più che si chiama “check_prereq” (senza estensione). Probabilmente è il file scaricato dal sito HTC prima che togliessero il link e altrattanto probabilmente contiene una routine di verifica, quella che mi ha bloccato.
Nei prossimi giorni riproverò con il file senza il “check_prereq” e ti farò sapere.
Grazie ancora.
Riccardo
Ciao Riccardo, probabilmente il problema è proprio nell’immagine, perchè anche io ho un HTC Dream marchiato TIM con lo stesso SPL, e non ho problemi a farci girare quanto sopra.
Googlando sul forum xda-developers ho trovato questa discussione con questi link:
http://www.megaupload.com/?d=BYJBWHAB
http://www.mediafire.com/?zywmn354kre
http://rapidshare.com/files/318465504/signed-dream_devphone_userdebug-ota-14721.zip
Se riesci a riflashare con una di queste immagini, fammi sapere che lo metto online.
@Antoine: http://www.androidworld.it/?p=724
Non ci sono problemi di questo tipo su Linux e su Mac (testati in prima persona), se ne hai la possibilità, non usare Windows.
Finendo di leggere la discussione su xda-developers di cui sopra, ho visto che i files effettivamente erano ancora sul sito in questione, solo i links erano stati tolti.
Ho quindi riscaricato i file e caricato direttamente qui, spero non porti via troppa banda :P
Ciao Scorp, finalmente sono riuscito a installare la nuova ROM 1.6 con la Cyanogen 4.2.12.2. Il miop Dream sembra funzionare benissimo ed è più veloce di prima.
Il problema quindi era proprio nel file .zip che conteneva un blocco non presente in altri download. Le tue istruzioni comunque sono mi sono state utilissime.
Grazie.
Riccardo
Ciao Scorp, innanzitutto complimenti per la guida più chiara di tante altre. Volevo chiederti se puoi aiutarmi.
Ho un htc dream tim che ho comprato anche io come te a mediaworld e vorrei sbloccarlo, ho seguito le tue primissime istruzioni, ma il mio pc con ubuntu a bordo al momento di visualizzare il device mi da questo errore, che può essere? grazie in anticipo
$ ./tools/adb devices
List of devices attached
????????????? no permissions
@rozzo: il primo step?
Ciao Scorp, grazie per la risposta.
Si praticamente mi fermo al primo step, ho abilitato l’usb debugging ma mi da l’errore che ti ho descritto.
In giro ho letto che forse è un problema di usb 1.
Tu che ne pensi? Grazie per la risposta.
Di default l’accesso seriale ai dispositivi connessi al sistema è limitato.
Cercando su google, la soluzione ottima pare esser questa:
http://mowmotheme.it/?p=5092
In alternativa, dovrebbe bastare eseguire la prima volta adb tramite sudo:
$ sudo ./tools/adb devices
Niente, la soluzione che mi hai linkato non funziona.
Avevo già provato a lanciare il comando con sudo ma il problema continua.
Voglio fare la prova con windows.
p.s. senti una cosa, ho la fotocamera che non funziona nel senso che l’applicazione fotocamera si avvia, mi chiede di schiacciare il tastino sul lato del telefonino, ma non succede nulla. Non sarà mica scassato o è bloccata anche questa funzione?
Grazie.
Io non riesco a capire una cosa.
Come si fa a copiare i file scaricati nella cartella windows sulla sd card e viceversa?
Dopo aver fatto il backup, esso è nella cartella nandroids, ma come lo copio su pc, usando windows xp???
mi sfugge…
Sì, non è molto intuitivo, devi clickare sulla notifica che appare su android appena colleghi il cavo usb al pc. E ripetere la stessa procedura per riattaccare la sd appena hai finito col trasferimento sul pc.
cavoli, sei davvero un grande.
veramente intuitivo zero
grazie
ciao scorp il mio adeso e andato non si acende mai …rimane solo il logo tim e …basta …dimi se si po fare qualcoza
ciao scorp senti una cosa non mi è chiara… ma il telefono poi rimane in lingua italiana dopo l’aggiornamento???
Il supporto multilingua è nativo in android, c’è solo da applicare un fix come indicato in un commento a questo articolo per il layout italiano della tastiera, altrimenti hai quello inglese di default.
ma uscirà prima o poi android 2 per htc dream?
è possibile aggiornare anche le open gl?
Grazie Scorp
la tua guida sembra davvero la migliore che ci sia al momento, anche se potevi farla un po’ più dettagliata per gli ignoranti come me :-P !! Ho quindi deciso di provarci anch’io, sono un po’ intimorito perchè davvero sono sicuro che sarà durissima ma ce la devo fare perchè questo telefono marchiato TIM è una bestemmia ad android. potrei farlo con ubuntu ma l’ho istallato da poco sul portatile e non ho abbastanza dimestichezza con questo sistema per provare a fare una cosa del genere.
Parto quindi con qualche domanda prima di iniziare a metterci le mani:
-fin dal primo step va fatto tutto con il cellulare collegato al pc?
-quei comandi che hai messo nei quadrati sono comandi da digitare sul pc? dove di preciso?
m’immagino la tua faccia mentre leggi queste domande! ahahhaha mi dispiace ma davvero sono un ignorante in materia!
Cosa vuol dire “se il vostro device viene riportato?”
io ho scaricato l’sdk e scompattato fastboot nella cartella tool. (devo dare qualcosa all’sdk? faccio partire il setup?)
Poi ho preso il cellulare e ho abilitato l’usb debugging. poi non capisco quel quadratino con i comandi.. cosa ci devo fare? li devo inserire da qualche parte?
ho collegato il telefono al pc e adesso mi chiede i driver.. cosa faccio?
GRAZIEEEEEEEEEEEEEEEEE
Ho seguito i passi del link che hai consigliato http://www.androidiani.com/wiki/Guida_all%27uso_di_ADB/Fastboot e sono riuscito ad installere i driver, adesso sono pronto per partire.. ho anche capito che nei quadratini ci sono i comandi da inserire nel promt del dos!
a me non vengono fuori i comandi del primo quadrato… mi viene una pagina nera che sparisce subito
:-S