Multiples kernels usando una Tarjeta XD

1, 2, 3, 4
Bueno, ya recupere mi consola con el endiablado infectus, bien llamado asi porque esta infectado, vamos apesta.
Tras varios desmontajes y montajes con cables de tan solo 3 cm, consegui escribir en la nand de manera correcta.
Llegados a este punto, quite rapidamente el infectus y lo guarde en un lugar de cuyo nombre no quiero acordarme.
Y me dispuse a colocar el slot para XD_cards encima del conector Sata, tal y como lo hizo warpjavier.
Ya lo tengo mas o menos hecho todo, probado y todo, funciona a la primera. Es tan facil cambiar de kernell como quitar y poner otra tarjeta y volver a encender la consola.
A falta de detalles y la novedad de un interruptor para conmutar entre la nand original y la de la tarjeta, intentare dejar algunas fotos si es posible.

El sistema es algo laborioso, pero funciona y despues es muy comodo.

Por cierto Gas-o, si no te llega la memoria nand, siempre te puedo dejar una tarjeta flashada con tu kernell y la sueldas. te diria que casi es mas facil de soldar la tarjeta que la nand, jejeej. Lo mas peligroso seria cortar la pista que biene del SB al CE, que tambien he tenido que hacer yo. Pero bueno esto es por si te falla la memoria que te tiene que llegar.

Saludos, y a ver si se anima alguien mas.
ahora mismo esto no tiene mucha utilidad no?

supongo que para cargar el kernel antiguo en la tarjeta y poder usar la distro de linux que hay por ahi

me equivoco?

las soldaduras no parecen complicadas.
haute o Flash78,

¿habeis probado a arrancar la consola sin hdd y sin memoria a ver si carga el famoso kernel original??

recuerdo haber leido un post que decía algo de eso. Sería ideal, pues se pasaria de un 1889 o algo así hasta tener el que quisieras... (para estudiarlo) sin infectus ni na.

Saludos
La consola sin la nand no arranca. Tampoco puedes modificar ni un byte porque esta encryptada.
Buenas, he estado mirando esto , y aunque no tiene mucho que ver, ... hos pregunto a ver si alguien me puede ayudar. Tengo una tarjeta XD de clase H de Fujifilm, me gustaría saber si hay alguna manera de cambiarle el fabricante para que me la reconozca como una tarjeta olympus. Es para una cámara que si la tarjeta no es de marca olympus no me deja realizar algunas funciones. Venga, muchas gracias.
Hola,

Si se consigue instalar la XD, y se tiene el infectus. Y supongo que hace falta el Infectus para dumpear el kernel, a no ser que tengas las ganas y la habilidad para desoldar el tsop y leerlo con un wilken o algo parecido o con el infectus, pero fuera de la placa base.

Pues mi reflección es:

¿Se podrá usar el infectus para volvar la memoria XD? lo digo, porque si puedo dumpear la memoria tsop y la sustituimos por una XD es q son iguales.

Si esta suposición es cierta, se puede leer el contenido de la XD y comprobarlo con lo que leo del lector tropecientos-en-1 que tengo....

PD.- joer, toy que me subo por las paredes, pues no me llega el infectus este.
No imagino tener las dos cosas instaladas. Sería una locura.
Pero si se podría hacer.
Con el willen no se puede leer este tipo de memoria Nand.
La extracción con Linux no es del todo completa, ya que faltan los ECC de los sectores, pero creo que alguien de los foros de xboxhacker.net realizo una utilidad para crearlos a partir de la extracción de un volcado de la nand en Linux, pero no esta claro que funcionase bien.
La utilidad se llama CRC32 y la escribio Probutus.
http://www.xboxhacker.net/index.php?topic=6648.0

Saludos..
No se si es que me expliqué mal (seguro que me lie).

Lo que digo es que:

A) Puesto que la XD es compatible con la NAND tsop.

B) Como el Infectus lee la NAND tsop.

C) Con el infectus se podría leer la XD a pelo y escribirla también. Y cuando digo a pelo, es sin conectar la XD ni el Infectus a la blanquita. Vamos, alimentado todo con una fuente de alimentación y no con la x360.

Matematica...mente: A & B -> C

Y con C podría ver si el linux mete el gambazo y donde (que seguro que si).

Además, como tenemos el Infectus, me valdría de reader/writer de XD y no me haría falta comprar un lector Olympus que es jodidillo de encontrar.
Pues si se podria, pero sinceramente prefiero 1000 veces el lector de olympus que el infectus.
he encontrado esto k me fio bastante mas k ebay. son tarjetas de 32 megas tipo H.



