[Tutorial] Dumpea tu NAND 256/512Mb Jasper en 10 minutos

1, 2, 3, 4
Este hilo es específico para el dumpeo de las NANDS de 256/512mb de las consolas Jasper en aproximadamente 10 minutos, en vez de las 8/16 horas que se tarda por puerto paralelo (LPT). Asi es como se hace:

Antes de que comiences el proceso necesitas:
_ Una copia de “gentoo-livecd-xenon-beta-v2.iso” grabado en un CD-R o en un DVD-R (a mi me funcionó en CD, pero algunos lectores solo pillan el DVD. No hace falta que tu lector esté flasheado);
_ Un pendrive de tamaño mínimo el de tu NAND formateado en FAT32;
_ Teclado y ratón USB.
_ Debes tener soldados tanto el Nandumper como el JTAG.
_ Tener intalado Xell en tu NAND

Para instalar Xell antes que nada debes hacer varios dumpeos exitosos y sin errores de los 2 primeros megas de tu NAND a través del puerto LPT. Se hace con el comando “nandpro.exe lpt: -r2 <nombrequequieras.bin>” desde un prompt de msdos (inicio-ejecutar-cmd) . Haz 3 copias y compáralas con el Total Commander. Si son idénticas, continúa con el tutorial. De lo contrario, repite. Verifica que el flashconfig que te da es el correcto (FlashConfig:008A3020 para 256Mb y FlashConfig:00AA3020 para 512Mb). Es necesario el diodo en la mayoría de los casos.
Ahora procederemos a crear el archivo lflash.c . Copia el siguiente código tal cual y cópialo en un bloc de notas, cambiando la extensión *.txt por *.c

/* placed in public domain, written by Felix Domke <tmbinc@elitedvb.net> */
    /* USE ON YOUR OWN RISK. */
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <byteswap.h>
#include <string.h>

int nandsize;

extern void *mmap64 (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) __THROW;

volatile void * ioremap(unsigned long long physaddr, unsigned size, int sync)
{
    int axs_mem_fd = -1;
    unsigned long long page_addr, ofs_addr, reg, pgmask;
    void* reg_mem = NULL;

    /*
     * looks like mmap wants aligned addresses?
     */
    pgmask = getpagesize()-1;
    page_addr = physaddr & ~pgmask;
    ofs_addr  = physaddr & pgmask;

    /*
     * Don't forget O_SYNC, esp. if address is in RAM region.
     * Note: if you do know you'll access in Read Only mode,
     *    pass O_RDONLY to open, and PROT_READ only to mmap
     */
    if (axs_mem_fd == -1) {
        axs_mem_fd = open("/dev/mem", O_RDWR|(sync ? O_SYNC : 0));
        if (axs_mem_fd < 0) {
                perror("AXS: can't open /dev/mem");
                return NULL;
        }
    }

    /* memory map */
    reg_mem = mmap64(
        (caddr_t)reg_mem,
        size+ofs_addr,
        PROT_READ|PROT_WRITE,
        MAP_SHARED,
        axs_mem_fd,
        page_addr
    );
    if (reg_mem == MAP_FAILED) {
        perror("AXS: mmap error");
        close(axs_mem_fd);
        return NULL;
    }

    reg = (unsigned long )reg_mem + ofs_addr;
    return (volatile void *)reg;
}

int iounmap(volatile void *start, size_t length)
{
    unsigned long ofs_addr;
    ofs_addr = (unsigned long)start & (getpagesize()-1);

    /* do some cleanup when you're done with it */
    return munmap((unsigned char*)start-ofs_addr, length+ofs_addr);
}

#define STATUS  1
#define COMMAND 2
#define ADDRESS 3
#define DATA    4
#define LOGICAL 5
#define PHYSICAL 6

volatile unsigned int *flash;

void sfcx_writereg(int reg, int value)
{
    flash[reg] = bswap_32(value);
}

unsigned int sfcx_readreg(int reg)
{
    return bswap_32(flash[reg]);
}

void readsector(unsigned char *data, int sector, int raw)
{
    int status;
    sfcx_writereg(STATUS, sfcx_readreg(STATUS));
    sfcx_writereg(ADDRESS, sector);   
    sfcx_writereg(COMMAND, raw ? 3 : 2);

    while ((status = sfcx_readreg(STATUS))&1);

    if (status != 0x200)
    {
        if (status & 0x40)
            printf(" * Bad block found at %08x\n", sector);
        else if (status & 0x1c)
            printf(" * (corrected) ECC error %08x: %08x\n", sector, status);
        else if (!raw)
            printf(" * illegal logical block %08x\n", sector);
        else
            printf(" * Unknown error at %08x: %08x. Please worry.\n", sector, status);
    }

    sfcx_writereg(ADDRESS, 0);

    int i;
    for (i = 0; i < 0x210; i+=4)
    {
        sfcx_writereg(COMMAND, 0);
        *(int*)(data + i) = bswap_32(sfcx_readreg(DATA));
    }
}

