2012/09/26

Samsung Galaxy Nexus GT-I9250 Google Factory Images

El Samsung Galaxy Nexus es un telefono muy bueno que se vende en todo el mundo, existen tres modelos:
Este tutorial enseña como flashear nuestro equipo para la version GT-I9250 GSM/HSPA+, pero tambien debe funcionar si estas en Estados Unidos y tienes el de Verizon o Sprint, solo hay que poner cuidado de descargar la imagen correcta para nuestro modelo de hardware ("maguro", "toro" o "toroplus").

Los telefonos "NEXUS" son los que Google manda a hacer con alguno de los fabricantes, Samsung en el caso del Galaxy Nexus, por eso Google es quien nos proporciona las actualizaciones directamente si lo compramos en la tienda Google Play Store o en alguna otra tienda libre.

Si compramos nuestro "NEXUS" con algun operador, viene con un firmware de Android "ajustado" por Samsung y hasta puede venir con algunas aplicaciones del operador, en este caso las actualizaciones se demoran mas, mientras Samsung ajusta la nueva version de Android y las aplicaciones solicitadas del operador. Esto logicamente genera demoras!

Si tenemos un "NEXUS" y Google nos da las imagenes de fabrica, podemos flashear nuestro equipo con el Android y ya seguir recibiendo las actualizaciones directamente via "OTA" (Over-The-Air) sin tener que esperar a Samsung y/o al operador.

Las imagenes se pueden ver aqui https://developers.google.com/android/nexus/images

Contar con la ultima version de Android nos puede brindar muchas cosas buenas, correccion de errores, nuevas funcionalidades y optimizaciones. Lo ideal es poder disfrutar de esos beneficios durante el tiempo de vida del telefono mientras Google le saque actualizaciones (el modelo anterior llamado Nexus S tiene casi 3 años y aun le sacan actualizaciones).

Otro tema y que por fortuna no afecta a los "NEXUS", es una capa que los fabricantes le ponen a Android para que se vea diferente, dicha capa puede hacer aun mas demorada la actualizacion de Android, algunos ejemplos son el "TouchWiz" de Samsung, el "Motoblur" de Motorola, el "Sense" de HTC. Todo eso es mas trabajo de programacion, es costoso, quita tiempo y que con las ultimas versiones de Andriod ya no son necesarias.

En el caso del Galaxy Nexus GT-I9250 GSM/HSPA+, todos los equipos son iguales en hardware denominado "maguro", y que vienen con alguna variante de Android "yakju" para los que se venden en Europa o "takju" para los que se venden en Estados Unidos y que vienen con el Google Wallet.

Para saber si nuestro equipo recibe las actualizaciones directamente de Google o de Samsung, podemos mirar los datos de "Baseband version" vemos que puede tener algo como esto:

I9250XXLA2 <- version de Samsung para Latino America

I9250XXLF1 <- version de Google para Estados Unidos

Para ver estos datos, vamos a Settings -> About phone

Al instalarle a nuestro telefono la imagen de fabrica, es como si se lo compraramos directamente a Google en lugar de a el operador! Por eso al eliminar la dependencia Samsung y operador, las actualizacines nos llegaran mas rapido, para hacer esto, debemos flashear el equipo...

Flashear un equipo es algo delicado, se debe hacer con cuidado y bien o nos podemos quedar con un ladrillito en lugar de un telefono!

Si se hace bien no debemos tener problemas, pero todo tiene un minimo de riesgo y puede que la garantia no lo cubra si lo dañamos haciendo mal el proceso, las instrucciones de abajo son de como yo lo hice, pero no puedo garantizar que les funcione o que el telefono no tenga que pasar por el centro de servicio si usted lo hace mal, es bajo su responsabilidad.

Para realizar el flasheo, se necesita de un computador Mac, tambien se puede hacer desde un computador con Windows, pero yo no tengo este ultimo (no me gusta Windows) y en Windows se requiere la descarga de otras cosas...

El proceso de flasheo elimina toda informacion del equipo como son fotos y musica, los contactos se almacenan en la cuenta de Google con lo que al iniciar nuevamente luego del flasheo se sincronizaran automaticamente. Por esto debemos hacer backup de nuestas fotos y musica!