me han costado 17,3 euros dos tarjetas contrarem.

http://www.rebelio.com/es/urwfilter/catalog/do/action/ShowProductDetail/productId/40238/sname/Olympus_XD_32_Mb_Type_H_/index.html;jsessionid=f43040d69f4f2a566b60

Me han comentado k solo valen las tarjetas de 16 mb, puede alguien confirmarlo?¿?
No te puedo confirmar nada puesto que solo he probado de 16Mb, pero creo que un amigo de warpjavier dijo que con una de 32 le había funcionado.

Por cierto ya tengo terminado del todo el Mod del tarjetero.
No tengo mucho tiempo puesto que me voy a trabajar fuera y no se cuando podre colgar las fotos y el artículo. Quizás se lo pase a Jixo y lo maquete el.

Saludos.
la resistencia limitadora k se le pone (supuestamente a los fusibles) va soldada a una pista a varias... a cual de ellas?¿?¿?

lo demas creo k esta claro pero ese punto creo k no se muy bien donde meterlo.

PD: aun no se bien como va el tema este del tarjeteo :(
Bueno,

por fin me llego el Infectus... al final tardó 12 días. La pregunta del millón (supongo que Flash o haute la saben):

¿Alguna versión del soft en particular? ¿Hay algún tutorial lucidito para no meter el gambazo a la hora de hacer el dump?

Saludos y gracias por adelantado,
Javier
Una pregunta que me hago desde un tiempo es si conocer el valor de los efuses en la version actual (despues del update de enero) podria suponer un avance. Es que si fuera asi quiza se pudiera leer ese valor con algun tipo de circuiteria externa. No se si sera posible ni nada ya os digo que solo es curiosidad.
gobo26 escribió:Una pregunta que me hago desde un tiempo es si conocer el valor de los efuses en la version actual (despues del update de enero) podria suponer un avance. Es que si fuera asi quiza se pudiera leer ese valor con algun tipo de circuiteria externa. No se si sera posible ni nada ya os digo que solo es curiosidad.



Creo que esto ha quedado más que resuelto en este hilo y en otros muchos. Pero una vez más no hace daño.

Premisa:
Si no has quitado la R6T3 famosa y has actualizado con los últimos juegos, se han cambiado los efuses y por tanto no podras hacer un downgrade de tu kernel (de momento).

Leer los efuses:
La única forma que yo conozco de leer los efuses, es con el linux, luego te hace falta un kernel vulnerable y si has actualizado y sin quitar la resistencia de los efuses... ta chungo de momento.

Conclusión del estado actual:
De hecho, si quitas la r6t3, pues los efuses no cambiarán.... y esto es la pescadilla que se come la cola. (el huevo o la gallina, quien está primero). Los lees y ya está. Pero solo los puedes leer para los kernel vulnerables.

Espero que te quede claro con este lio de post que he hecho.
Ya se q hacia falta un kernel vulnerable y todo eso. Yo me referia a leerlo de forma electronica. A lo bruto la idea seria sacar la CPU, ponerla en una placa "casera" con la circuiteria minima para lo que queremos y leer los efuses. Ya se q es muy complicado por q lse necesitarian herramientas muy profesionales para hacer esa placa y no valdria con la tipica insoladora y la cubeta de acido...pero vamos q era una idea q me habia surgido.
esperando el tuto/articulo de haute con MUCHAS ganas.

me he agenciado otra X360,de casualidad con kernel vulnerable,y estoy en la eterna tesitura:actualizar,jugar a juegos nuevos y olvidarme o salsear con todo esto por si el dia de mañana sale algo con el xploit.

tiene muy buena pinta el invento,esperando el tuto pa engorilarme xd
A ver si saco un rato esta semana y le puedo pasar la informción a Jixo para que lo maquete un poco.
cjsosa escribió:

Conclusión del estado actual:
De hecho, si quitas la r6t3, pues los efuses no cambiarán.... y esto es la pescadilla que se come la cola. (el huevo o la gallina, quien está primero). Los lees y ya está. Pero solo los puedes leer para los kernel vulnerables.



Lo que no tengo Claro es si al quitar la resistencia impedimos q se modifiquen los efuses al actualizar o solo el efuse q permite el donwgrade.

Lo probare mañana q ya tengo listo casi todo el invento,
Como ya tengo los efuses leidos con el Kernel vulnerable, montare el tema de la memoria X D con ese Kernel, despues Actualizare la consola al ultimo Kernel y al colocar la memoria X D con el Kernel Vulnerable volvere a leer los efuses haber si hay algun cambio.

Un Saludo.
RAID escribió:
Lo que no tengo Claro es si al quitar la resistencia impedimos q se modifiquen los efuses al actualizar o solo el efuse q permite el donwgrade.

Un Saludo.


Está más que comprobado que esa resistencia es la que da la alimentación a la circuitería que 'chamusca' los efuses. Al quitarla, evitas que los efuses se token.
Viendo q no me llega el Infectus cogeré el flashdump obtenido desde linux y le aplicare el programa de crc32 de probutus haber si funciona mañana os contare.

Os Dejo una imagen de como esta quedando, a falta de ver como coloco un interruptor para no tener q sacar el disco HD y poder conmutar entre ultimo kernel q tendra la NAND de la placa base y el de la X D Vulnerable.

Imagen

Un Saludo, Raid.
RAID escribió:Viendo q no me llega el Infectus cogeré el flashdump obtenido desde linux y le aplicare el programa de crc32 de probutus haber si funciona mañana os contare.

Os Dejo una imagen de como esta quedando, a falta de ver como coloco un interruptor para no tener q sacar el disco HD y poder conmutar entre ultimo kernel q tendra la NAND de la placa base y el de la X D Vulnerable.

Imagen

Un Saludo, Raid.


Ya has mirado en el buzon? :D
Hola,

solo una cosilla para los mas torponcillos como yo.

La conexión de RB está complicada de hacer. La via que me encontré estaba sin estañar y pasivada con resina verde. Pero he descubierto (Gracias al esquema del Infectus) que hay otro punto más facil de soldar para ese terminal de la tsop.

Es el punto U del esquema 1.3 del Infectus.

http://www.infectus.biz/diagrams/Xbox360_1.JPG

Está un poco más lejos, pero es el mismo. Yo lo he probado y rula bien.

Saludos

PD.- el que no se lo crea, que compruebe la continuidad entre el terminal RB de la tsop y ese punto U que define el Infectus.

PD2.-Por otro lado, ahora tenemos localizada una via en el terminal CE, y estoy buscando otra. Si tenemos 2 vias, se cortaría la pista CE entre ellas y cuando queramos reconstruirla, no sería tan dramático como unir esas birriosas pistitas. Sólo habría que puentear las dos vias con un cablecillo ;)
Ya le pase las fotos a jixo, imgino que las publicará en breve.

saludos.
Haber esas fotitos de como queda el invento.

Bueno yo he probado a aplicarle el crc32 al flashdump extraído de linux pero na de na no me genera el archivo correctamente ya que esa aplicacion solo coge el primer sector 512 del total de 16M. Así a que a esperar que me llegue el infectus.

O otra solución es conectar el lector Olympus directamente a la Xbox360. como las imagenes. Pero hay q cortar el CE para alimentarlo a 3,3v y conectar a lavez la corriente de la Xbox y el lector.

ImagenImagenImagen

PD: para los q no encontréis el lecotr Olympus MAUSB-10 hay otro compatible el fuji FinePix DPC-R1. Y también funciona con tarjetas mas grandes de 16M, con 32 y 64 lo q el código solo escribirá hasta los 16M.

Haute por que empresa de transporte te llego el infectus por UPS? o te llego por correos? ufff hace mas de 15 días y na de na.

Un Saludo, Raid.
RAID,

el mio se lo compré a una empresa gallega (impex...algo más) y me llego por carta certificada urgente (Correos), claro que era a Canarias.

;)

PD.- Mañana lunes desenchufo el Infectus y cableo el tarjetero a ver como queda.
Buenas.

He estado leyendome todos los posts de este hilo. El trabajo de flash como siempre es bienvenido.

Lo que no me keda claro es:

1- si compilas en linux, como lo puedes usar todo el tuto desde linux?

2- funciona bien el archivo compilado del compañero que hizo la "prueba"?

3- donde puedo conseguir un lector de targetas como el del tutorial?

Bueno, despues:

tengo 2 consolas, una cn el parche de mayo y otra con el kernel 2852 o algo asi, de los primeros, digo 2852 como podria decir 2582, no me acuerdo bien nbien, pero es del 2005 y no ha tokado el live en toda su historia, tampoco leds tokahuevs.
Bueno, yo estoy dispuesto a hacer las pruebas ke hagan falta, con las 2 consolas por el tema del eFuse,

hablando del eFuse:

---> es cierto que en el parche del 7 de mayo te lo funden? esta es la pregunta mas importante de mi post, dado que si de verdad te lo funden, ya eske ni me molesto en abrir mi consola baneada( cn todos los parches del kernel)

cn la otra consola si puedo, y kiero usarla como linux y para jugar

tngo unas ganas increibles.

os agradezco a toda la gente ke colabora cn opiniones, pruebas, experiencias y sobretodo a akellos ke hacen posible que gente como yo disfrute de su hobbie.

gracias

kikofras
kikofras_cs escribió:Buenas.

He estado leyendome todos los posts de este hilo. El trabajo de flash como siempre es bienvenido.

Lo que no me keda claro es:

1- si compilas en linux, como lo puedes usar todo el tuto desde linux?

2- funciona bien el archivo compilado del compañero que hizo la "prueba"?

3- donde puedo conseguir un lector de targetas como el del tutorial?

Bueno, despues:

tengo 2 consolas, una cn el parche de mayo y otra con el kernel 2852 o algo asi, de los primeros, digo 2852 como podria decir 2582, no me acuerdo bien nbien, pero es del 2005 y no ha tokado el live en toda su historia, tampoco leds tokahuevs.
Bueno, yo estoy dispuesto a hacer las pruebas ke hagan falta, con las 2 consolas por el tema del eFuse,

hablando del eFuse:

---> es cierto que en el parche del 7 de mayo te lo funden? esta es la pregunta mas importante de mi post, dado que si de verdad te lo funden, ya eske ni me molesto en abrir mi consola baneada( cn todos los parches del kernel)

cn la otra consola si puedo, y kiero usarla como linux y para jugar

tngo unas ganas increibles.

os agradezco a toda la gente ke colabora cn opiniones, pruebas, experiencias y sobretodo a akellos ke hacen posible que gente como yo disfrute de su hobbie.

gracias

kikofras


1-No entiendo la pregunta.
2-No lo se.
3-El lector lo puedes conseguir en Ebay. Cito a RAID:

RAID escribió:Yo en ebay he pedido el mismo lector q el tutorial y una tarjeta Xd olympus de 64mb todo con portes 24 Euros.

Tienda

[plas]http://stores.ebay.es/Expressprocessing

Venga q esto se anima


Respecto a la consola que tienes actulizada ni te molestes en abrirla ya que la actualización de mayo hace que cambien los valores de losl efuses e impide que puedas downgradear el kernel... asi que tendras que utilizar la que tienes del 2005 actualizandola con un CD a los kernels vulnerable que hay. (kernel 4532 y 4548.)

Saludos.
gracias nen, me has contestado justo como esperaba.

salu2!!!!
Por lo visto desoldando una resistencia, no se exactamente si desoldando o cortando una pista no me hagas mucho caso sé que es en una resistencia evitas aunque actualices que se queme el eFuse.

Salu2.
en esta tienda de ebay yo me he pillado dos tarjetas de 16 mb.

lo del lector supongo k da igual xk el nota pilla todo del patillaje y lo unico k vale del lector es pa no soldar directamente la tarjeta...

la unica duda k tengo es donde enganchar la resistencia limitadora...

tienda http://stores.ebay.es/Trusted-Goods-Store_Flash-Memory_W0QQcolZ4QQdirZQ2d1QQfsubZ11QQftidZ2QQtZkm

he pillado el lector y al desoldarlo tener cuidado k se salen las patillas xk son un poco traperas, el lector multitarjetas k me he pillado aun me vale con todas las tarjetas menos las xD... osea k de puta madre.

la resistencia de 1k se la he kitado a un trasto k se rompio y tenia componentes majos y voy pillando cosillas de ahi xD (se mide antes con el polimetro si se hacen estas cosas)

ahora viene la movida de los puntos de soldadura si me sale esto bien ya colgare unas fotos. ya k veo k la gente k se ha montado esto no se esta currando mucho los tutoriales... :(
Siento decirte que no vale cualquier lector, solo 2 modelos comentados en este mismo hilo.

Y respecto a los tutoriales, pues no tengo tiempo.
Pero Jixo ya tiene mis fotos y las pondr en breve en la zona wiki supongo
saludos
haute escribió:Siento decirte que no vale cualquier lector, solo 2 modelos comentados en este mismo hilo.

Y respecto a los tutoriales, pues no tengo tiempo.
Pero Jixo ya tiene mis fotos y las pondr en breve en la zona wiki supongo
saludos


pero si en las fotos k puso flash no hay ninguna circuteria en el lector...


hay q cortar el CE para alimentarlo a 3,3v y conectar a lavez la corriente de la Xbox y el lector


esto lo puede aclarar alguien, supongo k si se hace eso no hace falta pillarse ningun lector, no?¿?¿
SiMoNiNi,

te lo aclaro.

A) tienes que volcar los datos de tu TSOP. Hay varias maneras, con un wilken, con un analizador lógico, o con el Infectus. Yo lo hice con este último.

Parece que no valen los datos de otra TSOP. Y de momento no he visto ningun dump público.

B) una vez tienes el dump de tu TSOP, le tienes que montar el tarjetero como dice este post.

C) Tienes que escribir tu dump en una tarjeta x D. Y aqui entra lo que tu comentas. SOLO y digo SOLO se puede empleando un lector/escritor (que mal suena esta traducción) concreto. El lector es el MAUSB-10. Con este lector puedes volcar adecuadamente el dump de tu TSOP. Tambien hay un lector de Fujitsu que es identico... vamos la misma circuiteria con distinta caja.

En particular, con los lectores actuales no se puede acceder en modo RAW a las memorias. Te montan el chiringo del bloke lógico y lo que se necesita es acceder al bloke fisico.

Yo he probado 3 lectores con 3 chips distintos y ninguno tiene implementado el READ LONG, que supuestamente es el que permite escribir/leer los datos en modo RAW.

Espero que te aclare algo tu duda.

PD.- ya tengo todo soldado, pero tengo que comprobar un par de cosas antes. Mañana posteo unas imagenecillas de como quedo el chiringo montado.
cjsosa escribió:SiMoNiNi,

te lo aclaro.

A) tienes que volcar los datos de tu TSOP. Hay varias maneras, con un wilken, con un analizador lógico, o con el Infectus. Yo lo hice con este último.



con un willem NUNCA podrás, el willem nunca soportará ese tipo de tsops desgraciadamente.
cjsosa escribió:A) tienes que volcar los datos de tu TSOP. Hay varias maneras, con un wilken, con un analizador lógico , o con el Infectus. Yo lo hice con este último.


volcar una NAND con un analizador logico??

si tu 360 corre linux, puedes volcarlo con un programa que anda en xbh.net, pero tendras que reconstruir los 16 bytes restantes para cada sector de la NAND con con el programa que libero SeventhSon http://www.xboxhacker.net/index.php?topic=7924.msg49847#msg49847
cjsosa escribió:SiMoNiNi,

te lo aclaro.

En particular, con los lectores actuales no se puede acceder en

PD.- ya tengo todo soldado, pero tengo que comprobar un par de cosas antes. Mañana posteo unas imagenecillas de como quedo el chiringo montado.


Menos mal tio... ya me has dejado las cosas mucho mas claras por lo menos entiendo la idea general. bueno voy a pillar el lector.

a ver si tu te haces con esto y nos lo puedes explicar un poco k veo k se te da bien :)

muchas gracias!!!

xt5 escribió:si tu 360 corre linux, puedes volcarlo con un programa que anda en xbh.net, pero tendras que reconstruir los 16 bytes restantes para cada sector de la NAND con con el programa que libero SeventhSon http://www.xboxhacker.net/index.php...g49847#msg49847


si, mi consola puede tener linux, me falta el kingkong tb me lo pillare.

si puedes explicar un poco mas como sacar la info de la nand con los nombres de los programas..ect creo k esto ya estaria mucho mas claro.

de todas maneras puede k me dejen un infecus a cambio de instalarselo al propietario...
muchas gracias a ti tb!!! :)
He subido las imágenes a este artículo del wiki:

[url=http://www.elotrolado.net/wiki/Multiples kernels usando una tarjeta XD]Multiples kernels usando una tarjeta XD[/url]

Ahora toca completarlo entre todos :)
xt5 escribió:
volcar una NAND con un analizador logico??

si tu 360 corre linux, puedes volcarlo con un programa que anda en xbh.net, pero tendras que reconstruir los 16 bytes restantes para cada sector de la NAND con con el programa que libero SeventhSon http://www.xboxhacker.net/index.php?topic=7924.msg49847#msg49847


Joer acabo de verlo, ahora q tenia soldado el lector directamente a la mb360.

Bueno haber si alguien me puede hacer el favor de compilar este codigo q es el crc32 con la modificación de seventhson, ya q tengo problemas con el windows vista y el compilador djgpp.

// ----------------------------------------------------------------------------
// testapp for xbox360 done by probutus + fix ecc seventhson
// ----------------------------------------------------------------------------

// includes:

#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define NAND_BLOCK 528
#define NAND_DATA 512

#define NAND_ECC_BNR_LSB 512
#define NAND_ECC_BNR_MSB 513
#define NAND_ECC_DATA 514
#define NAND_ECC_PAGEMARKER 517
#define NAND_ECC_CKSUM0 524
#define NAND_ECC_CKSUM1 525
#define NAND_ECC_CKSUM2 526
#define NAND_ECC_CKSUM3 527

static void print_line(unsigned char *sector,int n)
{
   int i=0; int j=0;
   for(i=0;i<(n);i++)
      {
      printf("%08x  ",i*16);
      for (j=0;j<16;j++)
      {
         printf("%02x ",sector[j]);
      }
      printf(" |");
      for (j=0;j<16;j++)
      {
          if (isprint(sector[j]))
          {
         printf("%c",sector[j]);
          }
          else
          {
         printf(".");
          }
      }
      printf("|\n");
      sector+=16;
   }
}

// CRC parameters (default values are for CRC-32):
void calcecc(unsigned long *data, unsigned char  *edc)
{
        int i=0, val=0;

        unsigned long v;

        for (i = 0; i < 0x1066; i++)
        {
                if (!(i & 31))
                {
                        if (i == 0x1000)
                                data = (unsigned long *)edc;
                        v = ~*data++; /* byte order: LE */
                }
                val ^= v & 1;
                v>>=1;
                if (val & 1)
                        val ^= 0x6954559;
                val >>= 1;
        }

        val = ~val;
    printf("%X\n",val);
        edc[0xC] = ((val << 6) | (edc[0xC] & 0x3F)) & 0xFF;
        edc[0xD] = (val >> 2) & 0xFF;
        edc[0xE] = (val >> 10) & 0xFF;
        edc[0xF] = (val >> 18) & 0xFF;
}

int main(int argc, char *argv[])
{

   // test program for checking four different CRC computing types that are:
   // crcbit(), crcbitfast(), crctable() and crctablefast(), see above.
   // parameters are at the top of this program.
   // Result will be printed on the console.

   int i;
   struct stat flashstat;
   off_t flashsize=0, current;
   unsigned char string[528]={0};
   int fd=0, outfd=0,offset=0;
   char *flashfilename=NULL;
   char *outname=NULL;
   char *argument=NULL;
   void *data=string;
   long oldecc=0,newecc=0;
   int ret=0;
   int operation=0;



   // check parameters

   switch (argc)
   {
      case 3:
         argument=argv[1];
         flashfilename=argv[2];
         break;
      case 4:
         argument=argv[1];
         flashfilename=argv[2];
         outname=argv[3];
      break;
         default:
         printf("error: usage: %s ARGUMENT INFILE [outfile]\n where argument is remove or add",argv[0]);
         return 1;
      break;
   }
   
   if((fd = open(flashfilename, O_RDONLY)) == -1)
   {
      printf("open of file %s failed!",flashfilename);
      close(fd);
      return 1;
   }

   if (fstat(fd,&flashstat)!=0)
   {
      printf("fstat failed!\n");
      close(fd);
      return 1;
   }
   flashsize=flashstat.st_size;
   
   printf("flashsize:%X\n",flashsize);
   if (strcmp(argument,"remove")==0)
   {
      if (((flashsize%NAND_BLOCK)!=0) || (flashsize==0))
      {
         printf("flashsize incorrect!\n");
         close(fd);
         return 1;
      }      
      else
   {
         outfd=open(outname,O_CREAT|O_WRONLY|O_TRUNC,S_IRUSR|S_IWUSR);
         if (outfd<0)
         {
            printf("couldnt create file %s\n",outname);
         }
         else
         {
            int i,size=flashsize/NAND_BLOCK;
            for (i=0;i<size;i++)
            {
               if (lseek(fd,(off_t)(i*NAND_BLOCK),SEEK_SET)==-1)
               {
                  printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, flashfilename);
                  close(outfd);   
               }
               else
               {
                  unsigned char data[NAND_BLOCK]={0};
                  if (read(fd,data,NAND_BLOCK)<=0)
                  {
                     printf("error in reading file %s\n",outname);
                     close(outfd);
                  }
                  else
                  {
                     if (lseek(outfd,0,SEEK_END)==-1)
                     {
                        printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, outname);
                        close(outfd);   
                     }
                     else
                     {
                        if (write(outfd,data,NAND_DATA)<=0)
                        {
                           printf("could not write to file %s\n",outname);
                           close(outfd);
                           return 1;
                        }
                     }
                  }
               }
            }
         }
      }
   }
   /******** END REMOVE ************/
   if (strcmp(argument, "add")==0)
   {
      if (((flashsize%NAND_DATA)!=0) || (flashsize==0))
      {
         printf("flashsize incorrect!\n");
         close(fd);
         return 1;
      }
      outfd=open(outname,O_CREAT|O_WRONLY|O_TRUNC,S_IRUSR|S_IWUSR);
      if (outfd<0)
      {
         printf("couldnt create file %s\n",outname);
      }
      else
      {
         int i,size=flashsize/NAND_DATA;
#ifdef DEBUG
         printf("size:%X flashsize:%X\n",size,flashsize);
#endif
         for (i=0;i<size;i++)
         {
            if (lseek(fd,(off_t)(i*NAND_DATA),SEEK_SET)==-1)
            {
               printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, flashfilename);
               close(outfd);   
            }
            else
            {
               unsigned char data[NAND_BLOCK]={0};
               if (read(fd,data,NAND_DATA)<=0)
               {
                  printf("error in reading file %s\n",outname);
                  close(outfd);
               }
               else
               {
                  unsigned int blocknr=i/0x20; /*pagenr DIV 32=BLOCKNR */
                  unsigned char bnr_msb=blocknr>>8;
                  unsigned char bnr_lsb=blocknr&0xFF;
#ifdef DEBUG
                  printf ("blocknr%X msb:%X lsb:%X\n",blocknr,bnr_msb,bnr_lsb);
#endif   
                  if ((data[0]==0xff) && (data[1]==0xff) && (data[2]==0xff) && (data[3]=0xff))
                  {
                     /*Empty block*/
#ifdef DEBUG
                     printf("EMPTY block\n");
#endif
                     memset(&data[NAND_DATA],0xFFFFFFFF,16);
                  }
                  else
                  {
                     data[NAND_ECC_PAGEMARKER]=0xFF;
                     data[NAND_ECC_BNR_MSB]=bnr_msb;
                     data[NAND_ECC_BNR_LSB]=bnr_lsb;
                     calcecc(&data[0],&data[512]);
                  }
                  
                  if (lseek(outfd,0,SEEK_END)==-1)
                  {
                     printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, outname);
                     close(outfd);   
                  }
                  else
                  {
                     if (write(outfd,data,NAND_BLOCK)<=0)
                     {
                        printf("could not write to file %s\n",outname);
                        close(outfd);
                        return 1;
                     }
                  }
               }
            }
         }
      }
   }
   /********************************/
   /************** CHECK ********************/
   if (strcmp(argument,"check")==0)
   {
      if (((flashsize%NAND_BLOCK)!=0) || (flashsize==0))
      {
         printf("flashsize incorrect!\n");
         close(fd);
         return 1;
      }      
      else
      {
         int i,size=flashsize/NAND_BLOCK;
         printf("size:%d fsize:%d\n",size,flashsize);
         for (i=0;i<size;i++)
         {
            unsigned char data[NAND_BLOCK]={0};
            if (read(fd,data,NAND_BLOCK)<=0)
            {
               printf("error in reading file %s\n",outname);
            }
            else
            {
               /*data[514]=0; EXTA BYTES data[520]=0;data[521]=0;*/
               //calcecc(&data[0],&data[512]);
               if ((data[514]!=0) && (data[514]!=0xFF))
                  print_line(&data[512],1);
            }
         }
      }
   }

   close(fd);
   return(0);
}
RAID escribió:.... close(fd);
return(0);
}
[/CODE]


eso tiene 17 errores...
SiMoNiNi escribió:me falta el kingkong tb me lo pillare.

No se de donde eres pero en el carrefour de los rosales en coruña estaban liquidando el kink kong por 10€ la unidad
ya he conseguido compilar el codigo.

ahora lo pruebo con el Flashdump extraido desde linux y os digo.

Un saludo, Raid.

PD: no me genera el archivo correctamente, no se si el codigo C esta mal o mi flashdump es incorrecto. si alguien tiene una extracion de su flashdump desde linux y lo puede probar:
Creo q es para kernel 1888 hay q hacer unas modificaciones para los 4xxxx


crc32.exe add flashdump flashnew

Adjuntos

No consigo encontrarlo mierda

Buske en la store de ebay ke me pusistes raid pero na de na

Seria lo mismo si envez de soldar los cables al read/write los soldase directamente en la targeta x D? se dañaria? como lo veis Flash78 y demas expertos?



gracias, me hare cn un king kong y a linuxear!

kikofras
Wenas.

Ya tengo encargada 2 XD de 16MB, y me falta el lector, q no se si es este http://cgi.ebay.co.uk/Olympus-XD-SmartMedia-USB-card-reader-Camedia-SW_W0QQitemZ7506435749QQihZ017QQcategoryZ18872QQtcZphotoQQcmdZViewItem
Es el lector q se comenta?? Y relamente para q sirve el lector?? Creo haber entendido dos cosas, una es q para grabar los dump d las nand, y otra para soldarlo a la Xbox y leer la nand de la consola como si fuera una tarjeta??
Estoy en lo cierto??

Gracias a todos


Sip ES.

WiLoW69 escribió:Y relamente para q sirve el lector?? Creo haber entendido dos cosas, una es q para grabar los dump d las nand,


Vale para eso

WiLoW69 escribió: y otra para soldarlo a la Xbox y leer la nand de la consola como si fuera una tarjeta??


Yo no lo he hecho (tengo el Infectus) pero hay gente que lo usa para eso mismo mismamente... jeje

WiLoW69 escribió:Estoy en lo cierto??


Al 99,99 % SI .... siempre hay una probabilidad de errar ;)
Gracias cjsosa.

Ahora una pregunta.
Hay algun manual q venga mas o menos detallado, de como hacer todo el proceso?? y q programas hay q usar??
Gracias a to2.
WiLoW69 escribió:Gracias cjsosa.

Ahora una pregunta.
Hay algun manual q venga mas o menos detallado, de como hacer todo el proceso?? y q programas hay q usar??
Gracias a to2.


Está construyendose un Wiki, pero lo mejor q he encontrado es este hilo y su original (claro que está en ingles).

Es importantisimo, que no tengas un kernel superior al 4532 o 4548 porque si no ya tendrías los efuses tocados y por ejemplo, no podrías meter linux. Y si es así, quitar la R6T3 antes de meter por ejemplo el crackdown o el forza... Ya que si los metes, te actualiza y luego lo de las tarjetas no te valdría para mucho.

Por cierto,

aqui va un detalle de mi corte de la pista de CE

http://img517.imageshack.us/img517/3427/dscn0455jj8.jpg

Mi procedimiento para interceptar el CE fue sencillo pero laborioso.

A) Primero raspé con mucho cuidado la pista del CE cerca de la TSOP. Así si la cagaba, tenía más espacio para seguir rascando en dirección al South Bridge.

B) Comprobé que era la pista CE midiendo la continuidad entre lo que rasqué y la via que hay debajo de la TSOP.

C) Estañe la pista acercandole una bola de estaño con la punta del soldador. Así me asguré que la resina que suele traer el estaño no me pasivaba lo raspado antes de pasar el soldador.

D) Estañe un cable con el mismo tamaño de lo que raspé en la pista (mas o menos 5 ó 6 milímetros).

E) Alineé el cable estañado sobre la pista estañada. Presione el cable estañado contra la pista con un destornillador plano de precisión y luego le acerqué el soldador. Le dí un par de puntos de calor, siempre presionando con el destornillador y acercando el soldador. Así no se rueda el cablecillo.

F) Volví a comprobar la continuidad del cable con la via donde está el CE.

G) Corté la pista CE. Yo lo hice en la esquina que hay en la pista CE entre donde hemos soldado el cable y la TSOP. Es una pena, pero en la foto queda justo debajo del cable y no se ve. En particular empleé el mismo soldador, apretando un pelin la pista. Se puede emplear el cutter, pero ojo con el corte que las pistas son del tamaño de un pelo.

H) Para no fastidiar la pista soldada, el extremo del cable lo fijé a un punto de alineamiento que hay cercano. Así es punto es el que aguanta cualquier esfuerzo que se haga sobre el cable que va a la resistencia.

G) Por último, no olvidar que hay que poner el terminal CE de la TSOP a VCC (3.3v) y esto se consigue poniendo un cable entre la via de CE que hemos empleado anteriormente para medir la continuidad y el terminal del condensador marroncito gandulo que hay pegado a la TSOP.

Bueno,
espero que le sea de ayuda a alguien.
cjsosa escribió:
gue poniendo un cable entre la via de CE que hemos empleado anteriormente para medir la continuidad y el terminal del condensador marroncito gandulo que hay pegado a la TSOP.

Bueno,
espero que le sea de ayuda a alguien.




mi pregunta es xk soldais los lectores y no lo haceis como esta en este tutorial solo con el conector...?¿?¿

K es mejor leer el kernel con el infecus k he leido k jode los tsops esos... :) o hacerlo con linux y gastarte una pasta el el cable?¿?
yo ya me he pedido el puto infectus, como me joda la 360 voi a mandarle un RMA cn antrax a divineo xDD

tngo el primer kernel en esta 360, cuando me llegue el infectus metere uno de los 2 kernel petables y palante como los dalicante xD


salut y força al canut!!!


kikofras
yo tb me lo he pedido como es reprogramable y me mando informacion una tienda de confianza por el email.
167 respuestas
1, 2, 3, 4