Restaurando mi iPhone en tiempos modernos
Todo venía OK con mi iPhone 3GS desde la última vez que le hice un update al FW 3.1.2 con el baseband 05.11, hasta que ayer, por ninguna razón en particular, el teléfono dejó de bootear. El teléfono anduvo igual que siempre, hasta que en cierto momento fui a hacer una llamada y no tenía señal, y también tenía muy poca barería. Le hice un reboot, pero nunca volvió a arrancar, quedandose trancado en la manzanita de arranque. Probé de conectarlo al cargador por si era un tema de batería, pero después de 1 hora conectado y sin arrancar, supe que el problema era grave.
“La solución no debería de ser demasiado complicada” me decía yo mismo en mi cabeza, “un simple restore tendría que funcionar”, pero en el fondo me molestaba el miedo de no poder hacer un restore sin un update de la mano, lo cual significaba que me iba a actualizar el FW a 3.1.3, para el cual no hay jailbreak todavía, y peor aún, al nuevo baseband 05.12, para el cual no hay unlock. Lo que tenía que hacer era un restore con el viejo 3.1.2 que tengo guardado en la maquina (haciendo option+restore en mac o shift+restore en windows, y eligiendo el ipws correspondiente). Para mi desilución, no funcionó, dado que iTunes verifica el restore con los servidores de Apple y no deja hacer un restore con un FW viejo. Lo primero que se me ocurrió fue volver a intentarlo sin conexión a internet, para que el iTunes no pudiera conectarse, pero era obvio que no iba a funcionar, y mi subestimación a la seguridad en Apple no dio frutos, ya que no deja hacerlo tampoco con la excusa de que “iTunes no se pudo comunicar con el servidor”.
Recurriendo a mi amigo Google, termino en una página que explica como hacer un FW downgrade de 3.1.3 a 3.1.2. Si bien eso no es exactamente lo que necesito, si lo es en parte, ya que explica como instalar el 3.1.2 en épocas de 3.1.3.
El proceso no es muy fácil ya que requiere intervención en la terminal (cosa que no tengo mucha idea de como funciona), pero de atrevido y metiendo mano, le encontré la vuelta. Básicamente consiste en modificar la información que le dice al iTunes cual es el servidor de Apple para que haga la verificación en un servidor falso que le da el OK al iTunes para realizar el restore. El telefono se restaura con el FW 3.1.2, y de ahí hay que hacer el jailbreak y Unlock en caso de utilizarlo con Ancel (como mi caso).
En resumidas cuentas, el proceso es el siguiente:
- Tener el FW 3.1.2 en la maquina. Yo ya lo tenía desde hace tiempo porque nunca los borro, pero si ese no es el caso, se puede descargar de acá, o se puede encontrar fácilmente en Google. (nota que el ipsw del link correspodne al iPhone 3GS, para el iPhone 3G deberían de buscarlo en Google)
- Cambiar los hosts de la maquina para que el iTunes verifique el restore en el servidor falso de Saurik (no tengo idea como hacer esto en Windows, pero Googlear no le hace mal a nadie). En Mac, abrir la terminal y escribir el siguiente comando:
$ sudo nano/private/etc/hosts
(el simbolo de $ no va dado que indica la raiz donde están parados)Ingresar la contraseña de administrador del sistema.Las primeras lineas del host file que comienzan con el simbolo # son simplemente comentarios. Abajo, hay un listado de hostnames y su mapeo en IPs (ej. 127.0.0.1 – localhost). Lo que hay que hacer es navegar al final de la lista con las flechas del teclado, y agregar una nueva linea abajo con los datos 74.208.10.249 gs.apple.com. Es importante que haya solamente un espacio entre el IP y el dominio. El host file debería de verse algo así:

Salir del host file presionando CTRL+X, y guardar los cambios (Y y luego ENTER)
Borrar el cache de DNS con la siguiente linea en la terminal:
$ dscacheutil -flushcache - Colocar el iPhone en modo DFU (no en recovery mode). Para colocar el iPhone en modo DFU, hay que presionar el botón de Power (el de arriba) al mismo tiempo que el boton de Home por 10 segundos, y exactamente a los 10 segundos, soltar el botón de Power, pero seguir presionando el de Home por 10 segundos más. iTunes avisará que hay un teléfono en recovery mode (para darte cuenta si entró en recovery o en DFU, la diferencia es que DFU no muestra nada en la pantalla del teléfono, mientras que recovery mode muestra el simbolo de “connect to iTunes”).
- Hacer un custom restore, haciendo Option+Click en el botón de restore. Ahí, hay que elegir el ipsw que hemos bajado en el punto 1.
- Listo, el teléfono se restaurará con el firmware original, y al encender estará trabado, como de fábrica.
Ahora resta hacer el jailbreak del telefono, cosa que es demasiado fácil con la aplicación BlackRa1n de GeoHot, la cual pueden descargar de http://blackra1n.com
Una vez hecho el Jailbreak, dentro de la aplicación BlackRa1n que quedó instalada en el iPhone, pueden instalar el Cydia, Rock, pero más importante aún, el BlackSn0w, lo cual es la aplicación que hace el unlock para cualquier SIM. Recuerden que en este momento tienen que contar con conexión a internet en el teléfono (Wi+Fi) para que BlackRa1n pueda descargar BlackSn0w.
Listo. El teléfono quedó pronto. Ahora tienen para rato haciendo restore de backups de iTunes, o volviendo a bajar APTs de Cydia, salvo que hayan hecho un backup de Cydia con Rock. Esto es algo muy comodo ya que Rock backupea todas los packages instalados de Cydia o Rock, cosa de poder restaurar el teléfono por completo en cuestión de minutos.
Suerte, y espero que esto le sirva a alguno que como yo se le haya jodido el teléfono y quiera hacer un restore manteniendo el jailbreak en 3.1.2.
Salú.