Las imagenes para la version GSM/HSPA+ son:
 Factory Images "yakju" for Galaxy Nexus "maguro" (GSM/HSPA+)
 https://developers.google.com/android/nexus/images#yakju
 Factory Images "takju" for Galaxy Nexus "maguro" (GSM/HSPA+) (with Google Wallet)
 https://developers.google.com/android/nexus/images#takju

Se pueden usar "yakju" o "takju" indistintamente siempre que nuestro equipo sea "maguro", osea la version GT-I9250 GSM/HSPA+ ;-)

Actualizacion manual a 4.1.1 (JRO03C) <- Jelly Bean para "yakju":

1 Descargar Factory Image https://dl.google.com/dl/android/aosp/yakju-jro03c-factory-3174c1e5.tgz
2 Descomprimir el archivo .tgz en el home de nuestro usuario de Mac OS X
3 Descargar el fastboot de aqui ADT Bundle http://dl.google.com/android/adt/22.6.2/adt-bundle-mac-x86_64-20140321.zip tambien de aqui Google Drive
4 Descomprimir el archivo .zip y meterlo dentro de la carpeta  yakju-jro03c creada en el paso 2
5 Apagar el telefono
6 Encenderlo en "FASTBOOT MODE" presionar volumen arriba + volumen abajo + power

FASTBOOT MODE
LOCK STATE - UNLOCKED  <- si vemos esto podemos continuar, en caso contrario, mirar las notas al final

7 Abrimos el terminal
8 Darle permisos de ejecucion al archivo fastboot
$ chmod +x ~/yakju-jro03c/fastboot
9 Darle permisos de ejecucion al archivo flash-all.sh
$ chmod +x ~/yakju-jro03c/flash-all.sh
10 Con el editor del computador editamos el archivo llamado flash-all.sh para ajustar los path (rutas) y guardar los cambios, la parte de las rutas se ven asi:
...
  ~/yakju-jro03c/fastboot flash bootloader bootloader-maguro-primelc03.img
  ~/yakju-jro03c/fastboot reboot-bootloader
  sleep 5
  ~/yakju-jro03c/fastboot flash radio radio-maguro-i9250xxlf1.img
  ~/yakju-jro03c/fastboot reboot-bootloader
  sleep 5
  ~/yakju-jro03c/fastboot -w update image-yakju-jro03c.zip

11 Entrar al directorio donde tenemos el archivo fastboot junto con los archivos de la imagen
$ cd ~/yakju-jro03c
12 Correr el script
$ ~/yakju-jro03c/flash-all.sh
...
sending 'bootloader' (2308 KB)... OKAY
writing 'bootloader'... OKAY
rebooting into bootloader... OKAY
sending 'radio' (12288 KB)... OKAY
writing 'radio'... OKAY
rebooting into bootloader... OKAY
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: PRIMELC03
Baseband Version.....: I9250XXLF1
Serial Number........: 015y73651A122021 <- he cambiado esto para no publicar mi IMEI
--------------------------------------------
checking product... OKAY
checking version-bootloader... OKAY
checking version-baseband... OKAY
sending 'boot' (4366 KB)... OKAY
writing 'boot'... OKAY
sending 'recovery' (4708 KB)... OKAY
writing 'recovery'... OKAY
sending 'system' (396675 KB)... OKAY
writing 'system'... OKAY
erasing 'userdata'... OKAY
erasing 'cache'... OKAY
rebooting...

Nuestro telefono se re-inicia solito y ya lo podemos usar metiendo los datos de nuestra cuenta y clave de Google.

Si todo lo hicimos correctamente, al mirar nuestro telefono, nos debe mostar algo como esto ;-)


Es posible que luego cada que encendemos el equipo, nos muestre un cadadito abierto, para que el telefono no quede con el candadito abierto luego de hacer la actualizacion, seguimos los pasos 5, 6 y ejecutamos el comando de las notas y lo re-iniciamos.
-------------------------------------------------------------
Notas:
LOCK STATE - LOCKED para cambiarlo
$ ~/yakju-jro03c/fastboot oem unlock
volumen arriba + power para cambiarlo

