Giuseppe.

Utente Esperto
Autore del topic
24 Gennaio 2009
1.066
58
Miglior risposta
0
JTAG_Hack_p_01.JPG


ATTENZIONE: NE IO NE SCIAX2 POTREMMO ESSERE RITENUTI RESPONSABILI PER EVENTUALI DANNI CAUSATI DA UN ERRATO PROCEDIMENTO SULLA VOSTRA XBOX, SE DECIDETE DI SEGUIRE QUESTA GUIDA LO FATE A VOSTRO RISCHIO E PERICOLO!


SU CONSOLE CON DASHBOARD AGGIORNATA ALLA 8xxx O SUPERIORI NON E' POSSIBILE ESEGUIRE QUESTO HACK IN NESSUN MODO, SMETTETELA DI CHIEDERLO PER CORTESIA

Scopo di questa guida è rendere accessibile a tutti un hack che di fatto ha aperto la strada alle homebrew su xbox360 con tutto quello che ne consegue, ora possiamo con facilità avviare codice non signato su una xbox360 (come loader, emulatori, ecc.) e non solo...

INDICE:



- PREREQUISITI -



- COSA VI OCCORRE -



- FASE I - PUNTI SULLA SCHEDA E SALDATURE -



- FASE IIa: ESTRAZIONE DELLA NAND -



- FASE IIb: VERIFICA DEL CB -



- FASE III: SCRITTURA KERNEL PATCHATO -



- OTTENIAMO LA CPU KEY TRAMITE AVVIO IN XELL -



- APPENDICE A (BY PREACHING): CONSOLE con NAND 256/512mb -



- APPENDICE B (trad. by Markus): Aggiornamento XBR via Gentoo live cd -



- APPENDICE C (guida by freelancer): Risoluzione problema Bad Block -



- APPENDICE D (guida by freelancer): VERIFICARE I DUMP TENENDO CONTO DEI BAD BLOCK -


- PREREQUISITI -


Innanzitutto occorre chiarire che questo hack è possibile solo su console con dashboard non aggiornata a versioni 8xxx (quindi fino a 7xxx)
Per verificare la versione della vostra xbox vi basterà andare in "Impostazioni di Sistema" -> "Impostazioni Console" -> "Informazioni di Sistema"
nella parte sotto a destra potrete verificare la versione della vostra dash così come indicato in figura
JTAG_Hack_p_02.JPG

Nel mio caso ho una dash 7371 con Cx 1888
Possiamo quindi procedere allo smontaggio della xbox360.

ATTENZIONE: Le console dopo metà giugno 2009 pur avendo una dashboard teoricamente adatta non possono essere jtaggate perchè dotate del nuovo bootloader a cui è stato chiuso l'exploit

- COSA VI OCCORRE -


Per eseguire l'hack vi servirà questo materiale:
- Un saldatore a punta fine (massimo 60 watt)
- Del filo fino da modifica (vedi foto) [ma anche ad esempio i fili di un vecchio cavo flat vanno bene]
- delle resistenze da 100 ohm DA 1/4 (vedi foto)
- dei diodi 1N4148 o 1N914 o equivalenti (vedi foto) [io ho usato diodi 1N4148]
- un connettore maschio LPT DB25 (vedi foto)
- Un PC su cui sia possibile configurare la porta lpt in normal mode
-
Perfavore, Entra oppure Registrati per vedere i Link!

- L'XBReboot relativo alla vostra versione di scheda madre (reperibile su xbins)
A questo proposito (come segnalato da freelancer) l'unica accortezza per scegliere l'xbreboot corretto è per i possessori di jasper in quanto ci sono 2 versioni, la XBR_Jasper16_8955_3 e la XBR_Jasper16a_8955_3
per console aventi nuovo southbridge (flashconfig=00023010, verificabile con nandpro come da screen qui sotto) occorre usare la versione 3a
23010c.jpg


JTAG_Hack_p_03.JPG
JTAG_Hack_p_04.JPG
LTP_Male.jpg


A questo punto possiamo procedere

- FASE I - PUNTI SULLA SCHEDA E SALDATURE -


