[Tutorial] Actualiza el XBRebooter sin usas el nanddumper

1, 2, 3, 4
Lembo escribió:
Aragan escribió:Hice los pasos del tutorial. Sin embargo en el paso de "su -", omiti el - (por que con el - puesto no me daba permisos y marcaba error en los password al querer cambiarlo).
Aparentemente todo se habia realizado correctamente... pero en el ultimo paso, marco una serie de bad blocks al final del programa, al rededor de 20 bad blocks.

Cabe mencionar que las 2 veces que he flasheado por medio de lpt no me ha dado errores la nand, ni de lectura ni escritura.

Es una placa falcon, utilize el XBR_3a. Puede cargar xell al presionar "eject". Pero al encenderla, al rededor de unos 6-8 sgundos aparecen las 3 luces rojas con error 0020.

Alguna recomendacion?



¿Estás seguro de que tu nand no tenía ningún bad block?
¿Comparaste con el degraded cuando las extraiste?
¿Fueron las dos copias de la nand totalmente iguales?
Si no es así búscate un programa que reasigna los bad blocks (no recuerdo ahora mismo el nombre)
Si estás seguro de que no tienes ningún bad block, asegúrate de haber introducido bien la kv y la config en la imagen de xbr

Después de todo esto métele por lpt el xell solamente e intenta hacer el proceso de nuevo. Si no, métele el xbr por lpt (aunque sea más lento, que le vamos a hacer... [carcajad] )
PD: Yo usé el comando "su" sin guión y funcionó bien, no creo que tenga nada que ver con los bad blocks


Hay alguna forma de saber que no tenemos badblocks??? No acabo de entender lo que son ....
Abriendo tu backup de la nand con algún programa como degraded o similar
hola aver si alguin me echa una mano con mis dudas pues segun yo ya actualice pero no estoi seguro ya que me comi unos pasos porque no me dejaba cambiar el pasword con el comando su - yo lo hice con estos pasos.
mount /dev/sda1 /mnt/usb (por defecto es sda1 pero en caso de tener mas particiones o unidades de almacenamiento puede que sea sda2 sdb1 etc)
cd /mnt/usb
gcc lflash.c -o lflash
./lflash backup.bin XBR.bin (o el nombre que le pusierais al XBR).

me salio 2 veces un error no recuerdo bien el error decia algo aci como error en sector xxx bueno afin de cuentas si se flasheo el xbox o eso creo porque si prende todo bien, en la memoria tenia el block de notas i mi xbr ya con mi config i key al acabar el flasheo me aparecio otra imagen pero con el nombre de xbr. i otro archivo que noce que sea [comor?] noce ke tanto desbarajuste hice (lo que me interesa es saber si se actualizo bien a la vercion 3 donde puedo checar?) no tengo idea como puedo saberlo solo e corrido el mame i el emulador de super juegos de 360 no le e cargado ¬_¬
Unas preguntas,

¿porque se da el backup.bin?

¿Lee antes y escribe despues?

¿Se puede solo leer sin escribir?

Tengo el XBR3 funcionando perfectamente pero queria asegurarme que el CRC de un backup de la nand coincide con el que le he metido solo por si acaso...
viericrespo escribió:Confirmo que la versión original de lflash funciona en Jasper de 16MB. Simplemente hay que cambiar la línea:
if (sfcx_readreg(0) != 0x0119810)


por la siguiente:

if (sfcx_readreg(0) != 0x00023010)


Probado con la versión del XBR XBR_Jasper16_8955_3a

Salu2 :p



Gracias por la info, para la próxima lo tendre en cuenta, que esta vez me tocaba abrirla si o si que queria actualizar tambien el lector ^^
klisard escribió:hola aver si alguin me echa una mano con mis dudas pues segun yo ya actualice pero no estoi seguro ya que me comi unos pasos porque no me dejaba cambiar el pasword con el comando su - yo lo hice con estos pasos.
mount /dev/sda1 /mnt/usb (por defecto es sda1 pero en caso de tener mas particiones o unidades de almacenamiento puede que sea sda2 sdb1 etc)
cd /mnt/usb
gcc lflash.c -o lflash
./lflash backup.bin XBR.bin (o el nombre que le pusierais al XBR).