void flash_erase(int address)
{
    sfcx_writereg(0, sfcx_readreg(0) | 8);
    sfcx_writereg(STATUS, 0xFF);
    sfcx_writereg(ADDRESS, address);
    while (sfcx_readreg(STATUS) & 1);
    sfcx_writereg(COMMAND, 0xAA);
    sfcx_writereg(COMMAND, 0x55);
    while (sfcx_readreg(STATUS) & 1);
    sfcx_writereg(COMMAND, 0x5);
    while (sfcx_readreg(STATUS) & 1);
    int status = sfcx_readreg(STATUS);
    if (status != 0x200)
        printf("[%08x]", status);
    sfcx_writereg(STATUS, 0xFF);
    sfcx_writereg(0, sfcx_readreg(0) & ~8);
}

void write_page(int address, unsigned char *data)
{
    sfcx_writereg(STATUS, 0xFF);
    sfcx_writereg(0, sfcx_readreg(0) | 8);

    sfcx_writereg(ADDRESS, 0);

    int i;

    for (i = 0; i < 0x210; i+=4)
    {
        sfcx_writereg(DATA, bswap_32(*(int*)(data + i)));
        sfcx_writereg(COMMAND, 1);
    }

    sfcx_writereg(ADDRESS, address);
    sfcx_writereg(COMMAND, 0x55);
    while (sfcx_readreg(STATUS) & 1);
    sfcx_writereg(COMMAND, 0xAA);
    while (sfcx_readreg(STATUS) & 1);
    sfcx_writereg(COMMAND, 0x4);
    while (sfcx_readreg(STATUS) & 1);
    int status = sfcx_readreg(STATUS);
    if (status != 0x200)
        printf("[%08x]", status);
    sfcx_writereg(0, sfcx_readreg(0) & ~8);
}



extern volatile void * ioremap(unsigned long long physaddr, unsigned size, int sync);
extern int iounmap(volatile void *start, size_t length);

int dump_flash_to_file(const char *filename)
{
    printf(" * Dumping to %s...\n", filename);
   
    FILE *f = fopen(filename, "wb");
   
    int i;
    for (i = 0; i < nandsize; i += 0x200)
    {
        unsigned char sector[0x210];
        readsector(sector, i, 1);
        if (!(i&0x3fff))
        {
            printf("%08x\r", i);
            fflush(stdout);
        }
        if (fwrite(sector, 1, 0x210, f) != 0x210)
            return -1;
    }
    printf("done!   \n");
    fclose(f);
    return 0;
}

int verify_flash_with_file(const char *filename, int raw)
{
    FILE *f = fopen(filename, "rb");
    if (!f)
        return -1;

    if (raw == -1) /* auto */
    {
        fseek(f, 0, SEEK_END);
   
        if (ftell(f) == nandsize / 0x200 * 0x210)
        {
            raw = 1;
            printf(" * detected RAW nand file, verifying in raw mode.\n");
        } else
        {
            raw = 0;
            printf(" * detected short nand file, verifying in cooked mode.\n");
        }
        fseek(f, 0, SEEK_SET);
    }
   
    printf(" * Verifying flash with %s...\n", filename);
   
    int i;
    for (i = 0; i < nandsize; i += 0x200)
    {
        unsigned char sector[0x210], sector_flash[0x210];
        if (!(i&0x3fff))
        {
            printf("%08x\r", i);
            fflush(stdout);
        }
        if (fread(sector, 1, 0x210, f) != 0x210)
            return i;
        readsector(sector_flash, i, raw);
        if (sector_flash[0x200] != 0xFF) /* bad sector */
        {
            printf(" * ignoring bad sector at %08x\n", i);
            continue;
        }
        if (memcmp(sector, sector_flash, 0x210))
        {
            printf(" * VERIFY error at %08x\n", i);
            return -2;
        }
    }
    printf("done!   \n");
    fclose(f);
    return i;
}

int flash_from_file(const char *filename, int raw)
{
    printf(" * Flashing from %s...\n", filename);

    FILE *f = fopen(filename, "rb");
    if (!f)
        return -1;

    if (raw == -1) /* auto */
    {
        fseek(f, 0, SEEK_END);
   
        if (ftell(f) == nandsize / 0x200 * 0x210)
        {
            raw = 1;
            printf(" * detected RAW nand file, flashing in raw mode.\n");
        } else
        {
            raw = 0;
            printf(" * detected short nand file, flashing in cooked mode.\n");
        }
        fseek(f, 0, SEEK_SET);
    }
   
    int i;
    for (i = 0; i < nandsize; i += 0x4000)
    {
        unsigned char sector[0x210*32], sector_flash[0x210*32];
        memset(sector, 0xFF, sizeof(sector));
        if (!fread(sector, 1, 0x210*32, f))
            return i;

        printf("%08x\r", i);
        fflush(stdout);
       
        readsector(sector_flash, i, 0);
       
        int phys_pos;
       
        if (!raw)
        {
            phys_pos = sfcx_readreg(PHYSICAL);
       
            if (!(phys_pos & 0x04000000)) /* shouldn't happen, unless the existing image is broken. just assume the sector is okay. */
            {
                printf(" * Uh, oh, don't know. Reading at %08x failed.\n", i);
                phys_pos = i;
            }
            phys_pos &= 0x3fffe00;
       
            if (phys_pos != i)
                printf(" * relocating sector %08x to %08x...\n", i, phys_pos);
        } else
            phys_pos = i;

        flash_erase(phys_pos);
        int j;
        for (j = 0; j < 32; ++j)
            write_page(phys_pos + j * 0x200, sector + j * 0x210);
    }
    return 0;
}