Premessa: potrebbe capitarvi che pur avendo una dash compatibile abbiate poi una versione di CB non compatibile col JTAG Hack, quindi nel dubbio potete procedere prima con i soli punti LPT, passare alla fase IIa e poi IIb e solo a quel punto procedere poi con le saldature del JTAG Hack subito prima della fase III, io avendo una delle prime console sono andato quasi sul sicuro per cui ho proceduto con entrambe le saldature in una sola volta

per una identificazione veloce ma sommaria della versione della vostra console fate riferimento all'attacco dell'alimentatore come da foto:
versioni%20360_.jpg


Andiamo quindi ad individuare i punti che ci interessano nella scheda madre della xbox360 ed iniziamo col coprire i punti con una goccia di stagno (in modo da facilitarci poi il lavoro).
La parte della scheda interessata è questa (clicca per ingrandire):
Perfavore, Entra oppure Registrati per vedere i Link!


A seconda del vostro modello di xbox dovrete individuare i relativi punti.
in foto gli schemi per le XENON: (NELLA FOTO LA BARRA SOPRA IL TRIANGOLO INDICA IL VERSO DEL DIODO, cioè l'anello nero va nel verso indicato dal triangolo)
JTAG_Xennon.jpg

sbl_hdd_1.jpg


e per le altre versioni di console (Zephyr, Falcon, Opus e Jasper):
clicca per ingrandire
Perfavore, Entra oppure Registrati per vedere i Link!


punto alternativo (FT1U2) al DB1F1:
FT1U2_alternativo.jpg


Punti JTAG ALTERNATIVI (clicca per ingrandire)
Perfavore, Entra oppure Registrati per vedere i Link!


una volta saldati i fli sul connettore maschio (teneteli corti, sui 35 cm per evitare di raccogliere troppe interferenze) e magari segnati col relativo colore tramite un pezzettino di scotch (vedi figura) potete iniziare a saldare l'altro capo dei fili sulla scheda madre della xbox360 cercando di ottenere una saldatura bella viva (scongiurando quindi il problema delle saldature fredde il cui stagno alla vista risulta opaco)
JTAG_Hack_p_06.jpg
Perfavore, Entra oppure Registrati per vedere i Link!

Perfavore, Entra oppure Registrati per vedere i Link!


A questo punto siamo pronti, colleghiamo il connettore al PC (avendo preventivamente settato la porta LTP da BIOS in SSP, Normal o Default a seconda del vostro bios) e alimentiamo la console (SENZA ACCENDERLA, SOLO LA SPINA DELL'ALIMENTATORE ATTACCATA ALLA PRESA)

JTAG_Hack_p_09.jpg


- FASE IIa: ESTRAZIONE DELLA NAND -

ATTENZIONE: Per problemi in lettura fate riferimento anche alla APPENDICE E più sotto

Scompattiamo il contenuto di nandpro in C:\nandpro (la cartella nandpro la creiamo noi ovviamente)
Installiamo il pacchetto di drivers port95nt.exe (sempre contenuto nel pacchetto nandpro) e riavviamo il pc.
A questo punto, una volta riavviato, passiamo su DOS, andiamo su "Start" -> "Esegui..." -> digitiamo CMD e schiacciamo "Invio"
Siamo ora nella finestra dos, digitate "cd C:\nanpro" seguito da "Invio" per posizionarvi nella cartella del nandpro e a questo punto siamo pronti ad estrarre la nand, ci basterà digitare questo comando seguito da "Invio":

NandPro lpt: -r16 nand1.bin

ed attendere l'estrazione della nand (per i 16mb della nand occorreranno circa 45 minuti)
extr_nand_360.JPG


P.S. se dopo aver verificato saldature,correttezza punti, si continua ad avere un errore del tipo "could not detect a flash controller" con nand pro provate a togliere le 5 resistenze dall lpt (MA FATELO COME ULTIMA SPIAGGIA)

una volta terminata la prima estrazione procediamo con la seconda digitando questo comando:

NandPro lpt: -r16 nand2.bin

Finita anche questa seconda estrazione procediamo con la comparazione delle nand, CHE DEVONO NECESSARIAMENTE ESSERE IDENTICHE, digitando questo comando:

fc nand1.bin nand2.bin /b

Se sono identiche dovrete ottenere questo messaggio:
JTAG_Hack_p_10.jpg

se invece otterrete una serie di errori dovrete procedere all'estrazione di una nuova nand, magari controllando prima che non ci siano interferenze, e lasciando il pc "in pace" mentre estraete (andate a farvi un giro mentre aspettate)

PROCEDETE SOLO DOPO AVERE OTTENUTO 2 BACKUP IDENTICI!
PER LE CONSOLE con NAND da 256/512mb fate riferimento anche all'APPENDICE a fondo guida scritta da PREACHING

- FASE IIb: VERIFICA DEL CB -

verifichiamo con 360 Flash Tool v0.91 (reperibile su xbins) di avere effettivamente la possibilità di eseguire il jtag hack, apriamo quindi il nostro backup della nand e verifichiamo che il CB sia nella lista qui sotto degli exploitabili:
1888, 1902, 1903, 1920,1921 (xenon)
4558 (Zephyr)
5761, 5766, 5770 (falcon)
6712, 6723 (jasper)
ecco in figura la mia nand che ha CB 1888
JTAG_Hack_p_13.jpg


con CD=8453 invece questa la lista dei CB su cui NON è possibile attuare il JTAG hack:
1922, 1923, 1940 (Xenon)
4571, 4572, 4578, 4579 (Zephyr)
5771 (Falcon-Opus)
6750 (Jasper)

Se quindi siamo nelle condizioni di poter eseguire il JTAG Hack proseguiamo


- FASE III: SCRITTURA KERNEL PATCHATO -

Procediamo quindi con l'estrazione del keyvault e del configblock dal nostro backup, usiamo questi comandi:

nandpro nand1.bin: -r16 rawkv.bin 1 1

nandpro nand1.bin: -r16 rawconfig.bin 3de 2

Prendiamo il kernel patchato relativo alla nostra versione di scheda madre (nel mio caso lo XBR_Xenon_8955_1 avendo il Cx a 1880) e per comodità rinominiamolo in XBR.bin posizionandolo sulla cartella del nandpro.
A questo punto passiamo alla preparazione del nostro kernel patchato inserendo le info appena estratte dal kernel originale:

nandpro XBR.bin: -w16 rawkv.bin 1 1

nandpro XBR.bin: -w16 rawconfig.bin 3de 2

Abbiamo così ottenuto il nostro kernel patchato e siamo pronti per andare a scriverlo sulla nostra xbox360, digitiamo perciò il comando di scrittura:

NandPro lpt: -w16 xbr.bin

Andate a farvi un giro, non usate assolutamente il pc e tornate a operazione conclusa
JTAG_Hack_p_11.jpg


ATTENZIONE: Come potete vedere dallo screen io ho inserito solo il keyvault e non il configblock sul kernel perchè questo in alcuni casi può creare problemi, il configblock contiene delle info non vitali al sistema (tipo il mac adress) e la console funziona perfettamente anche senza settarlo col proprio.
Nel caso inseritelo e se riscontrate problemi rifate l'XBR.bin senza, io per velocità l'ho fatto direttamente col solo keyvault.

Bene se tutto è andato a buon fine non vi resta che collegare la xbox360 alla tv e verificare che si accenda
biggrin.gif

Ci impiegherà un pò di più di prima perchè prima si carica lo XELL e poi viene lanciato il kernel patchato.
Al primo avvio sarà come avere una console nuova appena uscita dalla scatola perciò dovrete fare tutti i settaggi di lingua paese ecc.


- OTTENIAMO LA CPU KEY TRAMITE AVVIO IN XELL -

ATTENZIONE! Dallla versione 3 di XBReboot per accedere allo Xell occorrerà accendere la xbox tenendo schiacciato il tasto eject
Non funziona in HDMI!

Se tutto è andato bene siamo a questo punto in grado anche di estrapolarci anche la CPU Key avviando la console in modalità Xell
ci basterà accenderla usando il tasto "windows" presente sul telecomando 360 oppure con un pad a filo collegato sulla porta usb posteriore e accendendo tenendo premuta la X sul pad.
Per leggere la CPU Key dovrete fotografarvi la scermata in foto ed estrapolarvelo sommando le righe 3o4 con la 5o6
Ridimensiona a 85% (era 828 x 530) - Clicca per allargare
JTAG_Hack_p_12.jpg


la CPU Key vi potrà poi essere utile usando Flash Tool 0.91 per decriptare la keyvault (e ad esempio ricavare tutte quelle info della console come la key del lettore ecc., cosa che può essere utile magari a chi ha perso la key, o cmq è una sicurezza in più contro gli smarrimenti
smile.gif
)

ATTENZIONE! Dallla versione 3 di XBReboot per accedere allo Xell occorrerà accendere la xbox tenendo schiacciato il tasto eject
Non funziona in HDMI!

- PROBLEMI E RISOLUZIONI -

verrà aggiornato via via il post con i problemi risocntrati e con la relativa soluzione.

- APPENDICE A (BY PREACHING): CONSOLE con NAND 256/512mb -

Senza dilungarmi inutilmente, passo direttamente alla fase di estrazione della Nand, visto e considerato che tutto ciò che bisogna fare prima (montaggio del Jtag e della parallela) è tutto identico alla guida di Pollofritto.

Per chi non lo sapesse queste benedette Jasper da 256/512 una parte della nand è spazio vuoto che ha funzione di Memory Card. La Bios interessa solo i primi 64MB della Nand.

facciamo il dump della nand dei primi 64mb (il resto è adibito a memory card quindi non ci interessa):

nandpro lpt: -r64 Orig.bin

Durante l'estrazione della nand non preoccupatevi se vi rileva errori di letture del tipo 250 e 210. Per la loro trattazione vi rimandiamo alle appendici C e D.
Fate un secondo backup e verificatene l'uguaglianza col precedente così come da guida principale.

Adesso che avete il vostro Orig.bin e appurato che è stato estratto senza errori è imprtante verificare il CB della vostra console. Purtroppo il Degrader ancora non ha la possibilità di aprire nand da 256/512, l'unico modo per farlo è procurarsi il FlashTool.06. Nel caso delle Jasper, per poter fare la modifica, deve essere 6712 o 6723. Se avete una 6750 la modifica non si potrà fare.

Passiamo all'estrazione da esso del KV.Bin e del Config.bin:

nandpro orig.bin: -r64 kv.bin 1 1

e

nandpro orig.bin: -r64 config.bin ef7 2

Adesso vi troverete nella cartella del nandpro i file kv.bin e config.bin.
Procuratevi l'XBR_Jasper_256_512.bin più recente disponibile su xbins e copiatelo nella cartella del nandpro, rinominatelo per praticità xbr.bin
Non ci rimane che mettere al suo interno il kv.bin e il config.bin:

nandpro xbr.bin: -w64 kv.bin 1 1

e

nandpro xbr.bin: -w64 config.bin ef7 2

Adesso tutto è pronto per poter modificare la vostra console.
Eseguite il seguente comando:

nandpro lpt: -w64 xbr.bin

Non preoccupatevi, non dovrete aspettare 12ore, il nandpro scriverà soltanto il file xbr.bin che è 64MB, quindi in un paio d'ore tutto sarà finito.
Se durante la lettura della vostra Orig.bin avete ottenuto un errore 250 leggete le appendici C e D.


- APPENDICE B (trad. by Markus): Aggiornamento XBR via Gentoo live cd -

Occorrente:

- XBOX 360 che fa partire XELL
- Disco Gentoo Live V2 (lo potete scaricare da
Perfavore, Entra oppure Registrati per vedere i Link!

- Un'immagine XBR con i file KV iniettati (quindi pronta per essere flashata)
- Un mouse USB e una tastiera USB
- Una penna USB (meglio non più grande di 4GB e formattata in FAT32) nel quale avete messo l'immagine XBR e
Perfavore, Entra oppure Registrati per vedere i Link!
(estratto dal rar) che aggiunge la compatibilità alle xbox 256/512 ( il vecchio
Perfavore, Entra oppure Registrati per vedere i Link!
era compatibile solo con le xbox 16mb quindi nella guida sotto sostituite lflash.c che fa riferimento al vecchio lflash con xbrflash.c)


NOTA: DALLA VERSIONE 0.3.5 L'XBRFLASH è GIà PRECOMPILATO PER CUI SALTATE QUELLA PARTE SULLA GUIDA, FATE RIFERIMENTO A
Perfavore, Entra oppure Registrati per vedere i Link!


Premessa:

Per lanciare XELL ci sono diversi metodi: i piu famosi sono quelli di collegare un joypad col filo nella porta USB posta sul retro sulla console e premere il tasto centrale col simobolo della X, altrimenti un'altro metodo è quella di utilizzare il telecomando media remote e premere il tasto Windows, altro metodo è quello di collegare una tastiera USB sempre sul retro della console e premere il tasto Windows (anche se con molte tastiere questo metodo non funziona)

Procedimento:

01. Inserire il disco Gentoo Live V2 e lanciare XELL con uno dei metodi sopra elencati, verrà avviato la distro di linux

02. Caricato gentoo, aprire il terminale ( Applications->Accessories->Terminal )

xbr_linux_1.jpg


03. Scrivere "sudo passwd" (senza le virgolette), il prompt ora vi chiederà di inserire una nuova password e successivamente vi chiederà di rimetterla per verificare che sia corretta (i caratteri della password non vengono mostrati)
Questo vi da i permessi di amministratore
xbr_linux_2.jpg


04. Ora si passa a scrivere i comandi per caricare la penna USB

Inserite la penna USB nella presa posteriore della console (sulle porte usb davanti dovreste avere collegato il mouse usb e la tastiera usb)
- Nel terminale scrivete "su" (senza le virgolette) vi chiederà la password, inserite quella che avete scelto prima
- scrivete "cd Desktop/" per cambiare la directory in Desktop
- scrivete "mkdir flash" per creare la cartella flash sul desktop
xbr_linux_3.jpg


Scrivete "dmesg | grep -i "SCSI device"" (senza le virgolette esterne, le virgolette dove c'e scritto SCSI Device devono essere scritte)
Questo comando vi dirà un messaggio simile a questo:
SCSI Device sda: ... (4GB)
La parte importante qua è la parte dopo Device (in questo caso è sda, ma potrebbe essere anche sdb o sdc, quindi segnatevela)
Scrivete "pwd", questo vi mostrerà il percorso al desktop
Infine scrivete "mount -t vfat -o uid=gentoo,gid=users /dev/sda1 /home/gentoo/Desktop/flash"
[se non era sda l'indirizzo della periferica usb (ma se l'avete messa dietro sarà quello) dovrete sostituire il "sda" con quello che vi sarà indicato così come detto sopra]

05. Dovreste avere una cartella sul desktop chiamata flash e dentro a questa cartella se i comandi di copia sono andati a buon fine dovreste ora avere i file xbr.bin (o il nome file del vostro xbreboot patchato se lo avete chiamato in modo diverso) e il file lflash.c

06. Nel terminale scrivete "cd flash" per cambiare la cartella nella penna USB

07. scrivete "gcc lflash.c", questo comando compilerà il file e creerà un file chiamato a.out sulla penna USB

08. scrivete "chmod +x a.out", questo comando lo renderà eseguibile

09. Infine scrivete "./a.out backupnand.bin xbr.bin", questo creerà un file chiamato backupnand.bin e inizierà il flash del file xbr.bin sulla NAND (cambiate xbr.bin con il nome del vostro file)

10. la NAND verrà scritta e una volta finito il comando non dovrete far altro che spegnere e riaccendere la console pregando che si avvi con il kernel
xbr_linux_4.jpg


Questo il messaggio se tutto sarà andato a buon fine:
xbr_linux_5.jpg


ATTENZIONE! Dallla versione 3 di XBReboot per accedere allo Xell occorrerà accendere la xbox tenendo schiacciato il tasto eject


- APPENDICE C (guida by freelancer): Risoluzione problema Bad Block -

APPENDICE C: IL PROBLEMA DEI BAD BLOCK

Il problema: I chip nand hanno (quasi) sempre dei difetti di fabbricazione chiamati Bad Block. Il controller della nand risolve semplicemente rimappandoli alla fine della memoria. L'immagine seguente mostra com'è organizzato il remapping su una NAND da 16MB:
nandsbs.jpg


Il programma nandpro, tuttavia, legge e scrive immagini fisiche 1:1 e non eseguirà il remapping durante il flash di XBR.BIN dando luogo ad un errore. In molti casi questo passa inosservato perché interessa porzioni della nand non essenziali per il funzionamento della console, in altri può portare ad anomalie come:

-Freeze in gioco.
-Crash della dashboard.
-Xell parte e la dashboard no.
-Errore a schermo.
-La console non si avvia affatto (schermo nero).

Voglio evidenziare che questi sono i sintomi di una nand parzialmente corrotta. Cio' non è sempre dovuto a bad blocks, ma puo' anche essere causato dai seguenti comportamenti:

-Toccare i pin del connettore lpt
-Saldare/Dissaldare il connettore lpt
-Saldare/Dissaldare i collegamenti del JTAG/HACK
-Toccare i contatti vicini al chip NAND

L'ideale è scrivere la nand come ultima cosa, evitando dopo la scrittura di "pasticciare" ancora sulla scheda madre.

La soluzione: Il metodo di remapping manuale che vado a descrivere funziona con le NAND small block (quelle da 16MB), il remapping per le console large block è concettualmente simile ma cambia l'organizzazione della memoria, lo spieghero meglio in seguito. Per sapere quanto è grande la vostra nand semplicemente guardate la dimensione della Memory Unit interna usando la dashboard. Le 16MB non hanno MU, le 256MB hanno una MU di circa 200MB e le 512MB hanno una MU di circa 450MB.

CASO DI UNA NAND DA 16MB

Supponiamo che nandpro durante la lettura vi dia un output come il seguente:

59110121.jpg


Se ripetendo più volte la lettura quei blocchi resteranno sempre illegibili, vuol dire che agli indirizzi C7 e 1C6 ci sono Bad Block. I veri C7 e 1C6 si troveranno alla fine della nand e questo può anche essere verificato controllando il nand.bin con un hex editor, normalmente al termine del file c'è del riempimento con 0xFF e non dati. Ora l'indirizzo dell'ultimo blocco della nand dipende dalla sua dimensione ed è indicato da nandpro. In questo caso la console è una 16MB quindi l'indirizzo dell'ultimo blocco è 0x3FF.

Ritornando ai nostri Bad Block, il remapping sarà C7 --> 3FF e 1C6 --> 3FF-1 = 3FE il primo blocco e mappato sull'ultimo il secondo sul penultimo e così via (calcoli sempre in esadecimale).

Prendiamo quindi la nostra immagine XBR (fermiamoci guida standard di pollofritto proprio prima del flash) ed estraiamo i blocchi C7 e 1C6:

nandPro xbr.bin: -r16 bad1.bin C7 1
nandPro xbr.bin: -r16 bad2.bin 1C6 1

Quindi eseguiamo normalmente il flash con il comando:

nandpro lpt: -w16 xbr.bin

E sovrascriviamo alla fine della nand i 2 bad block rimappati con i comandi:

nandpro lpt: -w16 bad1.bin 3FF 1
nandpro lpt: -w16 bad2.bin 3FE 1

CASO DI UNA NAND DA 256/512MB

Innanzittutto queste nand hanno blocchi raw (comprensivi di ECC) da 132KB, le console da 16MB avevano blocchi RAW da 16.5KB, quindi un blocco LARGE è pari a 8 blocchi SMALL. In secondo luogo prevedono un partizionamento in due aree, la nand di sistema vera e propria che prende i 66MB RAW iniziali e la memory unit interna della console che occupa tutto il resto. Ora quando eseguiamo backup ripristini e flash, della MU ci importa poco o nulla, per questo motivo (come riportato nell'appendice A di questa guida) possiamo limitarci ad usare comandi del tipo:

nandpro lpt: -r64 nand.bin
nandpro lpt: -w64 nand.bin

che considerano solo i primi 64MB (che poi in RAW sarebbero 66MB). Il remapping è eseguito separatamente sulle due partizioni come mostra l'immagine qui sotto:
nandlbs.jpg


Quindi ricapitolando dobbiamo partire da files da 66MB e rimappare tutti i bad block alla fine di quest'area. La cosa non è cosi' immediata da fare manualmente perchè nandpro non fa nessuna differenza fra largeblock e smallblock, si limita al estrarre blocchi RAW da 16.5KB e gli indirizzi di blocco che fornisce sono riferiti al partizionamento logico di una small block. Un alternativa valida è procedere in due step.

1) Creiamo l'immagine XBR.BIN come da appendice A) e la scriviamo con "nandpro lpt: -r64 XBR.BIN". La nostra nand avrà a questo punto il bad block remapping sbagliato, pero' potremo avviare linux. Infatti la probabilità che un bad block comprometta xell è piccola ed in ogni caso possiamo sempre ripristinare la situazione precedente con "nandpro lpt: -r64 nand.bin" e fixare con il faticoso remapping manuale.

2) Avviamo linux e procediamo con xbrflash/lflash come spiegato nell'appendice
cool.gif
cioè usando ./a.out backupnand.bin xbr.bin

Questo sistemerà automaticamente i badblocks su qualsiasi console. Xbrflash non è assolutamente da considerarsi bugfree, ma qualunque errore potrà essere recuperato con un reflash da nandpro del vostro backup iniziale nand.bin (CHE VOI CONSERVERETE SEMPRE IN UN POSTO SICURO). Inoltre gli errori delle vecchie versioni vengono automaticamente corretti dalle nuove. Infatti l'esito del comando è indipendente dal livello di corruzione dell'attuale nand, l'importante è che sia corretto xbr.bin.

APPENDICE D (guida by freelancer): VERIFICARE I DUMP TENENDO CONTO DEI BAD BLOCK



Problema: I bad blocks sono zone di nand dove i dati si corrompono, leggendo due volte un bad block è possibile riscontrare differenze perchè la circuiteria del chip selezionando quel blocco potrebbe riportare un output variabile in alcuni bit. Pertanto può accadere (ed in effetti accade) che dumpando 10 volte si ottengano 10 file diversi che sono pur sempre tutte immagini valide.

Soluzione: Il comando "FC NAND1.BIN NAND2.bin /b" fa uno confronto stretto byte per byte dei file NAND1.BIN e NAND2.BIN restituendo un output del tipo:

00334E11: FF FE
00334E1A: EF FF
00334EF6: FE FF
00334F34: FE FF
00754B1B: FD 7D
00754B62: F8 FC
00754B74: FA FE
00754BDD: FF FD

Nella prima colonna ci sono gli INDIRIZZI in cui i due file differiscono. Per recuperare il numero di blocco a partire da un indirizzo devo distinguere fra nand small block (16MB) e large block (256MB/512MB).

SMALL BLOCK (16MB)

Un blocco è 16KB = 16*1024, ma per ogni KB ci sono 32byte di dati ECC quindi il "raw" block è 16*1024+16*32 = 16896, in esadecimale 0x4200.

Per prima cosa eliminiamo un po' di indirizzi per semplificare la procedura. Poichè i blocchi sono grandi 0x4200 byte e 0x4200 * N = 0x?????00 , di sicuro le ultime due cifre discriminano tra byte nello stesso blocco pertanto non le consideriamo. Gli indirizzi del mio esempio diventano:

00334E
00334E
00334E
00334F
00754B
00754B
00754B
00754B

Come vedete gli unici indirizzi SIGNIFICATIVI ai fini di determinare i blocchi sono 0x334E , 0x334F e 0x754B. A questo punto per trovare il numero di blocco basta usare la formula:

BLOCCO = [INDIRIZZO SIGNIFICATIVO] / 42

E' una divisione intera in esadecimale, usate la calcolatrice negli accessori di windows dopo aver impostato visualizza a "scientifica" con la spunta su "Hex" invece di "Dec".

Numericamente ottengo:

334E/42=C7
334F/42=C7
754B/42=1C6

I blocchi con errori di comparazione sono C7 ed 1C6.

Se l'output di nandpro riportasse ripetutamente errori del tipo:

59110121.jpg


potremmo stare tranquilli perchè tutte le differenze cadono in bad block della nand. In pratica entrambi i dump, NAND1.BIN e NAND2.BIN sono validi. E' come se fossero UGUALI perchè i bit in cui differiscono sono in zone non leggibili quando l'X360 opera normalmente.

LARGE BLOCK (256MB/512MB)

Qui può crearsi confusione. La nand large block (come il nome vuole) possiede blocchi più grandi, esattamente 128KB. Pero' nandpro continua leggere blocchi da 16KB, in futuro potrebbe essere diverso, ma per ora è cosi'. Questo vuol dire che almeno per il momento la verifica degli errori di una nand LARGE CON BAD BLOCK puo' essere fatta con lo stesso metodo usato per le small block. Seguite pure la procedura descritta nel caso precedente.

NOTA:

Si può usare "FC nand1.bin nand2.bin /b >> out.txt" per ridirigere l'output di FC su un file di testo nel caso le differenze fossero troppe per esaminarle su schermo
wink.gif



APPENDICE E (guida by vaser): RISOLUZIONE PROBLEMI IN LETTURA DA LPT A 5V


A volte bisogna cambiare PC per poter leggere la NAND perchè quello in uso non ne vuole sapere.

Questo perchè alcune mainboard hanno il + 5v anzichè il 3,3v nella LPT, questo fa si che la NAND della Xbox vada in surriscaldamento e genera dati errati, ecco perchè facciamo 10 letture di NAND che non corrispondono.

Per ovviare a questo problema ci viene incontro il manuale dell'elettronica, il quale dice di piazzare delle resistenze per abbassare il voltaggio.
In base allo schema di Pollo, bisogna cambiare qualcosina, ovvero la disposizione delle resistenze e l'aggiunta di un diodo 1N4148 ad alta velocità.
Passiamo ai fatti:

al pin 1 della LPT posizioneremo la nostra fedele resistenza da 100 ohm, così come ai pin 2 - 14 -16 -17, voi direte ma nella guida non c'è la resistenza sui piedini 16 - 17, perchè chi a monte ha scritto la guida aveva una LPT a 3,3v e non ha pensato che le altre schede madri differenziavano nei volt.

Vi siete accorti che il pin 18 non ha più la resistenza ? Perchè il pin 18 è il gnd (massa o negativo per i niubbi) quindi una resistenza su questo piedino è inutile, tanto un corto non salverebbe nessuno anche con la resistenza, quindi il pin 18 va libero senza resistenza.

Adesso viene il bello, visto che abbiamo abbassato i volt e non sappiamo di quanto perchè con le resistenze è approssimativo il calcolo non può essere preciso, piazziamo un diodo 1N4148 sul piedino 11 (vedi foto), ma fate attenzione il diodo va saldato sulla mainboard della Xbox, a differenza delle resistenze che si possono piazzare dietro il connettore LPT, la polarità del diodo deve essere in uscita dalla LPT, in poche parole l'anello nero va saldato verso la mainboard della XBOX

lettura%20altern.jpg


Adesso potete collegare la vostra LPT al PC che non ne voleva sapere e leggerete tranquillamente la NAND, anche in scrittura ho notato un miglioramento, prima mi capitava che di tanto in tanto flashando mi uscivano errori o tre led rossi, adesso al primo colpo va tutto, ho provato più volte e sempre lo stesso risultato, non ho avuto nessun problema di errori o altro.

RICAPITOLANDO:

LPT
1= R 100 ohm;
11= diodo 1n4148 anello verso mainboard xbox va saldato direttamente sulla mainboard e non vicino alla lpt;
16= R 100 ohm;
17= R 100 ohm;
2= R 100 ohm;
14= R 100 ohm;
18= nessuna resistenza perchè è il gnd;
per finire ho saldato un filo sul connettore lpt e collegato al case metallico della Xbox per evitare ogni interferenza, il cavo che va saldato al connettore LPT maschio, quello che poi va dietro al pc, è fondamentale, questa mattina ho fatto prove senza e alcune letture erano fake, per i meno esperti prima di saldare il filo vicino alla lpt grattare la cromatura, altrimenti lo stagno non attacca.

APPENDICE F (guida by heretic): POSSIBILE RISOLUZIONE PROBLEMI 3 LED ROSSI ED ERRORI 0020 0021


sintomi:
La mia console si accendeva solo se era "calda" dopo mille accendi e spegni, dava RROD con codici di errore 0020 0021, e dopo un pò invece dava led verdi e si accendeva.

soluzioni:
una resistenza da 300 ohm (io ho messo 100 ohm e sembra andare bene)
Tra il punto 4 e 7 , il ponte per intenderci (vedi foto)

resistenza%20su%20jtag.jpg


Fonte: NEXTRL
 
Bravo bella guida! :emoji_slight_smile: Anche se sembra un copia e incolla... Cmq non consiglio di provarci se nn si è esperti potreste rovinare un xbox :ragione: