[GUIDA] JTAG Hack for Dummies

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Niente dei, niente padroni

    Group
    Amministratore
    Posts
    28,458
    Punti G
    +477
    Location
    Napoli

    Status
    Stato
    Anonymous

    xbox-360-jtag-hack-ixtreme-1.2-modifikacija-slika-2561585



    :spoiler: ATTENZIONE: NE' IO NE' XBOX FORUM 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

    - FAQ E DOMANDE SU JTAG HACK (by Vaser)






    - 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
    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
    - NandPro 2.0d
    - 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

    JTAG_Hack_p_03 JTAG_Hack_p_04

    LTP_Male

    - 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_

    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):
    JTAG_Hack_p_05_mini

    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

    sbl_hdd_1

    e per le altre versioni di console (Zephyr, Falcon, Opus e Jasper):
    LTP_JTAG_diagram_zephyr-falcon-opus-jasper_1

    punto alternativo (FT1U2) al DB1F1:
    FT1U2_alternativo

    Punti JTAG ALTERNATIVI (clicca per ingrandire)
    JTAG_alternative_diagram_zephyr-falcon-opus-jasper_1_1

    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

    JTAG_Hack_p_07_mini

    JTAG_Hack_p_08_mini

    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

    - 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

    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

    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

    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

    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 :D
    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
    JTAG_Hack_p_12

    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 :) )

    ATTENZIONE! Dallla versione 3 di XBReboot per accedere allo Xell occorrerà accendere la xbox tenendo schiacciato il tasto eject
    Non funziona in HDMI!
     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Niente dei, niente padroni

    Group
    Amministratore
    Posts
    28,458
    Punti G
    +477
    Location
    Napoli

    Status
    Stato
    Anonymous

    - 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 QUESTO 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 xbrflash v.0.3.5 (estratto dal rar) che aggiunge la compatibilità alle xbox 256/512 (il vecchio lflash.c 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

    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

    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

    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

    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

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

    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

    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:
    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

    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 B) 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:
    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

    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

    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

    FAQ E DOMANDE SU JTAG HACK (by Vaser)



    1. Che cos'è il Jtag Hack ? A cosa serve ?
    R. Il Jtag Hack è una modifica software e hardware alla Xbox 360, serve per avviare applicativi non necessariamente proprietari della casa produttrice della console, tipo emulatori, software di gestione, sistemi operativi, etc.

    2. Apportando questa modifica alla console posso ritornare al mio vecchio Kernel ?
    R. Certo, l'operazione è pienamente reversibile in qualsiasi momento.

    3. Come faccio a sapere che la lettura della mia nand è buona e non ci sono errori di lettura ?
    R. La certezza la puoi avere solo leggendo + volte la nand e controllando che le saldature LPT/USB siano fatte bene e che i filamenti saldati non si tocchino con altri punti, puoi verificare la bontà delle saldature tirando leggermente i fili appena saldati.

    4. Ho letto la mia nand, ma tutte le scritture si differiscono una dall'altra, quale devo prendere per buona ?
    R. Controlla nuovamente le saldature, verifica che i fili non si tocchino, la lungezza dei fili, hai messo il diodo sul pin 11 LPT sulla mainboard come da guida. Rieffettua nuovamente 3 letture e confrontale tra loro.

    5. Durante la lettura mi da error: 250 block xxx, cosa significa ?
    R. Hai uno o più Bad Block, leggi la guida su come rimapparli.

    6. La lettura dei backup della nand sono identiche, come devo procedere ?
    R. Leggi la guida, ci sono tutti i comandi in prima pagina.

    7. Ho scritto XBRebooter, ma la console mi da errore E79, cosa può essere ?
    R. Hai saldato il vero JTAG ? Hai ponticellayo i pin 4 - 7 come da guida ? Ricontrolla le saldature.

    8. Il Jtag Hack è stato saldato correttamente, ma mi da errore RROD, E71, etc., perchè ?
    R. Le cause potrebbero essere tante, la più semplice da adottare è quella di saldare una resistenza 330 ohm tra i pin 4 - 7 del Jtag, se non risolvi allora riscrivi la tua nand estratta e verificane la bontà della stessa, se parte allora c'è stato qualche problema nella scrittura dell'XBR, riscrivilo senza usare il PC durante questa fase.

    9. Durante la scrittura mi da error: 202 programming block xxx, cosa è ?
    R. Se durante la lettura della nand ti ha dato error: 250 allo stesso block xxx significa che è un bad block, estrailo come da guida in prima pagina e iniettalo nella nand, avresti dovuto farlo dall'inizio.

    10. L'errore 202 che nandpro riporta non è riscontrato nella lettura, soluzioni ?
    R. Nandpro a volte da errori in scrittura, basta inviare il comando per riscrivere quel blocco singolo, tipo: nandpro lpt: -w16 xbr.bin xxx 1 (xxx è il blocco che ha restituito l'errore 202, 1 sta a significare che deve scrivere solo quel blocco).

    11. La LPT è lenta, ci sono altri modi più veloci per il JTAG ?
    R. Certo, ma a tuo rischio e pericolo e con la consapevolezza che non potrai tornare al vecchio Kernel, puoi leggere direttamente il KV e Config con i seguenti comandi:

    nandpro lpt: -r16 KV.bin 1 1
    nandpro lpt: -r16 Config.bin 3DE 2

    Opuure installando Xell come postato nella pagina principale.

    12. La console si avvia, ho installato XBReboot, come installo gli emulatori e altro ?
    R. In questa guida non si parla su come installare gli emulatori o altro, ci sono altre sezioni nel forum dedicate a questo.

    13. La console riscalda troppo, cosa può essere ?
    R. Il Jtag Hack fa surriscaldare maggiormente la console perchè XBR rimappa le tensioni della CPU e GPU (vedi SMC.bin) , puoi trovare rimedi a questo ricercando la soluzione in altre sezione del forum.

    14. Ho provato XBReboot e non mi piace, come torno indietro ?
    R. Semplice, riscrivi la nand letta in partenza con gli stessi comandi della guida, sostituendo il nome del file .bin con quello dato alla tua nand.

     
    Top
    .
1 replies since 22/4/2014, 15:48   496 views
  Share  
.
Top