int main(int argc, char **argv)
{
    flash = ioremap(0xea00c000, 0x1000, 1);
   
    printf(" * flash config: %08x\n", sfcx_readreg(0));
   
    sfcx_writereg(0, sfcx_readreg(0) &~ (4|8|0x3c0));
   
    int reg = sfcx_readreg(0);

    switch(reg)
    {
    case 0x00AA3020:
        nandsize = 512 * 1024 * 1024;
        break;
    case 0x008A3020:
        nandsize = 256 * 1024 * 1024;
        break;
    case 0x00023010:
        nandsize = 16 * 1024 * 1024;
        break;
    default:
        printf(" * unknown flash config %08x\n", reg);
        return 1;
    }
   
    if (argc != 2 && argc != 3)
    {
        printf("usage: %s <current> [<new>]\n", *argv);
        return 2;
    }

    const char *orig = argv[1];
    int res = verify_flash_with_file(orig, 1);
    if (res == -1)
    {
        dump_flash_to_file(orig);
        res = verify_flash_with_file(orig, 1);
    }

    if (res != nandsize)
    {
        if (res == -2)
            printf(" * verify failed!\n");
        else if (res > 0)
            printf(" * verified correctly, but only %d bytes.\n", res);
        else
            printf(" * original image invalid\n");
        printf(" * I won't flash if you don't have a full, working backup, sorry.\n");
        return 1;
    }
    printf(" * verify ok.\n");
   
    if (argc > 2)
    {
        const char *image = argv[2];
       
        flash_from_file(image, -1);
        res = verify_flash_with_file(image, -1);
        if (res > 0)
            printf(" * verified %d bytes ok\n", res);
        else
            printf(" * verify failed! (%d)\n", res);
    }
    return 0;
}


Copia el archivo lflash.c en la raíz de tu pendrive formateado en FAT32.
Descarga “jasper_6723_hack_256MB_512MB.rar” de los sitios habituales (busca EasyXbins.exe en Google para acceder de manera rápida al FTP de Xbins.org). Extrae “jasper_6723_hack_256MB_512MB.bin” en el mismo directorio que el Nandpro2.0b y renómbralo a “xell.bin”.

Flashea tu NAND con “xell.bin” desde un prompt de msdos con el comando “nandpro.exe lpt: -w256/512 xell.bin”. Solo se reemplazarán los ~2Mb primeros, asi que no tardará casi nada.
Si enciendes la consola ahora cargará la pantalla azul y podrás copiar tu CPUKey. Hazlo.
Apaga la consola. Enciende la consola desde el botón eject del lector, introduce el “gentoo-livecd-xenon-beta-v2” (que previamente grabaste como imagen en el PC ) y vuelve a apagar la consola.
Enchufa en el usb trasero el pendrive que contiene el archivo lflash.c ; el ratón en el frontal izquierdo y el teclado en el frontal derecho.
Enciende la consola. Tras la pantalla azul, bootearás desde el Livecd de Gentoo. Espera pacientemente. Es normal que se congele durante la carga la primera vez. Si ocurre, reinicia la consola. Una vez cargue todos los archivos llegarás a una pantalla que te pide nombre de usuario y contraseña. No escribas nada y espera a que desaparezca. Tras unos 5 minutos habrás llegado un escritorio parecido al de Windows.

Si tienes la consola por componentes o VGA puede que no veas el escritorio completamente. Dirige el cursor del ratón a la esquina superior izquierda. Clica en “Applications-Accesories-Terminal”. Ahora viene lo bueno. Has de copiar tal cual y paso por paso los siguientes comandos. Recuerda que cuando escribas el passwd “su” no aparecerá nada en la pantalla, permanecerá invisible. Encontrarás dificultados a la hora de escribir los simbolos especiales como las comillas, la barra vertical, el igual, etc. Todos los puedes conseguir con combinaciones de teclas Shift ó Alt Gr + las teclas que se encuentran a la izquierda del botón Enter del teclado (la zona de los corchetes, las interrogaciones, el punto y punto y coma…). Escribe paso a paso los siguientes comandos en terminal.

sudo passwd
su
su
cd Desktop
mkdir flash
dmesg | grep -i "SCSI device"
sudo su -
sudo passwd
su
su
mount -t vfat -o uid=gentoo,gid=users /dev/sda1 /home/gentoo/Desktop/flash
cd /home/gentoo/Desktop/flash
gcc lflash.c
chmod +x a.out
./a.out backupnand.bin


