sábado, 31 de diciembre de 2011

El retorno del rey.

Desde octubre de 2009 cuento con una XBOX 360 que mi amigo MagmaD me vendió amablemente. Se trata de una de las XBOX Premium de primera generación, que después de mostrar el famoso "Aro Rojo de la Muerte" fue resucitada por el siempre hábil y confiable departamento de Servicio Técnico de Microsoft. Antes de vendérmela, mi amigo la mandó flashear del lector con el penúltimo firmware iXtreme de la fecha (el 1.4) y actualizó el dashboard a la versión que cubría el xploit necesario para poder grabar por JTAG la memoria NAND del XBOX 360. Yo no me conecto al XBOX Live, en parte por falta de tiempo, falta de dinero y principalmente por falta de internet alámbrico.

En invierno de 2009 salió a la venta el juego de Bayonetta, y por desgracia mi XBOX 360 no podía leer el disco del juego. Resulta que los juegos de XBOX 360 van cambiando sus medidas de seguridad al paso del tiempo, para complicarle la existencia a los usuarios que hacen uso de respaldos de discos para jugar. A esos cambios en la arquitectura del disco se les llama WAVES, y en mi caso, el firmware que tenía mi lector (iXtreme 1.4) sólo podía leer discos de WAVE 1 y WAVE 2. Para solventar el problema, existe una herramienta llamada PPF-o-matic, que permite arreglar las particiones de las imágenes de disco para que coincidan con el WAVE 2 (iXtreme 1.4) o WAVE 3 (iXtreme 1.5).

Sin embargo, recientemente Microsoft lanzó un par de medidas de seguridad que le están dando varios dolores de cabeza a mucha gente. Dichas protecciones son el AP 2.5 y el formato de disco XGD 3. Ambas medidas de seguridad se encuentran en los principales juegos de la actualidad, como son Gears of War 3, Halo Reach y Call of Duty - Modern Warfare 3. Por suerte, son juegos que no me interesan en lo más mínimo, así que mi XBOX 360 se mantuvo inmutable ante esa circunstancia.

Sin embargo, recientemente apareció un juego que si llamó mi atención, se trata de The King of Fighters 13. Este título no cuenta con ninguna de las protecciones mencionadas en el párrafo anterior, sin embargo el disco es de un WAVE muy avanzado (WAVE 13). Para correr un juego de WAVE 12 o WAVE 13 es necesario actualizar la interfaz de usuario del XBOX 360 a la versión más reciente. Pues dispuesto a probar el título en cuestión, traté de aplicar la actualización del juego, pero saltó un error y la XBOX 360 se trabó. Después de desconectar de la corriente eléctrica el XBOX 360 y volverlo a encender, noto aliviado que todo estaba normal. Traté de volver de aplicar la actualización, esta vez por medio de USB y el error volvió a saltar.

Después de documentarme un poco en internet, descubrí que el causante del error que impedía a mi XBOX 360 actualizar era el firmware iXtreme 1.4 que tenía mi lector. Las actualizaciones más recientes graban en el lector de consola un nuevo firmware que soporta el formato de disco XGD 3, pero si la actualización detecta que el firmware del lector está alterado se detiene. La solución al problema es relativamente simple, hay que devolver al lector su firmware de fábrica antes de aplicar la actualización.

Solución simple, pero no sencilla, mucho menos cuando no se dispone de una computadora de escritorio. Mi amigo MaxClowReed me ofreció su tiempo y su computadora de escritorio para realizar el flasheo del lector, sin embargo debido compromisos laborales y circunstancias personales no se pudo concretar el acuerdo, además es un tanto arriesgado desplazar una XBOX 360 o una computadora de escritorio por las siempre seguras calles y avenidas del Estado de México.

Después de documentarme un poco sobre el procedimiento de flasheo del lector, decidí hacer un experimento. Lo primero es conocer al enemigo, en este caso, es preciso saber cuál es el modelo del lector que tiene la XBOX 360, ya que existen de muchos modelos y fabricantes. Mi XBOX 360 cuenta con un lector Samsung (conocido en los foros como Sammy) y hasta donde pude averiguar, es uno de los más fáciles de flashear. Lo segundo es recolectar los materiales necesarios para el flasheo. En mi caso, solo dispongo de una computadora tipo notebook, modelo Compaq Presario V3000, célebre porque tiene su propia versión del "Aro Rojo de la Muerte" conocida como "Focos Azules de la Muerte". Bueno, mi notebook todavía enciende si la tratas con cariño y se encuentra de buen humor, además de que es compatible con la utilidad de flasheo de línea de comandos llamada DOSFLASH, necesaria para llevar a cabo el proceso de flasheo.

Otra utilidad que es necesaria es el FIRMTOOL, que permite extraer la llave del lector y colocarla en otro firmware. Cada XBOX 360 se encuentra pareado con un lector de DVD, si la unidad lectora se cambia por otra cuya llave no coincida, el sistema no funciona. Al modificar el firmware del lector es muy importante grabar la llave (única e irrepetible) de nuestro lector en el firmware, para que no haya inconvenientes.