me salio 2 veces un error no recuerdo bien el error decia algo aci como error en sector xxx bueno afin de cuentas si se flasheo el xbox o eso creo porque si prende todo bien, en la memoria tenia el block de notas i mi xbr ya con mi config i key al acabar el flasheo me aparecio otra imagen pero con el nombre de xbr. i otro archivo que noce que sea [comor?] noce ke tanto desbarajuste hice (lo que me interesa es saber si se actualizo bien a la vercion 3 donde puedo checar?) no tengo idea como puedo saberlo solo e corrido el mame i el emulador de super juegos de 360 no le e cargado ¬_¬


Tio intenta expresarte con un poco más de claridad, es muy difícil entenderte
hola lembo solo quiero saber donde veo si tengo el xbr3 donde puedo checar en el xbox=? ya que no estoi seguro si se flasheo eso es todo? saudos
klisard escribió:hola lembo solo quiero saber donde veo si tengo el xbr3 donde puedo checar en el xbox=? ya que no estoi seguro si se flasheo eso es todo? saudos

prueba un juego que no funcionaba antes como assasins creed 2,trial hd,fifa10 y si van de lujo pues ya sabes que ta bien puesto.
aqui esta un truco para los que no les arranca linux desde el lector de xbox, tienen que poner un lector externo por usb y ademas de poner dos copias de gentoo, una en lector de la xbox y la otra en el lector externo, seguro que arranca, despues de que arranque quiten el cd o el dvd que este el lector de la xbox.



probado, ya estoy desfrutado de mi falcon y va perfecta con assasins creed 2.
ok. muchas gracias Lembo, voy a probar!
por cierto cual es la contraseña del root? cuando hago el comando "su -" y la segunda vez que me pide que reintroduzca el password y supongo que sera el root, no? por que la nueva no me la acepta.

al final como no me acepta "su -" he optado por poner sudo delante de cada comando para ejecutarlos como root, pero cuando le meto el comando:
gcc iflash.c -o iflash para compilarlo me dice:

iflash.c: in function 'ioremap'
iflash.c: warning: cast to pointer from integer of diferent size. y no lo entiendo porque el archivo lo he descargado del post.

u cuando le meto la instruccion:
./iflash XBR.bin me dice:
flashconfig 01198010
verifying flash win XBR.bin
verify error at 00000000
verify failed!
i wont flash if you dont have a full working backup, sorry.

Vamos que se niega a flashearme la nand porque dice que no tengo un backup completo funcional, y yo lo he contruido con las kv y config que ponen el el txt del XBR. no se si sera porque no me deja compilar el iflash.

A ver si algunos habeis tenido estos problemas y los ha conseguido solucionar y me puede echar una mano.

saludos,
yurinet escribió:ok. muchas gracias Lembo, voy a probar!
por cierto cual es la contraseña del root? cuando hago el comando "su -" y la segunda vez que me pide que reintroduzca el password y supongo que sera el root, no? por que la nueva no me la acepta.

al final como no me acepta "su -" he optado por poner sudo delante de cada comando para ejecutarlos como root, pero cuando le meto el comando:
gcc iflash.c -o iflash para compilarlo me dice:

iflash.c: in function 'ioremap'
iflash.c: warning: cast to pointer from integer of diferent size. y no lo entiendo porque el archivo lo he descargado del post.

u cuando le meto la instruccion:
./iflash XBR.bin me dice:
flashconfig 01198010
verifying flash win XBR.bin
verify error at 00000000
verify failed!
i wont flash if you dont have a full working backup, sorry.

Vamos que se niega a flashearme la nand porque dice que no tengo un backup completo funcional, y yo lo he contruido con las kv y config que ponen el el txt del XBR. no se si sera porque no me deja compilar el iflash.