Cuando pulses Enter por última vez empezará el dumpeo de tu NAND. Es normal, y ocurrirá, que la primera vez se quede congelado durante el proceso. Si esto ocurriera no desesperes, que no ha pasado nada. Simplemente apaga la consola y deja el pendrive en el estado inicial, con el fichero lflash.c únicamente. Repite todo el proceso. A mi me salió a la 2da.
Enhorabuena, ya tienes tu NAND 256/512Mb y te has ahorrado varias horas de tu tiempo.

*****Este tutorial es una mera traducción. Créditos a sus autores originales. Ni yo ni nadie se hace responsable de lo que ocurra a tu consola siguiendo este tutorial*****
Tutoriales originales en Xbox-Scene:
http://forums.xbox-scene.com/index.php?showtopic=699283
http://forums.xbox-scene.com/index.php? ... &p=4588976
Esta bien :P Bastante util te ahorra el usb, pero luego como haces para unir las dos imagenes? la que sacas primero de los 2Mb y la resultante del dump desde linix?
O no haria falta? lo digo por si quieres abrirla con el algun programa tipo degraded o flash tool.
Messiahs escribió:Esta bien :P Bastante util te ahorra el usb, pero luego como haces para unir las dos imagenes? la que sacas primero de los 2Mb y la resultante del dump desde linix?
O no haria falta? lo digo por si quieres abrirla con el algun programa tipo degraded o flash tool.


Luego tienes que reemplazar los primeros 2Mb que dumpeaste al principio por los 2Mb primeros de backupnand.bin obtenido mediante Gentoo usando un editor Hexadecimal. Es lo que dice el autor original del tutorial. ¿Cómo hacerlo? Lo ignoro [+risas]
Estaba yo hace un par de días escribiendo este mismo tutorial, pero al ver que se colgaba tanto pasé del tema.

Para pegarle los 2 primeros megas, aparte de con editor hexadecimal, copiar todo lo del dump de 2mb y pegarlo en el principio del dump de 512 la otra forma de hacerlo es, si no me falla la memoria:

nandpro 2mbdump.bin: -w2 512dump.bin

No tengo el readme del nandpro delante, pero creo que es así.

Un saludo.
¿Para la xenon tambien es viable?

