Aggiornare firmware Android su HTC Dream G1 Tim (Android 1.6 + CyanogenMod)

AVVISO: ho pubblicato una guida aggiornata per Android 2.1 + CyanogenMod 5.x

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:

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

  1. Abilita USB Debugging
  2. Fastboot
  3. Installazione cm-recovery
  4. Installazione Android 1.6 + CyanogenMod

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.

About gionn

IRC: gionn @ irc.freenode.com
This entry was posted in Hardware, it_IT and tagged , , , , , , , . Bookmark the permalink.

50 Responses to Aggiornare firmware Android su HTC Dream G1 Tim (Android 1.6 + CyanogenMod)

  1. NiK says:

    @Scorp: esatto, ho dovuto fare un hard reset (HOME+POWER e poi ALT+W) e poi è partito. Grazie

  2. stefano says:

    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

  3. Scorp says:

    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.

  4. stefano says:

    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.

  5. stefano says:

    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

  6. Antoine says:

    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

  7. Riccardo says:

    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

  8. Scorp says:

    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.

  9. Scorp says:

    @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.

  10. Scorp says:

    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

  11. Riccardo says:

    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

  12. rozzo says:

    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

  13. Scorp says:

    @rozzo: il primo step?

  14. rozzo says:

    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.

  15. Scorp says:

    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

  16. rozzo says:

    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.

  17. goodangel says:

    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…

  18. Scorp says:

    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.

  19. goodangel says:

    cavoli, sei davvero un grande.

    veramente intuitivo zero

    grazie

  20. iughen says:

    ciao scorp il mio adeso e andato non si acende mai …rimane solo il logo tim e …basta …dimi se si po fare qualcoza