A ver si algunos habeis tenido estos problemas y los ha conseguido solucionar y me puede echar una mano.

saludos,


Hola.

Respecto al cambio de contraseñas:
1º Tienes que introducir "sudo passwd"
2º Introduces dos veces la contraseña (que será la primera)
3º Escribes "su" (a secas, solo eso, a mi me ha funcionado así)
4º Te dirá que introduzcas la contraseña (la primera)
5º Te volverá a pedir que lo confirmes (de nuevo la primera contraseña)
6º Introduces la segunda contraseña una vez y luego otra vez para confirmarla.

Respecto al flasheo creo que lo haces mal:

1º Escribes --> mkdir /mnt/usb
2º Introduces --> dmesg | grep -i "SCSI device"
3º Tecleas --> mount /dev/sda /mnt/usb (en mi caso el Lapiz Usb estaba configurado como sda y no como sda1 o sda2, etc)
4º Escribes -->cd /mnt/usb
5º Tecleas -->gcc lflash.c -o lflash (recuerda que es LFLASH.C -o (letra O) LFLASH, te lo pongo en mayusculas porque he visto que habias escrito mal)
6º Escribes --> ./lflash backup.bin XBR.bin (backup.bin es el nombre que dará el programa a la nand que está en tu consola (y la pondrá en el lápiz de memoria) y XBR.bin es la nand modificada, es decir la XBR8955_3a al que previamente con el nandpro2.0b has extraido la key.bin y el config.bin de tu nand original (la 7371) y has inyectado al XBR8955_3a)

Un saludo.

Espero haberte ayudado. ;)

Por cierto. Soy otro más que con el Gentoo más el LFLASH me ha ido perfecto, porque con el nandpro inyectándolo por el pueto LPT me daba las tres luces rojas en todos los flasheos que hacía.
Os recomiendo a los que os de este problema que le inyecteis el Xell de vuestra placa (para que salga la pantalla azul) y de ahí ejecutais Gentoo y el LFLASH. XD
Muy buena tapraxis, con lo ke as esplicado me a salido del tiron xDD. Yo era otro de los ke siempre k flasheaba con el nandumper se ke keaba la luz verde central fija y alguna k otra vez las luces rojas. Gracias tambien a Raugo por el tuto y a probar el nuevo XBR jejej.

Saludoss
gracias tapraxis, lo has explicado detenidamente, pero me sigue sin funcionar. cuando le doy comando "su" no me cambia la contraseña,me dice algo del root. creo que me esta pidiendo la contraseña root para poder cambiarla.

Enonces lo hago con el sudo delante de cada comando y asi si que tengo los permisos de root, pero cuando le meto el comando "gcc lflash.c -o lflash" me da el mismo mensaje de error:
lflash.c: in function 'ioremap'
lflash.c: warning: cast to pointer from integer of diferent size. debe de ser un fallo del lflash.c pero si lo he descargado del post, como puede fallar?

eso es normal? de donde lo habeis conseguido vosotros?

luego cuando le meto el comando "./lflash backup.bin XBR.bin", efectivamete ya me hace la copia en backup.bin pero cuando empieza a grabar la nand se queda bloqueado 5 minutos en 128000 o algo asi y de ahi no pasa hasta que le he quitado la corriente. tampoco es normal que tarde tanto , no?

como puede ser que no me acepte la contraseña con el comando "su"? hay que poner la misma las 4 veces, no?

Ya no se como hacerlo.
yurinet escribió:pero cuando le meto el comando "gcc lflash.c -o lflash" me da el mismo mensaje de error