esque no me saca 2 nand iguales por lpt :(
Desde XEX loader en el apartado flash si os fijais veis los archivos de la nand...

Me pregunto si hacer una copia desde ahí es fiable y si se puede escribir tambien para futuras actualizaciones de XBR.

Los que no sacais 2 iguales os recomiendo un for en un bar y dejarle hasta que os aburrais, después padle el programita que te genera una nand buena de varias malas.

Un saludo
el Cygnos v2 s compatible con las jasper de 256/512??? lo digo porke yo la tengo y esta muerta de risa, yake todavia no tenemos un booter o un loader no????

de todas formas con elcytgnos v2 si fuera compatible tambien se puede hacer la copia de la nand ¿¿¿¿ aunke no se caunto tardara.

a ver si lo de las jasper 256/512 se acelera un pokitin porke el tema con respecto a estas consolas esta muy parado.
Sini escribió:¿Para la xenon tambien es viable?


Lee la primera línea del tutorial. Según mi traducción no lo es. Según fox_el_negro, si.

fox_el_negro escribió:ya lo habia comentado hace mucho tiempo!!!!!!!!

los nuevos xell escriben 50 blokes asi ke nomas deven dumpear esos 50 blokes
nandpro lpt: -r16 tunand.bin 0 50 enter esto es para sacar 50 blokes
nandpro lpt: -w16 xell.bin enter estos xell son d 50 blokes (ya ke tengas tu foto)
nandpro lpt: -w16 tunand.bin 0 50 creo k no necesitas poner los valores d los blokes

con esto acortamos el tiempo en cada consola!!!!
La verdad es que ya lo había leído y me parece un solución estupenda para los que tenemos 256MB/512MB, pero tengo una inquietud... ¿no dicen por ahí que entre copias de la nand no se ha de encender la consola por que el contenido de la misma cambia? Entonces lo de mezclar dos dumps no sé si sera buena idea (aunque funcione). Puede que un par de bits cambiados no se noten a primera vista, pero a saber que efectos secundarios pueden tener.

Salvo que esos 2MB inciales nunca se modifiquen. En esos 2MB estará el cargador y otra información que supongo que es poco susceptible de ser modificada. En el post anterior se comenta que loader solo modifica los 50 primeros bloques de la memoria, luego quizá lo mejor es, para evitar inconsistencias, dumpear solo esos 50 bloques tal como dice fox_el_negro.
Estaría bien conocer la estructura de esos 2 primeros MB's (yo no lo he visto en ningun foro) o que alguien hiciese la prueba dumpeando primero con LPT la NAND completa (en una de 16MB xej que se tarda poco) y luego con este método a ver si sale todo igual.
pregunta¿ y para los que no tenemos lectores y por querer recuperar la key hisimos un lio, osea tengo la consola en xell pero la copia de la nand esta corrupta y ya le di al comando borrar. que se puede hacer en ese caso?
ok esto me parece bien, pregunta:

El Jtag sigue siendo el mismo para las plaas jasper de 256/512 Mb???????? y podrian mostrar el diagrama???
Puedo restaurar a su forma original la consola despues de haber hecho lop de la pantaalla azul, es decir ya que obtuve la nand puedo volverla restaurar esos 2M que se extrajieron a su estado normal , para poder jugar???????? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-?

Y por ultimo sigue siendo valido para todas las consolas (que sean o no EXPLOITEABLES)????????????
Alguien ha probado este sistema y confirma que funciona¿
Me sumo a ivanpd, ¿alguien lo ha probado?. Que cuente un poco su experiencia y los problemas que ha tenido.

Un saludo.
ivanpd escribió:Alguien ha probado este sistema y confirma que funciona¿


El autor del hilo y, si todo va bien, yo esta misma tarde.
ya nos contaras don pelayo
don pelayo escribió:
ivanpd escribió:Alguien ha probado este sistema y confirma que funciona¿


El autor del hilo y, si todo va bien, yo esta misma tarde.


No te desesperes, tarda en cargar un capazo el dichoso gentoo, y una vez lo tienes todo hecho la hijaperra se cuelga a mitad dumpeo. Yo a la segunda que me lo hizo mandé el gentoo a freir esparragos xD.
Estoy leyendo la nand de una jasper, en la caja pone 256mb, pero en flashconfig me da la de 512, normal?
PotajiTo escribió:Estoy leyendo la nand de una jasper, en la caja pone 256mb, pero en flashconfig me da la de 512, normal?


Pues macho, blanco y en botella, tienes una NAND de 512 xDDDDD

Un saludo.

EDITO por si no que claro, en todas las cajas pone 256, pero las primeras salieron con 256 - lo que te quita el NXE y los ficheros de la NAND y claro, queda menos de 256 y la gente se queja, así que ponen la de 512 - los mismo y ya quedan + de 256, por lo menos eso tenía entendido yo.
En mi caja tambien pone 256 y la consola es de 512, así que bienvenido al mundo del dumpeo eterno xD
A ver, intento escribir en la nand y me dice que no puede leer el xell.bin, que claro, he descargado de donde he podido porque xboxbins lleva casi una semana off y no hay manera... El problema, yendo al grano, es que no me deja escribir la nand. ¿POR QUE?
Si, me he dado cuenta sanpedro, la caja miente xD
Por cierto recomendais sacar 16mb de nand por si acaso? O todo lo importante está en los 2mb primeros? Yo pensaba sacar un par de copias si era de 256, pero con la de 512 ya me da pereza, aunque fiable es bastante, las 4 primeras lecturas que hize de los 2mb salieron iguales a la primera.
Por cierto creia que no arrancaria sin lector, pero no ha dicho ni mu la consola.
EDITO: el comando "nandpro.exe lpt: -w512 xell.bin" no lleva el 0 detras no? Que hace exactamente el 0?
don pelayo escribió:A ver, intento escribir en la nand y me dice que no puede leer el xell.bin, que claro, he descargado de donde he podido porque xboxbins lleva casi una semana off y no hay manera... El problema, yendo al grano, es que no me deja escribir la nand. ¿POR QUE?


Pitisaurio, no me dejaba escribir la nand porque el comando era erroneo. Le faltaba " 0" al final (espacio y cero despues del bin.
Hize "nandpro.exe lpt: -w512 xell.bin" y no me da señal de video (por vga), se me enciende la luz verde del centro y ahi se queda, lo he dejado un rato y no saltan las 3 luces. Supongo que es mal jtag? Aunque parece que esta bien.
Vuelvo a poner el kernel original y me lo carga sin problemas.
EDITO: Ignorad este mensaje, he revisado el jtag y ya me carga el xell.
Una cosa que me pasa ahora es que se me enciende sola de vez en cuando xD Supongo que tiene que ver con el diodo de debajo?
De 5 intentos, solamente una llego al final y se congelo en la verificación.
Y el dump resultante tiene 1548 Bad Pages y pesa 498mb.
Mi pregunta seria el tamaño es correcto?
A ver si el autor del hilo podría contestar sobre el tamaño del dump.

Saludos
ayudarme!!! mi 360 no enciende !!! he echo todo al pie de la letra pero kuando voy a encender la consola para ke me muestre la pantalla azul no enciende!! nada de nada tengo luz naranja en el cargador
eilex17 escribió:ayudarme!!! mi 360 no enciende !!! he echo todo al pie de la letra pero kuando voy a encender la consola para ke me muestre la pantalla azul no enciende!! nada de nada tengo luz naranja en el cargador


Fijate que no tengas un pegote de estaño en las patillas de la NAND, que a mi ya me ha pasado.
he echo ke vuelva a encender flasheando la copia de 2mb ke ice antes de meter xell.bin me podrian explicar porke no me enciende una vez flasheado -w256 xell.bin 0
Yo he conseguido correr el xell, pero ahora por alguna razón el botón de encer la xbox no funciona, si enciendo con el mando si funciona, a veces también se enciende sola sin tocar nada. Esto pasa tanto con el xell como con la nand original. Supongo que sera algo de las soldaduras? Pero no se muy bien en que pueden estar mal, incluso soldé a la placa rf en vez de a la parte de abajo y es igual.
PotajiTo escribió:Yo he conseguido correr el xell, pero ahora por alguna razón el botón de encer la xbox no funciona, si enciendo con el mando si funciona, a veces también se enciende sola sin tocar nada. Esto pasa tanto con el xell como con la nand original. Supongo que sera algo de las soldaduras? Pero no se muy bien en que pueden estar mal, incluso soldé a la placa rf en vez de a la parte de abajo y es igual.


Comprueba que el cable que va a la placa rf en el otro extremo este soldado en el punto correcto con el diodo bien puesto.
Saludos
Al final tenia un corto en el nand dumper, ahora estoy cargando el gentoo, pero salen 4 luces rojas mientras, esto sigue, pero las 4 luces estan ahi y asustan xD Es normal?
Bueno, pues acabo de realizar el backup por este método y me ha tirado un montón de errores o algo así como "bad sectors"... También lo hizo con el nanddumper pero fueron menos. Es que esto ha sido la leche. Durante el proceso de verificación ha empezado a soltar bad sectors a toda leche y al final me ha dicho "verified OK"!!!! :-? :-? :-? [boing] [boing] [boing] [mad] [mad] [mad] Decir que la consola no se ha colgado en ningún momento. Ni al meter el linux por primera vez ni durante el backup de la nand... En fin, voy a ver si lo abre el degraded y a hacer otra copia a ver qué pasa esta vez.

Un saludo.

EDIT: El degraded no lo abre tirándome el mismo mensaje que cuando probé a abrir el respaldo de la nand que hice vía lpt: bad file length.... :-?

En fin, creo que voy a respaldar los primeros 70 megas y meter el xbr a pelo y que sea lo que Dios quiera...

EDIT 2:
SanPedro escribió:Estaba yo hace un par de días escribiendo este mismo tutorial, pero al ver que se colgaba tanto pasé del tema.

Para pegarle los 2 primeros megas, aparte de con editor hexadecimal, copiar todo lo del dump de 2mb y pegarlo en el principio del dump de 512 la otra forma de hacerlo es, si no me falla la memoria:

nandpro 2mbdump.bin: -w2 512dump.bin

No tengo el readme del nandpro delante, pero creo que es así.

Un saludo.


Treméndamente útil. Hice la prueba y descubrí que el comando correcto sería: nandpro.exe 512/256dump.bin: -w2 2mbdump.bin

De este modo he comparado una nand que hice hace 2 días mediante nandumper con la nand resultante de la lectura con gentoo y la sustitución de los 2 primeros megas hechos mediante nandumper, y el nandcompare me da que no encuentra bloques no-coincidentes, lo cual no deja de ser curioso si tenemos en cuenta que he apagado y encendido la consola desde entonces para realizar el proceso de gentoo (además del Xell) y debería haber diferencias más allá de esos 2 megas. O tal vez las diferencias se produzcan en esos 2 megas y de ahí que no encuentre diferencias. Comparando con total commander también dice que los dos ficheros son idénticos.

En fin, que esto demuestra un poco que si he leído la nand mediante gentoo y nanddumper y el resultado es el mismo (con los mismos errores en determinados bloques), quiere decir que la copia que tengo debe de ser válida a pesar de esos errores (que de siempre se ha dicho que las nand pueden venir con bloques defectuosos de fábrica (mi wii traía 2). En fin, voy a hacer una segunda copia de los primeros 70 megas con nanddumper y esta tarde Xbrebooteo!!!

PD: Este método de lectura de la nand además de que parece efectivo, es muy muy rápido. Lo que no he probado es a restaurar la copia de la nand resultante de todo este proceso. No sé si pitisaurio lo ha hecho. El caso es que no pienso probar a noser que sea absolutamente necesario, con lo que nos quedamos sin saber al 100% que esto funciona bien.
Alguien que ya ha utilizado este metodo, puede decirme si despues de haber extraido la nand de 2Mb y haber parchado con el xell, ha vuelto a restaurar esos 2Mb que se obtuvieron, para poder usar la consola normalmente???????????
TiTaNB escribió:Alguien que ya ha utilizado este metodo, puede decirme si despues de haber extraido la nand de 2Mb y haber parchado con el xell, ha vuelto a restaurar esos 2Mb que se obtuvieron, para poder usar la consola normalmente???????????

Si yo los he restaurado, el xell son unos 1,6mb, vuelves a escribir los 2mb que extraiste y esta todo igual.
PotajiTo escribió:
TiTaNB escribió:Alguien que ya ha utilizado este metodo, puede decirme si despues de haber extraido la nand de 2Mb y haber parchado con el xell, ha vuelto a restaurar esos 2Mb que se obtuvieron, para poder usar la consola normalmente???????????

Si yo los he restaurado, el xell son unos 1,6mb, vuelves a escribir los 2mb que extraiste y esta todo igual.


Pues probado queda. Genial!!
No tengo a la mano teclados/mouse USB, me sirve un adaptador PS2-USB???
JOSEunit10 escribió:No tengo a la mano teclados/mouse USB, me sirve un adaptador PS2-USB???


Estas cosas... Difícil decir. Yo para el teclado tuve que usar uno inalámbrico pero funcionó sin problemas. Mientras el teclado vaya a la derecha y el ratón a la izquierda, me figuro que el hecho de que utilices un adpatador dé igual. De todas formas prueba, no pierdes nada. :)
OK. Muchas gracias por las respuesta.

En ves de comprar ese buscare de los que son únicos para poner a cada uno :D
¿Si se tiene la resistencia R6T3 quitada se puede usar este metodo?
Lembo escribió:¿Si se tiene la resistencia R6T3 quitada se puede usar este metodo?

Claro, porque no va a poderse.
Por cierto, despues de hacer este método, un par de cosas:
-Los pendrives USB 1.0 son mucho mas fiables, peta muchisimo menos que un pen nuevo.
-Algunos pendrives no hay forma de conseguir montarlos, por muy formateados en fat32, de los 3 pendrives que tengo, 1 no habia forma.
PotajiTo escribió:
Lembo escribió:¿Si se tiene la resistencia R6T3 quitada se puede usar este metodo?

Claro, porque no va a poderse.
Por cierto, despues de hacer este método, un par de cosas:
-Los pendrives USB 1.0 son mucho mas fiables, peta muchisimo menos que un pen nuevo.
-Algunos pendrives no hay forma de conseguir montarlos, por muy formateados en fat32, de los 3 pendrives que tengo, 1 no habia forma.


Ummm, yo prácticamente tengo solo memorias micro SD es lo único que uso y tengo un adaptador USB, me sirve igual???.

Otra cosa, para los que han echo este método lo recomendarían mas que por LPT???, realmente el tiempo es un punto a favor, pero lo que realmente quiero es tener una buena copia de mi nand. Tengo Jasper de 256mb.

Es mas fiable este método o el LPT???, con cual es mas seguro sacar una buena copia???.

Un saludo!.
a mi siempre se me queda blokeado en en dumping e provado dos psp y 3 pendrives y siempre igual?? algun consejo??'
Supongo que el gentoo no tendra soporte para el cable hdmi, no? Es que el vga se lo tengo prestado a un amigo y solo la puedo conectar por hdmi
JOSEunit10 escribió:
PotajiTo escribió:
Lembo escribió:¿Si se tiene la resistencia R6T3 quitada se puede usar este metodo?

Claro, porque no va a poderse.
Por cierto, despues de hacer este método, un par de cosas:
-Los pendrives USB 1.0 son mucho mas fiables, peta muchisimo menos que un pen nuevo.
-Algunos pendrives no hay forma de conseguir montarlos, por muy formateados en fat32, de los 3 pendrives que tengo, 1 no habia forma.


Ummm, yo prácticamente tengo solo memorias micro SD es lo único que uso y tengo un adaptador USB, me sirve igual???.

Otra cosa, para los que han echo este método lo recomendarían mas que por LPT???, realmente el tiempo es un punto a favor, pero lo que realmente quiero es tener una buena copia de mi nand. Tengo Jasper de 256mb.

Es mas fiable este método o el LPT???, con cual es mas seguro sacar una buena copia???.

Un saludo!.



Yo diría que este método, al estar libre de interferencias, es más fiable. Además, a mí me dio una copia exacta a la obtenida mediante el nanddumper, y luego el dumper me escribió el XBR bien, con lo que de alguna manera un método vino a confirmarme que el otro funcionaba y viceversa, en mi caso particular, claro.
yo tambien e probado como 15 o 20 veces con VGA y componentes,3 pendrives distintos,y el gentoo grabado en cd y dvd no se que mas probar y siempre colgado,alguna sugerencia aparte del pendrive???
un saludo


me edito: despues de cambiar al quinto pendrive,cuatro copias seguidas de la nand iguales.
por fin,voy a ver el siguiente paso.

un saludo y gracias.
Muchas gracias don pelayo por contar tus experiencias! y toda la ayuda que has venido dando, el día que me toque haré también una por LPT, me tragare las 8 horas pero hay que estar seguro XD

No ando muy apurado, esperare un XBR mas estable, pero quiero tener bien guardadas varias copias de la nand y tener el apaño del nanddumper y jtag echo [toctoc]

Un saludo!.
Hola que tal, bueno ps les comento he leido mucho para poder volver a instalar juegos en el disco duro, y cada vez que leo alguna noticia o alguna novedad, todas son por lo general consolas que no son Jaspeer de 256 y 512, ademas que al parecer sonm estas las mas dificilees de recuperar, bueno mi idea es que se hiciera un tema exclusivo para estas consolas...... solo comento......
A ver si alguien me ayuda por favor! arranco el xell, despues de hacer lo del flasheo de nand de los 2 mb y puedo ver la cpukey pero no la dvdkey, me dice kv_get_dvd_key failure, que el correct kayvault esta en el offset 0x4200, es esto normal? es normal que muestre el cpukey pero no el dvdkey? ademas ya he copiado el archivo iflash.c en el pendrive y he puesto el gentoo, pero no me carga el gento.

QUe alguien me ayude por favor.
Analisa escribió:A ver si alguien me ayuda por favor! arranco el xell, despues de hacer lo del flasheo de nand de los 2 mb y puedo ver la cpukey pero no la dvdkey, me dice kv_get_dvd_key failure, que el correct kayvault esta en el offset 0x4200, es esto normal? es normal que muestre el cpukey pero no el dvdkey? ademas ya he copiado el archivo iflash.c en el pendrive y he puesto el gentoo, pero no me carga el gento.

QUe alguien me ayude por favor.


Mmmm, la verdad es que supongo que la dvd key no te la dará por que el "formato" de la nand de las consolas de 256 y 512 mb es diferente. Prueba a abrir tu nand con el 360 flash tool metiendole tu cpu key y demás llaves y probablemente te de tu dvd key (digo probablemente por que la verdad es que nunca lo he probado con una consola de nand grande).

En cualquier caso, graba el gentoo en un cd (la imagen es fácil de encontrar) y te debe ir sin problemas.

En cualquier caso no te preocupes tanto que ya tienes la cpu key, que es lo importante. La DVD la puedes sacar del lector fácilmente (en caso de encontrarte con problemas inesperados)

Un saludo.
Keihanzo escribió:
Analisa escribió:A ver si alguien me ayuda por favor! arranco el xell, despues de hacer lo del flasheo de nand de los 2 mb y puedo ver la cpukey pero no la dvdkey, me dice kv_get_dvd_key failure, que el correct kayvault esta en el offset 0x4200, es esto normal? es normal que muestre el cpukey pero no el dvdkey? ademas ya he copiado el archivo iflash.c en el pendrive y he puesto el gentoo, pero no me carga el gento.

QUe alguien me ayude por favor.


Mmmm, la verdad es que supongo que la dvd key no te la dará por que el "formato" de la nand de las consolas de 256 y 512 mb es diferente. Prueba a abrir tu nand con el 360 flash tool metiendole tu cpu key y demás llaves y probablemente te de tu dvd key (digo probablemente por que la verdad es que nunca lo he probado con una consola de nand grande).

En cualquier caso, graba el gentoo en un cd (la imagen es fácil de encontrar) y te debe ir sin problemas.

En cualquier caso no te preocupes tanto que ya tienes la cpu key, que es lo importante. La DVD la puedes sacar del lector fácilmente (en caso de encontrarte con problemas inesperados)

Un saludo.


La gentoo la he grabado en un cd, pero si flasheo el xbr me funcionara bien? el caso que no tengo una copia entera de la nand, solo de los 2 primeros megas. Hay algun tutorial del 360 flash tool? es que no me gustaria hacer nada hasta tener una copia perfecta de mi nand por si acaso.

gracias por tu respuesta.
Se sabe si hay una version mas actualizada del Iflash que de menos errores???, y también si ay alguna manera de actualizar el XBR por Xell para las jasper de 256mb???.

Un saludo!.
Bueno, si me podeis echar una mano, mañana tengo que montar todo esto y quiero tener los comandos claros.

Tengo una Jasper 256MB y lo primero que quiero hacer es obtener la nand por LPT, como me imagino que me dara algun error, me gustaria hacerlo tambien por gentoo para comprobar que al menos por los 2 metodos (LPT y Gentoo) me da la misma NAND y aunque tengan errores, no sera por el NandDumper.

Entonces con los cambios que han habido del ultimo XBR_JasperBB_8955_3.rar, para hacerlo con gentoo, ¿seria algo asi?

1 - Obtener los 2 primeros megas de mi nand por LPT

nandpro.exe lpt: -r2 mis2MB.bin

2 - Hacer varias copias y comprobar que son iguales y que el CB es correcto.

3 - Descomprimir el fichero en XBR_JasperBB_8955_3.rar e instalar los 2 primeros megas.

nandpro lpt: -w2 XBR_JasperBB_8955_3.bin

Ahora seria arrancar el Gentoo como el tutorial y... ¿seria asi?

1 - Ya teniendo todo preparado en Gento obtener la NAND. (bueno, varias y comprobar que son iguales)

./a.out backupnand.bin

2- Irme al ordenador y añado mis2MB.bin al inicio de los extraidos por gentoo

nandpro.exe backupnand.bin: -w2 mis2MB.bin

3 - Comprobar que el fichero backupnand.bin, es igual al obtenido por LPT.

Si lo hago de esta manera y compruebo que tanto por Gentoo como por LPT me da errores, pero son iguales, ¿podria decir que tengo una copia correcta de la NAND?.

¿seria asi con el nuevo XBR?.

Don Pelayo, ¿es correcto el comando asi: nandpro.exe backupnand.bin: -w2 mis2MB.bin?

Un saludo y gracias por leerme.
163 respuestas
1, 2, 3, 4