En cuanto a hardware, hay dos problemas. El primero es que el uníco puerto SATA con que cuenta la notebook es especial para discos duros de laptop, por lo que su terminal tiene una forma peculiar que encaja en un caddy. El caddy contiene un disco duro convencional de 2.5 pulgadas y un adaptador para el caddy. La forma que encontré para solventar este problema fue fabricar una extensión SATA, cortando un cable SATA convencional y soldándole un conector macho a los alambres. Dicha extensión se conecta al adaptador del caddy. El segundo problema es la alimentación del lector, ya que la notebook no cuenta con terminales de alimentación como los que tiene el XBOX 360. Este problema se solventó cortando un cable USB y soldando en los extremos del cable negro y rojo un pedazo de alambre calibre 22. Dichos cables se insertan en el cable de alimentación del lector del XBOX 360, el rojo en el pin 8 y el negro en el pin 7. Con esos dos pines basta para alimentar la tarjeta lógica del lector y poder manipular la memoria serial que contiene el firmware.

Ahora, sólo es cuestión de conectar ambos cables a la notebook. Para mi comodidad, yo coloqué la notebook apoyandose en sus bisagras, formando una "v" con la pantalla y el panel del CPU. De esta forma tuve acceso al cable SATA para verificar su conexión, ya que estaba un poco inestable. Para realizar el flasheo se necesita formatear una memoria USB y hacerla arrancable. En Windows se puede utilizar la utilidad de HP para hacer discos arrancables. También se necesitan los archivos de alguna versión de DOS, que pueden proceder del disquete de arranque de un Windows de la serie 9x, del DOS 6.2 o de FreeDOS. Una vez que se formatea la USB, se hace arrancable y se le instalan los archivos de sistema COMMAND.COM, IO.SYS y MSDOS.SYS es necesario copiar los ejecutables de DOSFLASH y FIRMTOOL.

Hasta este punto ya se puede proceder con el flasheo del lector, se conectan la memoria USB, el cable USB que usaremos como alimentación y el cable SATA del lector a la computadora. Se enciende la computadora y se configura el BIOS para que arranque desde la unidad USB. Una vez que haya arrancado la computadora y muestre el cursor del COMMAND.COM, hay que teclear DOSFLASH.

DOSFLASH nos mostrará una lista de los dispositivos ATAPI conectados a la computadora, en el puerto SATA Primario Maestro debe aparecer el lector de XBOX 360. Posteriormente nos preguntará si deseamos mandar unos códigos hasta que el lector responda a lo que contestamos Y. Posteriormente quedará el status del lector en 0x50, le quitamos la alimentación al lector (desconectando el cable USB) y el status cambiará a 0xD0, posteriormente volvemos a conectar el cable USB y el status cambiará a 0x70 y el programa seguirá con su proceso hasta que pregunta cuál dispositivo vamos a flashear, contestamos el número que está a la izquierda del lector de XBOX 360 (en mi caso fue 4) y qué acción queremos tomar en el lector. En este caso respondemos r (Read) ya que primero vamos a extraer el firmware actual del lector (para recuperar la llave del lector). Nos solicitará un nombre de archivo para guardar el firmware, a lo cual podemos emplear cualquier nombre que queramos pero se recomienda ORIG.BIN. Se generará en nuestra USB un archivo de 256 kB que contiene el firmware actual de nuestro lector y su preciada llave. Es importante respaldar este archivo. En mi caso, después de leer el firmware la notebook se trabó, por lo que la apagué y no hubo inconvenientes.

Tenemos que grabar en nuestra memoria USB el firmware que queremos poner a nuestro lector, en mi caso el firmware stock del lector Samsung MS28, al cual le puse simplemente el nombre de archivo STOCK.BIN. Tecleamos en la línea de comandos FIRMTOOL ORIG.BIN STOCK.BIN para que el programa inyecte la llave de nuestro firmware actual (ORIG.BIN) al firmware que vamos a ponerle a nuestro lector (STOCK.BIN).

Finalmente volvemos a encender la notebook, tecleamos DOSFLASH y repetimos el proceso de lectura del firmware, hasta el punto donde pregunta la acción que deseamos tomar en el lector, en esta ocasión responderemos w (Write) y enseguida tecleamos el nombre del firmware que deseamos grabar en el lector (en mi caso STOCK.BIN). Al terminar de grabar la memoria del lector, mi notebook se volvió a trabar, por lo que la apaque y de nuevo no hubo inconvenientes.

En este punto volvemos a conectar el lector en el XBOX 360 y reensamblamos la consola. Al actualizar por USB la consola ya no apareció ningún error. En un punto de la actualización la consola me pidió que conectara el disco duro u otro medio de almacenamiento debido a que la actualización necesitaba de 190 MB adicionales de espacio. Supongo que en XBOX 360 con memoria interna no debe aparecer dicho aviso.

Finalmente se concretó la actualización y mi XBOX 360 perdió la capacidad de leer respaldos, pero ganó la posibilidad de leer los discos originales más nuevos. Es posible en este punto volver a flashear el lector de la consola con un firmware iXtreme LT+, repitiendo todo el procedimiento y sólo cambiando el firmware objetivo. Sin embargo hice la prueba con el LT+ 2.01 y la consola no pudo leer ningún respaldo con el WAVE parcheado, así que opté por revertir este último proceso.

Por último, un saludo y feliz 2012.

Seguimiento de trasteos.

Hola, ¿Cómo están? Bienvenidos sean de nueva cuenta a este nuestro blog, donde yo escribo los debrayes y ustedes abuchean mis malos chiste...