Empecé este tutorial sin saber si podría tener mi teléfono andando otra vez, pensando que en el peor de los casos tendría que comprarme un aparato nuevo. Mi Milestone tiene más de un año de vida y cuando lo compré no era un modelo nuevo, así que tenía cierta idea de renovarme si algo salía mal.
Pero ya han pasado 9 días y tengo que decirles que ha sido todo un éxito, mi teléfono funciona en todo a la perfección sin ningún problema a la vista con la versión de Android 2.3.7 y siento que me han regalado un nuevo teléfono. Realmente vale la pena hacer esta prueba. El teléfono además pasó a funcionar a 1Ghz de los 600Mhz a los que andaba de fábrica. No veo un gran impacto en la batería que me sigue durando un día de trabajo.
Necesitamos:
- cable USB
- el teléfono totalmente cargado
- una terminal de Linux preferentemente o una de Windows. Hice todo con Linux
- Alguna forma de copiar archivos en la SDCARD, sea con un lector en la compu, via WIFI con alguna app de android, via USB con la compu, lo que sea. El OpenRecovery tiene un modo Storage que es muy útil.
Seguí las instrucciones que están aquí: pero si estoy escribiendo mi propia guía es porque yo quería instalar el Cyanogen 7.1 y además porque quería poner un poco más de detalle en mi “paso a paso”. Honestamente cuando uno está cambiando la ROM de un teléfono, sobre todo la primera vez, lo mejor es tener todo muy explicado.
Lo primero que hice fue actualizar el bootloader que segúnh parece está bloqueado para el Milestone, no así para el Droid. El modelo Droid de Motorola ES DISTINTO!!
La versión que tenía era la 90.78, a pesar de haber actualizado a la versión 2.1 del sistema operativo hace unos meses. Me bajé la versión del bootloader y usé el sbf_flash para cambiarlo. El sbf_flash es un binario para linux que ejecuté en mi Ubuntu con Natty. No tiene librerías dinámicas así que no creo que ninguno tenga problemas con otro linux. Para Windows sé que hay otro programa, pero no lo probé, ni sé muy bien dónde está. Cuando pueda actualizo la info acá.
Empecemos! BootLoader
Apagamos el teléfono. Desplegamos el teclado y apretamos la flecha que va para arriba en el pad que está a la derecha, ese cuadrado dorado. Con esa tecla apretada encendemos el teléfono y casi inmediatamente aparecemos en el bootloader. Allí podremos ver la versión que está instalada actualmente.
Bootloader 90.78 Battery OK OK to Program Connect USB Data Cable
Conectamos el cable USB, ahora debería decir
Bootloader 90.78 Battery OK OK to Program Transfer Mode: USB
Con el cable USB conectado, abrimos una terminal en Linux y hacemos un lsusb
# $ tristan@nexus:/install/Android/Milestone$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ... Bus 002 Device 012: ID 22b8:41d0 Motorola PCS ...
Si nos bajamos el archivo sbf_flash y no es ejecutable primero tenemos que darle los permisos (gracias Guille!).
# $ tritan@nexus:/install/Android/Milestone$ chmod +x sbf_flash
Bien, nos aparece el teléfono. Ahora ejecutamos sudo ./sbf_flash bugeada90_78.sbf:
# $ tritan@nexus:/install/Android/Milestone$ sudo ./sbf_flash bugeada90_78.sbf SBF FLASH 1.23 (mbm) http://opticaldelusion.org === bugeada90_78.sbf === 00: RDL03 0x82000000-0x8204CFFF F125 AP 01: CG47 0xB0EE0000-0xB12A07FF 679E AP >> waiting for phone: Connected. >> uploading RDL03: 100.0% -- OK >> verifying ramloader -- OK >> executing ramloader -- OK >> waiting for phone: Connected. >> sending erase -- OK >> uploading CG47: 100.0% -- OK >> verifying CG47 -- OK >> rebooting
El teléfono se reinició normalmente, con el bootloader nuevo. El teléfono seguía funcionando normalmente, tal y como estaba. Repasé las aplicaciones, el tel: todo como antes. Reinicié el teléfono con el bootloader para ver si se había modificado el texto en algo, pero estaba exactamente igual.
El próximo paso debería ser entonces usar el OpenRecovery para hacer un backup de la rom actual y después instalar la nueva. Ahora me voy a preparar unos huevos fritos.
Preparando el OpenRecovery
- bajamos el OpenRecovery, yo lo bajé de acá
- extraemos el contenido del zip y nos queda un directorio OpenRecovery
- Dentro de esa carpeta crear otra con el nombre nandroid, para guardar allí el backup
- en la carpeta updates hay que meter todos los archivos que uno quiere ejecutar en el tel, en su zips. Yo tengo 3 archivos:
update-cm-7.1.0.2-Milestone-KANG-signed.zip
Radio_3G-brazil236-update-nosign.zip <- lo saqué de acá al fondo de la página
gapps-gb-20110828-signed.zip lo saqué de acá, uno puede bajarse el que quiera
ACTUALIZACION!!!
acá hay una mucho mejor con CHAT DE VIDEO!! <- lo voy a probar!!
gapps-gb-20111029-signed.zip - copiar la carpeta OpenRecovery y el arhivo updates.zip en el directorio raíz de la tarjeta SD del teléfono
El OpenRecovery tiene un modo Storage que nos permite acceder a la tarjeta mientras estamos en modo recuperación es genial para arreglar cosas que no hicimos bien, o para cambiar versiones de archivos.
Instalación
Reiniciar el teléfono en modo recovery iniciando el teléfono con la X (la equis) del teclado físico apretado. Ahí vamos. Debería ejecutar el openrecovery y desde ahí tendría que hacer el backup de la rom actual… no? Bien, veamos:
- iniciamos el tel con la x
- aparece un triangulo
- Apretamos vol up y el botón de la cámara
- apply update.zip
Ahora se ejecuta el openrecovery
Nandroid -> backup -> backup all
Ahí estamos haciendo el backup
Ahora tengo que limpiar todo y para eso hago un
Wipe Dalvik Cache, Wipe Data / Factory Reset and Wipe Cache Partition
Aquí me mandé una metida de pata que explico más tarde
Buscamos la opción Apply Updates y ejecutamos la instalación en este orden:
- update-cm-7.1.0.2-Milestone-KANG-signed.zip <- Esta es la rom misma
- Radio_3G-brazil236-update-nosign.zip <- Esto es para que podamos atender el teléfono, sin esto no tenemos señal
- gapps-gb-20110828-signed.zip <- las aplicaciones de Google más importantes, fundamentalmente el Market.
Reiniciamos el teléfono con la opción Reboot System del Open Recovery y ya deberíamos tener el teléfono andando.
Ajustes
Qué genial! Ya tenemos el teléfono andando! Aunque tenemos ciertos problemas que se pueden arreglar.
- Está en inglés
- el market se cuelga espantósamente
- El 3G no me funcionaba así que fuí a mirar los APNS y me encontré que no tenía ninguno. El archivo que dice Brasil tiene info de Brasil, de Uruguay, pero de Argentina no.
Lo primero es fácil, se acomoda en Settings, Language y ahí aparece el español
Es increíblemente fácil arreglar el market, hay que ir al teclado en settings y configurar el teclado de Android en inglés de USA
El 3G no anda porque no ha quedado definido ningún APN:
Ajustes / Conexiones inalámbricas / Redes móviles APN
Allí agregué 3 distintos:
Apretamos la opción APN Nuevo y llenamos estos datos:
Nombre
Argentina:Movistar:Emocion
APN
internet.gprs.unifon.com.ar
Proxy
200.5.68.10
Puerto
8080
Nombre de usuario
Internet
Contraseña
Internet
Servidor
<No establecido>
MMSC
<No establecido>
Proxy MMS
<No establecido>
Puerto de MMS
<No establecido>
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
default
Protocolo APN
IPv4
Otro más, el DUN
Nombre
Argentina:Movistar:DUN
APN
internet.gprs.unifon.com.ar
Proxy
<No establecido>
Puerto
<No establecido>
Nombre de usuario
Internet
Contraseña
Internet
Servidor
<No establecido>
MMSC
<No establecido>
Proxy MMS
<No establecido>
Puerto de MMS
<No establecido>
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
dun
Protocolo APN
IPv4
Uno más, el MMS!
Nombre
Argentina:Movistar:MMS
APN
mms.gprs.unifon.com.ar
Proxy
<No establecido>
Puerto
<No establecido>
Nombre de usuario
mms
Contraseña
mms
Servidor
<No establecido>
MMSC
http://mms.movistar.com.ar
Proxy MMS
200.68.32.239
Puerto de MMS
8080
MCC
722
MNC
07
Tipo de autenticación
PAP
Tipo de APN
mms
Protocolo APN
IPv4
Estos datos están en la página de los foros de Movistar. Muy útil.
Otras cositas que me encontré:
Instalé youtube del market
El flash ya está instalado
Tuve que definir el número de teléfono del voice mail. En Movistar es el 555.
Antes de terminar les cuento que si uno sabe cómo son las cosas, toda la actualización lleva unos minutos nada más. Me llevó más tiempo porque me mandé algunas macanas y se los cuento:
Lo primero que hice mal fue copiar los updates des-zipeados en la sdcard. La segunda macana fue utilizar una ROM que no correspondía y el teléfono se me colgaba apenas arrancaba. Muy feo! gracias al cielo me encontré con este mensaje que me aclaraba todo
To answer this question, the most likely problem is that you did the same thing I did. Instead of downloading this .zip file: ‘update-cm-7.0.0-RC3-0.07-11.03.12-Milestone-signed.zip’, you downloaded this one: ‘update-cm-7.0.0-RC3-0.07-11.03.12-Droid-signed.zip’.
The subtle different is the hardware between the Droid and the Milestone. Download the Milestone one because it seems like people are going straight to Cyanogenmod’s site and not realizing that the Milestone isn’t officially supported there.
…
Claro, lo bajé de acá http://download.cyanogenmod.com/?type=stable&device=sholes
Y tenía que bajarlo de acá
https://github.com/nadlabak/android/downloads
Les paso una página con más datos de esto:
http://android.doshaska.net/cm7
llegué a todo esto entrando a la página de teléfonos no soportados de cyanogen
Acá hay uno que no probé
http://web.cs.dal.ca/~darndt/other/moto-milestone-flash/
De las cosas geniales que tiene el teléfono:
- La interfaz es muy configurable y funcional
- viene con una terminal
- viene con el dropbear que es un servidor ssh, sólo hay que configurarlo. El autostart no me anduvo así que hice lo que dice acá
- viene con el openvpn, y hay que instalarle los certificados por el navegador web: el ca.crt y el archivo pc12 para la firma digital, el resto se configura en settings
- viene con una linterna que usa el led
- soporta temas
- dice que viene con un modo icógnito para el navegador pero nunca lo probé
- tiene una cosa que se llama Phone Goggles para filtrar a los indeseables… muy interesante
- podés hacer un dibujo secreto para desbloquear el teléfono
- Viene con un DSP Manager para el sonido del teléfono
Hey, he estado tratando estos mismos pasos desde hace un buen rato, pero el proceso solo me llega hasta “executing ramloader” luego de alli pasa a “Waiting for phone” y nada mas.
He probado con dos cables diferentes, en distintos puertos pero no logro que pase de alli. ¿tendras alguna idea de que podria ser?
Gracias de antemano.
Le faltarán permisos a tu puerto USB? Yo lo ejecuté como un usuario normal, pero quizás le está faltando permisos a tu puerto USB.
En principio, si cuando haces el lsusb te aparece el teléfono, el cable no debería tener ningún problema. Desenchufa todos los otros elementos usb que no sean imprescindibles y vuelve a intentarlo. Ejecuta con el sudo adelante si tienes problemas de permiso con el puerto usb.