LOCK STATE - UNLOCKED para cambiarlo
$ ~/yakju-jro03c/fastboot oem lock
-------------------------------------------------------------

Actualizacion:
Hoy (10/10/2012) salio la version 4.1.2 (JZO54K) <- Jelly Bean, siguiendo el manual y ajustando los nombres para la nueva version, he usado la imagen "Factory Images "takju" for Galaxy Nexus "maguro" (GSM/HSPA+) (with Google Wallet)" https://dl.google.com/dl/android/aosp/takju-jzo54k-factory-92830c0b.tgz sin ningun problema para actualizar mi telefono.

Al correr el script en el paso 12, nos muestra unos errores, pero no es importante, vemos algo como esto:
...
ERROR: could not get pipe properties
sending 'bootloader' (2308 KB)... OKAY
writing 'bootloader'... OKAY
ERROR: could not get pipe properties
rebooting into bootloader... OKAY
ERROR: could not get pipe properties
sending 'radio' (12288 KB)... OKAY
writing 'radio'... OKAY
ERROR: could not get pipe properties
rebooting into bootloader... OKAY
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
ERROR: could not get pipe properties
--------------------------------------------
Bootloader Version...: PRIMELC03
Baseband Version.....: I9250XXLF1
Serial Number........: 015y73651A122021
--------------------------------------------
checking product... OKAY
checking version-bootloader... OKAY
checking version-baseband... OKAY
sending 'boot' (4368 KB)... OKAY
writing 'boot'... OKAY
sending 'recovery' (4710 KB)... OKAY
writing 'recovery'... OKAY
sending 'system' (407055 KB)... OKAY
writing 'system'... OKAY
erasing 'userdata'... OKAY
erasing 'cache'... OKAY
rebooting... 

al mirar nuestro telefono, nos debe mostar algo como esto ;-)

13 comments:

  1. una pregunta amigo, al realizar la actualización a 4.1.2 nos borra la informacion actual del cel? osea queda como de fabrica?

    ReplyDelete
  2. Si, el flasheo borra todos los datos del telefono, fotos y musica, ya deje esa aclaracion en el manual, por favor re-leelo.

    ReplyDelete
  3. No lo Creo yo Actualize hoy mismo mi Nexus S con una factory Images en el comando (fastboot -w update image-yakju-jro03c.zip) si le quitas (-w) dejando (fastboot update image-yakju-jro03c.zip) te deja todos tus Datos bueno solo si tienes el bootloader desbloqueado te funcionara ya que cuando lo desbloqueas el Movil Borra todo.

    Nota: Todo lo hice en Windows 7 x64

    ReplyDelete
  4. Hola Vladimir...
    Efectivamente si quitas ese -w he leido que no borra tus datos, pero si lo tiene sera para evitar luego problemas. Ya es a gusto propio si lo hacen sin eso, gracias por comentaro aqui, seguro le sera util a otros ;-)

    ReplyDelete
  5. Buenas. Para hacer este procedimiento se debe tener acceso Root?

    ReplyDelete
    Replies
    1. No es necesario el root para el flasheo en el equipo con las imagenes de fabrica proporcionadas por Google!

      Delete
    2. Gracias por tu respuesta. Debo descomprimir el archivo antes? Es necesario alguna herramienta para el flasheo, o solo entrar al FASTBOOT MODE? Disculpa tantas preguntas

      Delete
    3. Debes leer todo el tutorial, en el se explican los pasos y que son en ese orden, 1, 2, 3, 4, 5, ... 12

      1. Bajas la imagen .tgz
      2. Descomprimes el .tgz y esto crea una carpeta
      3. Bajar un archivo llamado fastboot en .zip
      4. Descomprimes el .zip y lo metes en la carpeta que se crea en el paso 2
      5. Apagar el telefono y conectarlo con el cable USB al computador
      6. Encenderlo en modo "FASTBOOT MODE"
      "LOCK STATE - LOCKED" <- Por defecto estara asi, hay que cambiarlo a "LOCK STATE - UNLOCKED"

      Para hacer este cambio toca abrir el terminal del OS X y ejecutar el comando

      $ ~/yakju-jro03c/fastboot oem unlock

      Eso hara que el mensaje en tu telefono pase de "LOCK STATE - LOCKED" a "LOCK STATE - UNLOCKED"

      7. Abrir el terminal (ya lo debes tener abierto ya que lo usaste para desbloquear el telefono)
      8. Darle permisos de ejecucion al archivo fastboot (ya no es necesario)
      9. Darle permisos de ejecucion al archivo flash-all.sh (puede que no sea necesario)
      $ chmod +x ~/yakju-jro03c/flash-all.sh
      10. El archivo flash-all.sh lo abres con un editor y ajustal las lineas que se ven originalmente asi:

      fastboot flash bootloader bootloader-maguro-primelc03.img

      De modo que quede asi:

      ~/yakju-jro03c/fastboot flash bootloader bootloader-maguro-primelc03.img

      Tratare de explicarte que es esa parte extra que hemos añadido
      ~ <- la virgulilla en sistemas Unix indiga la carpeta del usuario
      /yakju-jro03c/ es la carpeta donde debe entrar y por ultimo el archivo que vamos a ejecutar, que seria fastboot y las instrucciones de lo que hara.

      Por eso en toda linea donde este fastboot le tenemos que agregar la parte ~/rutaalosarchivos/

      11. Para ejecutar el resto hay que entrar con el terminal a la carpeta rutaalosarchivos/ y en el ejemplo seria

      cd ~/yakju-jro03c

      12. Correr el proceso, que es asi:

      ~/yakju-jro03c/flash-all.sh

      En mi tutorial cuando se va a ejecutar un comando se puede ver el $ eso ya esta en el promt del terminal de Unix por lo que no hay que escribirlo.

      El proceso del punto 12 tardara unos minutos y puedes ver que en el telefono hace varias cosas, al finalizar tu telefono se reiniciara solito y quedara actualizado, luego si gustas puedes bloquear nuevamente el boot que pasaria de "LOCK STATE - UNLOCKED" a LOCK STATE - UNLOCKED y lo haces siguiento los pasos 5, 6 y en el terminal ejecutas esto:

      ~/yakju-jro03c/fastboot oem lock

      reinicias tu telefono y listo.

      Por favor, lee completamente el manual, luego leelo de nuevo y ya lo entenderas mejor.

      Si estas trabajando en un computador con Windows, ya si no te puedo ayudar, no es que no quiera, es que en Windows hay que instalar otras cosas y es mas dificil y yo no tengo un computador con Windows ni tiempo.
      Suerte!

      Delete
  6. Amigo ya leí bien el tutorial. No había visto q tenia q descargar el archivo fastboot . Gracias por tu valioso post. Muy instructivo.

    ReplyDelete
  7. diculpa si anteriormente le meti un custom firmware a mi i9250 y no respalde el IMEI como puedo restarurarlo al de fabrica? gracias, o si me recomiendes algun lugar donde puedan restaurar el IMEI. gracias

    ReplyDelete
  8. Will, no se como recuperar el IMEI, pero al instalar una rom (version de Android de terceros) no se afecta eso, que extraño...

    Pregunta por este lugar http://forum.xda-developers.com

    ReplyDelete
  9. Estimado, primero felicitarte por el contenido de este tema y se nota la experticia que tienes. Te escribo desde Chile, específicamente de Concepción. Te comento que queiro comprarme un Samsung Galaxy Nexus, pero con tu información no se si tendremos los que soportan conexiones 4G o LTE, si me pudieras entregar mas información para realizar una compra correcta te lo agradecria mucho.

    Saludos.

    Miguel Torres
    mtorres@aol.cl

    ReplyDelete
  10. Hola Miguel Torres,

    Gracias por los cumplidos.

    En estos momentos el "Samsung Galaxy Nexus" fue remplazado por el "LG Nexus 4 E960" http://www.gsmarena.com/lg_nexus_4_e960-5048.php y en Mayo 15 se hara el Google I/O y no sabemos que sacara nuevo Google (creo que un Nexus 4 con soporte LTE, pero son rumores).

    Todo lo que digo del Galaxy Nexus es aplicable para el Nexus 4, con la ventaja de que este ultimo es el que se vende actualmente, no se en Chile cual tienes mas a mano, si tienes ambos, no dudes en preferir el Nexus 4, pero ten presente que al Nexus 4 se le puede activar el soporte para LTE (no oficialmente) con lo que tienes un equipo que soporta GSM, GPRS, EDGE, HSPA, HSPA+ y con truco LTE, mientras que el Galaxy Nexus tiene GSM, GPRS, EDGE, HSPA, HSPA+ y no LTE ya que los otros dos modelos que soportan LTE, son CDMA/LTE pero solo funcionan en USA con Verizon Wireless o Sprint.

    Un tema bien complejo es lo que me preguntas sobre el 4G, permiteme explico algo sobre eso (tengo pendiente hacer un texto explicandolo en mi blog)...

    2G, 3G, 4G:
    Son en terminos de tiempo y describen en una forma global las velocidades de un equipo para datos, pero no la tecnologia empleada, es entonces cuando nos toca leer sobre el GSM, GPRS, EDGE, HSPA, HSPA+ y el LTE.

    GSM, GPRS y EDGE:
    Estan en la categoria de 2G, los chip en los equipos son cuatri-banda (ejemplo de GSMArena "2G Network GSM 850 / 900 / 1800 / 1900") y por fortuna en el mundo entero solo se usa alguna de esas bandas, por eso es que en el peor de los casos si tu telefono no tiene la banda que usa tu operador para 3G te funcionara en 2G.

    HSPA:
    Esta en la categoria de 3G y las bandas son las que se usan para el HSPA+

    HSPA+:
    Esta en la categoria de 4G, es una evolucion del HSPA (HSDPA para la bajada y HSUPA para la subida de datos), normalmente los equipos vienen con un chip para recibir HSPA+, que normalmente soporta solo tres bandas, por fortuna el Galaxy Nexus y el Nexus 4 son penta-banda (ejemplo de GSMArena en donde lo informan "3G Network HSDPA 850 / 900 / 1700 / 1900 / 2100") de modo que son lo mas compatible que existe para el HSPA+. Por South America casi todos funcionan en 850 o en 1900, pero Brazil y Venezuela tienen algun operador que trabaja en la banda 900. Hace un tiempo se genero una discusion sobre si el HSPA+ se podia llamar 4G, mira aqui si gustas http://www.phonearena.com/news/ITU-says-LTE-WiMax-and-HSPA--are-now-officially-4G_id15435 pero luego se metio en dicha categoria.

    LTE:
    Esta en la categoria de 4G, es lo ultimo en velocidad de datos, se dice que soporta teoricamente unos 100Mbps de bajada y 50Mbps de subida, pero al igual que pasa con el HSPA funciona en varias bandas, pero NO hay aun chip que sea pentabanda aun, creo que maximo soporta una o dos bandas, por ejemplo "4G Network LTE 700 MHz Class 13", pero puede ser que en Chile el LTE funcione en la banda 1700.


    CDMA y CDMA2000:
    No estoy muy seguro si entran entre 2G y 3G respectivamente, pero tienes que tener mucho cuidado con estas tecnologias CDMA, en USA creo que es en el unico lugar donde se usa CDMA, basicamente son las companias Verizon Wireless y Sprint los que tienen eso y en el resto del mundo si tienes un equipo que soporte CDMA no lo podras usar. Por eso ten cuidado que por intentar comprar el Galaxy Nexus que soporta LTE no salgas comprando el que venden para estas dos operadoras (que facilmente se venden en Amazon.com). Osea, que cualquier equipo que diga CDMA o CDMA2000 no lo debes comprar si no vives en USA.

    En resumen, si ya tienes en tu pais tecnologia LTE, debes verificar muy bien en que banda funciona si quieres que tu telefono funcione con el LTE.

    Si por el contrario, en tu pais lo que abunda es el HSPA o HSPA+, cualquiera de los dos equipos es genial.

    ReplyDelete