yurinet prueba a meter el comando asi lflash.c gcc-o lflash, y cuando pongas sudo passwd, escribe una contraseña y la segunda vez que te la pida pon sudo-s...no se me ocurren mas cosas que puedan ayudarte
Hola Yurinet.
Respecto a la contraseña con sudo passwd:
1º Tienes que introducirla una vez y le das al intro (como observaras mientras escribes no aparece ningun caracter, queda en blanco, eso es por seguridad del sistema linux) prueba con yurinet1
2º Te vuelve a pedir que la confirmes (vuelves a ingresar los mismos datos) escribe yurinet1
Respecto a utilizar después, el comando su:
1º Escribes sólo --> su (entonces te aparecerá que tienes que ingresar la contraseña (que es la primera --> yurinet1)
2º Te reconocerá la contraseña que has metido como la root, pero como sistema de seguridad te la vuelve a pedir. Introduces --> yurinet1
3º En ese momento ya te deja que cambies la contraseña --> Introduces yurinet2
4º Te vuelve a pedir que reintroduzcas la contraseña (la segunda) --> Escribes yurinet2
5º Verás que el símbolo del sistema (lo que se encuentra delante de donde escribimos) ha cambiado de color (creo que es verde). Ya estas en modo para poder usar el comando LFLASH

Respecto al comando LFLASH que dices que se te queda pillado, comprueba que el lápiz está formateado en FAT (sólo FAT, no creo que valga FAT32 y mucho menos NTFS, eFAT, etc.). Aunque creo que esto está bien porque sino no te funcionaría el backup que te deja en el lápiz de memoria.

Por este motivo, me decanto por pensar que tu placa no es falcon ¿Es falcon, verdad? Que yo sepa sólo funciona con nand de 16 Mb (que alguién me corrija en esto si no es así).
1º Es normal que te salga un error cuando está copiando y haciendote la copia de seguridad de tu nand a tu lápiz de memoria (yo creo que tiene que ver porque el xell ocupa menos espacio en la nand que el Dashboard (7371, xbr_8995, etc.). Así que no tiene preocuparte que salgan unos errores. Referente a que se queda "congelado" cuando está haciendo el proceso de copia de tu XBR_8955_3a modificado con tu kv.bin y tu config.bin, es muy raro. Comprueba esto que te digo:

1º - La manera que tienes de arrancar el gentoo (yo lo hice a través del xell (pantalla azul) habiendo inyectado el falcon_hack.bin ya que metiendo a través del nandpro me daba las tres luces rojas).
2º- Tu consola tenga nand de 16 mb (repito, corregidme si no es así y valen para las de 256 y 512 mb)
3º- Versión del Gentoo buena, la que tienes puesta en el primer post.
4º- La versión del LFLASH.c, que está en este primer comentario del post (te recomiendo renombar a LFLASH.C, porque cuando te la bajas está como LFLASH_LFLASH.c y todos los comandos están escritos para usarlo como LFLASH.c)
5º- Probar lo de los comandos de sudo passwd y su (como te he comentado antes)
6º - Haber inyectado correctamente con el nandpro2.0b (usa esta versión la "b" que es la que no tiene errores) tus kv.bin y config.bin.
7º - Escribir correctamente todo (si... lo se..., pero cuantas veces nos ha pasado eso)
8º - Debería ir perfectamente.

Espero haberte ayudado. ;)
gracias tapraxis por tu paciencia. que bien explicado.

Al fin lo he conseguido!!!! XD XD . El motivo de que no fuera crreo que era por culpa de que no tenia permisos de administrador. lo he hecho igual que ayer y ahora me ha funcionado.

Si que es una falcon pues ya tuve instalado el primer rebooter, pero ahora solo instalaba el XeLL, por lpt puesto que con la ultima version del rebooter me salian las 3lr. en fin me ha vuelto a far los errores al compilar el lflash pero al grabar la nand me ha dicho lo de los badblocks al final, pero creo que eso es normal, no?

Bueno ahora me queda probar el homebrew, estoy deseando probar el mame, jeje.

Lo dicho, muchas gracias por la paciencia y lo detallado que me lo has explicado.

Tienes unas cervezas cuando quieras. [beer]
Alguno de los que se pasea por xbox hacker y demás tiene noticias si el lflash para jasper grandes lo van a actulizar para que pueda escribir? Es que si hay que esperarse se espera :P
Nada yasta

Probemas con los comandos
Lembo escribió:
elroma escribió:una duda como se pone el simbolo | en gentoo k no puedo.
vale ya lo e encontrao.

Creo recordar que era pulsando Shift + ç

spainfer escribió:Una curiosidad, ¿cuánto tiempo tarda el flasheo con este método? supongo que menos que por medio del cable paralelo

Pues no tarda casi nada, cuestión de segundos lo que es escribir la nand. Lo que mas tiempo lleva es esperar a que cargue el Gentoo.

yo tenia la misma duda si buscaras un poko triple xxx.
saludos
elroma escribió:
Lembo escribió:
elroma escribió:una duda como se pone el simbolo | en gentoo k no puedo.
vale ya lo e encontrao.

Creo recordar que era pulsando Shift + ç

spainfer escribió:Una curiosidad, ¿cuánto tiempo tarda el flasheo con este método? supongo que menos que por medio del cable paralelo

Pues no tarda casi nada, cuestión de segundos lo que es escribir la nand. Lo que mas tiempo lleva es esperar a que cargue el Gentoo.

yo tenia la misma duda si buscaras un poko triple xxx.
saludos


acabo de verlo, ya sabes, los nervios
gracias tio
PotajiTo escribió:Alguno de los que se pasea por xbox hacker y demás tiene noticias si el lflash para jasper grandes lo van a actulizar para que pueda escribir? Es que si hay que esperarse se espera :P

El iflash para jasper 256/512 de rastaman ,no vale?

        /* 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;
            case 0x01198010:
                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;
        }
Me sumo a la lista de la gente que siguiendo tu tutorial le ha salido a la primera.

Excelente tutorial, mi consola es una Xenon.
Alguien ya probo en las jasper 256/512?

Tengo que tener el gento en cd o dvd,el iflash en un usb pero y el xbr donde lo tengo que tener?
probe el metodo con una falcon virgen, lei la nand con nandpro me asegure que saliera sin errores, grabe el xell meti en usb el XBR preparado para mi placa y el lflash.c segui los demas pasos y instale y se instalo correctamente el XBR_3, es mas rapido y como je je y lo graba con 0 errores.
davidx escribió:probe el metodo con una falcon virgen, lei la nand con nandpro me asegure que saliera sin errores, grabe el xell meti en usb el XBR preparado para mi placa y el lflash.c segui los demas pasos y instale y se instalo correctamente el XBR_3, es mas rapido y como je je y lo graba con 0 errores.


Osea que el iflash y el xbr en el mimo usb,no?
Tengo un problema:

Actualize el xell y ahora cuando la consola arranca siempre entra al xell...

Aun no he podido actualizar debido a que no tengo un teclado usb.

¿Alguien sabe que puede ser el problema?
DazMalaga escribió:Osea que el iflash y el xbr en el mimo usb,no?


Si ambos en la raiz \ del pen.

LeonSG escribió:Tengo un problema:

Actualize el xell y ahora cuando la consola arranca siempre entra al xell...

Aun no he podido actualizar debido a que no tengo un teclado usb.

¿Alguien sabe que puede ser el problema?



Le has metido a tu nand el hack para que arranque el Xell, simplemente hazte con la distro de gentoo, archivo lflash.c y tu imagen del XBR para flashear, sin olvidarte de meter la keyvault y el config. Un compañero del foro ha creado un hilo con los comandos necesarios para flashear.
LeonSG escribió:Tengo un problema:

Actualize el xell y ahora cuando la consola arranca siempre entra al xell...

Aun no he podido actualizar debido a que no tengo un teclado usb.

¿Alguien sabe que puede ser el problema?


Hola. Como tienes cargado el Xell en la consola lo único que tienes que hacer es lo que ha puesto Hail_Mary...

En algún post más atrás de este hilo tengo detallado todos los comandos que has de poner (que conste que todos los meritos son para el creador del hilo). ;)

Respecto a lo del teclado, algún compañero ha comentado que bien se podría usar el teclado virtual que pudiera llevar la versión del Gentoo (yo no lo he probado). En cuanto arranques este linux mira en los desplegables dicha opción. Recuerda que podrás cargar el cd (con el Gentoo) en cuanto la luz central de la consola se apague al haber encendido la consola.

Un saludo.
Alguien lo a probado en jasper 256/512?
tapraxis escribió:
Hola. Como tienes cargado el Xell en la consola lo único que tienes que hacer es lo que ha puesto Hail_Mary...

Respecto a lo del teclado, algún compañero ha comentado que bien se podría usar el teclado virtual que pudiera llevar la versión del Gentoo (yo no lo he probado).

Un saludo.


Gracias Hail_Mary y tapraxis por la informacion, pense que al momento de actualizar el XELL solo se actualizaba esa parte y no que se iba a iniciar automaticamente.

Ahora, quisiera saber ¿Alguien sabe como instalar un paquete al Gentoo? La distribucion LIVECD no incluye los paquetes de accesibilidad para mostrar el teclado en pantalla, y buscando en internet encontre uno que se llama "Gok" pero no tengo ni la menor idea de como instalarlo... ¿Alguien me puede ayudar?

Lamentablemente estoy en un pueblo y no encuentro un teclado usb por aca [mamaaaaa]
LeonSG escribió:
tapraxis escribió:
Hola. Como tienes cargado el Xell en la consola lo único que tienes que hacer es lo que ha puesto Hail_Mary...

Respecto a lo del teclado, algún compañero ha comentado que bien se podría usar el teclado virtual que pudiera llevar la versión del Gentoo (yo no lo he probado).

Un saludo.


Gracias Hail_Mary y tapraxis por la informacion, pense que al momento de actualizar el XELL solo se actualizaba esa parte y no que se iba a iniciar automaticamente.

Ahora, quisiera saber ¿Alguien sabe como instalar un paquete al Gentoo? La distribucion LIVECD no incluye los paquetes de accesibilidad para mostrar el teclado en pantalla, y buscando en internet encontre uno que se llama "Gok" pero no tengo ni la menor idea de como instalarlo... ¿Alguien me puede ayudar?

Lamentablemente estoy en un pueblo y no encuentro un teclado usb por aca [mamaaaaa]

No se si funciona la red en el gentoo de 360, pero si funciona, con poner la direccion de este hilo en un pendrive y pegarla en el navegador solo es cuestion de copiar y pegar.
PotajiTo escribió:No se si funciona la red en el gentoo de 360, pero si funciona, con poner la direccion de este hilo en un pendrive y pegarla en el navegador solo es cuestion de copiar y pegar.


Ya intente algo parecido, el problema es que en la Terminal no puedo pegar nada [buuuaaaa]
LeonSG escribió:
PotajiTo escribió:No se si funciona la red en el gentoo de 360, pero si funciona, con poner la direccion de este hilo en un pendrive y pegarla en el navegador solo es cuestion de copiar y pegar.


Ya intente algo parecido, el problema es que en la Terminal no puedo pegar nada [buuuaaaa]

Edicion->pegar o algo parecido
PotajiTo escribió:
LeonSG escribió:
PotajiTo escribió:No se si funciona la red en el gentoo de 360, pero si funciona, con poner la direccion de este hilo en un pendrive y pegarla en el navegador solo es cuestion de copiar y pegar.


Ya intente algo parecido, el problema es que en la Terminal no puedo pegar nada [buuuaaaa]

Edicion->pegar o algo parecido

Shift + Insert también vale
jertocvil escribió:Shift + Insert también vale

Recuerda que está intentando hacerlo sin teclado
PotajiTo escribió:
LeonSG escribió:
PotajiTo escribió:No se si funciona la red en el gentoo de 360, pero si funciona, con poner la direccion de este hilo en un pendrive y pegarla en el navegador solo es cuestion de copiar y pegar.


Ya intente algo parecido, el problema es que en la Terminal no puedo pegar nada [buuuaaaa]

Edicion->pegar o algo parecido


Te agradezco la ayuda que tratas de darme PotajiTo y todos los demas, pero tengan en cuenta que no soy un noob en esto de los sistemas operativos o programacion. Eso si, nunca me meti a aprender Linux porque no le vi la utilidad en su momento.

Eso es la forma que intente, al igual que con el click derecho, pero no pega nada en la Terminal...
LeonSG escribió:Eso es la forma que intente, al igual que con el click derecho, pero no pega nada en la Terminal...

Prueba a hacer click con la rueda del raton, en teoria asi se pega en gnome creo.
Alguien puede confirmar si este metodo funciona en las jasper 256/512? me gustaria poder desoldar el nandumper y trabajar solo desde gentoo.

gracias!!!
Tras unos problemas con 2 pendrives al final he usado un pendrive de 256 MB que usé hace años para el xploit del splinter cell de la xbox. Así me he arrorado pasar por el nandpro y ahorrarme molestias usando el pc antiguo y esperar 40 minutos. Tardé un poco mas pero si hay próximas actualizaciónes será muy sencillo. :p

Así que si al hacer el mount sale un error indicando que hay que especificar el formato de archivos probado con otro pendrive, ni con vfat ni auto me funcionó.

Me funciona sin problemas pero con nandpro nunca tuve problema en la lectura y escritura ¿Es normal que salgan errores durante la escritura del xbr.bin? :-?
Analisa escribió:Alguien puede confirmar si este metodo funciona en las jasper 256/512? me gustaria poder desoldar el nandumper y trabajar solo desde gentoo.

gracias!!!

+1
Nadie lo ha probado?
Tengo Xenon con XBR_3 instalado directamente con el kv y el config de la nand original por nandumper.
Nunca llegue a instalar el Xell en la nand. Y he leido que ya viene incluido dentro del XBR.

Pero no consigo arrancarlo de ningun modo. He probado encenciendo pulsando el boton eject, tambien he probado con un mando USB encendiendo desde el USB trasero, pero no veo la pantalla azul en ningun momento.

He grabado y metido en la bandeja de la XBOX la distro de Gentoo indicada en el primer mensaje, y repetido pero no carga nada.

Tambien he probado varias configuraciones de video: por componentes y por compuesto.

¿Podeis confirmarme que el xell viene incluido en el XBR_3? ¿Y sino como lo meto en la imagen para grabarlo directamente a la nand?

Es que voy a hacer esta noche otra Xenon y queria desoldarle el nandumper, pero poder actualizar sin abrir- Y prefiero meterselo con el Xell.

Saludos y gracias
Bueno, pues por fin ha salido una versión de lflash que lee/escribe en todas las placas (incluidas las Jasper de 256/512 MB).

Aqui teneis los links:

Link 1

Link 2

Link 3

Y aquí podeis ver los comentarios de la gente que ya lo ha probado con éxito.

Salu2 :p
viericrespo escribió:Bueno, pues por fin ha salido una versión de lflash que lee/escribe en todas las placas (incluidas las Jasper de 256/512 MB).

Aqui teneis los links:

Link 1

Link 2

Link 3

Y aquí podeis ver los comentarios de la gente que ya lo ha probado con éxito.

Salu2 :p


Ahí que renombrarlo a iflash.c, no?
A esperar que lo prueben aquí.
El usb formateado en fat o en fat32?


Yo aun no tengo la xbox para probar.
DazMalaga escribió:
viericrespo escribió:Bueno, pues por fin ha salido una versión de lflash que lee/escribe en todas las placas (incluidas las Jasper de 256/512 MB).

Aqui teneis los links:

Link 1

Link 2

Link 3

Y aquí podeis ver los comentarios de la gente que ya lo ha probado con éxito.

Salu2 :p


Ahí que renombrarlo a iflash.c, no?
A esperar que lo prueben aquí.
El usb formateado en fat o en fat32?


Yo aun no tengo la xbox para probar.


En fat 32 tenía yo formateado mi pendrive cuando lo utilicé para lectura.
Le he estado echando un ojo a este ultimo source que ha puesto don pelayo y ya me tiene mucha mejor pinta que el otro posteado anteriormente por un compañero del foro y lueog retocado por mi.

Este ya controla si el fichero para las bignand es el de 64 megas para escribirlo raw cosa que el otro no hacia, y cambia un par de detalles interesantes que tienen todo el aspecto de hacerlo el arma definitiva para leer/flashear las jasper bignand desde el gentoo.

A ver si en un rato lo pruebo en la mia, aunque sea para leer en principio que ya el otro fallaba un monton.
Hola,
¿alguien sabe porque no puedo arrancar el xell?

Es que estoy todo rayado intentandolo pero no lo consigo. Ya digo, que solo he metido el XBR_3 directamente, pero no consigo arrancar en xell. ¿es necesario hacer una imagen modificada del XBR con el xell o vale directamente el XBR de xbins?

Gracias
RastaMan escribió:Le he estado echando un ojo a este ultimo source que ha puesto don pelayo y ya me tiene mucha mejor pinta que el otro posteado anteriormente por un compañero del foro y lueog retocado por mi.

Este ya controla si el fichero para las bignand es el de 64 megas para escribirlo raw cosa que el otro no hacia, y cambia un par de detalles interesantes que tienen todo el aspecto de hacerlo el arma definitiva para leer/flashear las jasper bignand desde el gentoo.

A ver si en un rato lo pruebo en la mia, aunque sea para leer en principio que ya el otro fallaba un monton.


Pues esperamos impacientes tus comentarios y los pasos que has seguidos.
A ver si alguien me ayuda, despues de flashear el xbr por nandumper, no me arrancaba la consola y se quedaba la luz roja de abajo a la derecha encendida. Pense que era problema de flasheo asi que volvi a inyectar el kv en el xbr.bin pero esta vez sin el config.Volvi a flashear la nand y el caso que ahora la consola me arranca pero se queda bloqueada en el logo del principio de xbox360. Si arranco desde el eject me lanza el xell sin problemas.

ALguien tiene una idea de que puedo hacer? alguien que me pueda pasar un rawconfig.bin de una jasper 512?

gracias.

Si alguien me pasa un rawconfig.bin de jasper 512 lo pruebo yo tb este nuevo lflash.c, tengo la consola abierta y con todo a punto.
Analisa escribió:A ver si alguien me ayuda, despues de flashear el xbr por nandumper, no me arrancaba la consola y se quedaba la luz roja de abajo a la derecha encendida. Pense que era problema de flasheo asi que volvi a inyectar el kv en el xbr.bin pero esta vez sin el config.Volvi a flashear la nand y el caso que ahora la consola me arranca pero se queda bloqueada en el logo del principio de xbox360. Si arranco desde el eject me lanza el xell sin problemas.

ALguien tiene una idea de que puedo hacer? alguien que me pueda pasar un rawconfig.bin de una jasper 512?

gracias.

Si alguien me pasa un rawconfig.bin de jasper 512 lo pruebo yo tb este nuevo lflash.c, tengo la consola abierta y con todo a punto.


Lastima que la mía sea de 256.

Una pregunta por que es rawconfig?
Es que he visto rawkv,rawconfig............

Las mias sin kv y config a secas.
dazmalaga son los archivos q necesitas inyectar en el xbr.bin antes d flashear. estaba pensando q tu rawconfig.bin tb me sirve, puedes extraer el tuyo desde tu nand original con este comando? te lo agradeceria mucho:
nandpro orig.bin: -r256 rawconfig.bin ef7 2

edito: donde el orig.bin es el nombre que le has dado a tu nand original. y es -r256 porque tienes una 256 sino seria -r512.
179 respuestas
1, 2, 3, 4