Il developer Shiny Quagsire ha rilasciato la prima versione stabile di de_Fuse ZIP, il modchip (WIP) per console Wii U basato sul glitching OTP eFuse.
Il modchip open source ci permette di ottenere l’esecuzione del boot1 iniettando un problema nella tensione poco dopo il ripristino, prima che la console inizi ad eseguire il codice.
de_Fuse v1.0 is now released! jan-hofmeier has been hard at work improving redNAND and isfshax, so everything is more or less stable enough for the big 1.0https://t.co/pjPwsvGg9m
— Shiny Quagsire (@ShinyQuagsire) May 13, 2024
Lo sviluppo del modchip de_Fuse ha avuto inizio su console Wii Mini, all’epoca dei fatti non ancora hackerata, nato con lo scopo di eseguire il glitch sul boot0.
Il developer jan-hofmeier ha dedicato tempo per migliorare la redNAND e isfshax, garantendo maggiore stabilità in questa prima versione stabile.
Le novità includono il supporto ECO mode per minute/minute boot1 e Pico firmware, oltre a significativi miglioramenti per redNAND, come la disabilitazione di SFCM e la crittografia.
Istruzioni per l’installazione
Requisiti
boot1.img
– Immagine della scheda SD per minute_minute.boot1_slccmpt.img
– boot1 di minute flashabile su NAND, per l’utilizzo di schede SD >2GiB.fw.img
– Bootloader principale, minute.wiiu/ios_plugins/wafel_core.ipx
– Core Stroopwafel, questa plugin viene caricato per prima e avvia tutti gli altri plugin inwiiu/ios_plugins
.otp.bin
– Questo può essere scaricato tramite il menu di minute, sottoBackup and Restore
>Dump OTP via PRSHhax
. Il menu sarà ancora disponibile seotp.bin
non è presente, tuttavia IOS non sarà in grado di avviarsi.
All’interno dell’archivio .zip
vengono fornite le seguenti versioni:
- pico_defuse @ ea84680
- stroopwafel @ 82464ce3b3e43577ab1ca825e9ff34c903a2c7c0
- minute_minute @ 60ef681343019146d8a4447d190b423174ea6501
Passaggi
- Flashare il file
pico_defuse.uf2
sul Raspberry Pi Pico tramite USB. Questo può essere fatto copiando il file sul dispositivo di archiviazione di massa USB che appare. - Flashare il file
boot1.img
su di una scheda SD con almeno 1 GB di spazio di archiviazione. Alcune schede da 2 GB potrebbero funzionare, ma 1 GB sembra essere il punto debole: deve solo essere non SDHC.boot1.img
include un’intestazione MBR, quindi potrebbe essere necessario formattare la partizione in FAT32 dopo il flashing per continuare. Il flashing può essere eseguito tramite win32diskimager, dd o qualsiasi altro formattatore di schede SD. - Copiare i tre file
fw.img
,otp.bin
e la cartellawiiu
nella root della scheda SD. Se non si dispone del fileotp.bin
, questo può essere scaricato tramiteBackup and Restore
>Dump OTP via PRSHhax
. - Accendere la console Wii U. Se funziona correttamente, il LED di alimentazione lampeggerà e diventerà viola. Per impostazione predefinita, il menu minute verrà visualizzato sulla console seriale, tuttavia è possibile posizionare un file INI sulla scheda SD per attivare l’avvio automatico.
La struttura dei file sulla scheda SD dovrebbe contenere quanto segue, altrimenti non si avvierà:
sdmc:/
├── fw.img
└── wiiu
└── ios_plugins
└── wafel_core.ipx
└── wafel_debug_exts.ipx
Un breve lampeggio viola seguito da un LED arancione lampeggiante significa che il file fw.img
non è stato trovato nella root della scheda SD.
Accesso al menu minute
Per ora è necessaria un client telnet per utilizzare il menu. Su Windows è possibile utilizzare PuTTY, su Linux/macOS è possibile utilizzare minicom (ad esempio minicom -b 115200 -o -D /dev/cu.usbmodem11101
).
minute può essere configurato per avviarsi automaticamente in IOS tramite sdmc:/minute/minute.ini
. Per attivare manualmente il menu, premere (senza tenere premuto) il pulsante di accensione 3-5 volte (come se stessi cercando di entrare nel BIOS su un computer), o fino a quando il menu compare sulla console seriale.
Da qui è possibile sostituire la scheda SD e fare backup della NAND. Per eseguire il backup di MLC, al momento è consigliato formattare redNAND con una scheda SD da 64GB e quindi copiare le partizioni dalla scheda SD.
Un esempio di minute.ini
di avvio automatico è il seguente:
[boot]
autoboot = 1
autoboot_timeout = 3
Ripristino dei backup NAND
minute ora supporta il ripristino dei backup NAND, tuttavia potrebbero esserci ancora alcuni bug persistenti. fintanto che si dispone di un backup dei file SLC.RAW
e SLCCMPT.RAW
da qualche parte al SICURO, STARAI BENE!!
Sono riuscito a cancellare completamente il mio SLCCMPT e ripristinarlo, ma ho anche eseguito un ripristino in cui alcuni settori non si sono programmati per qualche motivo. Potrebbe essere stata solo la mia scheda SD però.
Ho intenzione di continuare a lavorare su questo, dal momento che voglio anche ripristinare un’unità la cui NAND è stata completamente cancellata senza backup. Tuttavia, lo stato attuale delle cose è come ho detto.
Una NAND corrotta apparirà come segue nei log IOSU:
- “Attached volume to slc01 (raw)”.
- “Attached volume to slccmpt01 (raw)”.
- Un sacco di spam su hash errati (questo accade anche se
otp.bin
non è valido o azzerato).
RedNAND
La RedNAND può essere configurata utilizzando sdmc:/minute/rednand.ini
. Se si ha una redNAND più vecchia (de_Fuse 0.7 circa), è possibile utilizzare il seguente file INI:
[partitions]
slccmpt=true
slc=true
mlc=true
[scfm]
disable=false
allow_sys=false
[disable_encryption]
mlc=false
Overclock della GPU
Dalla versione 0.5 minute include il supporto sperimentale per l’overclocking (o underclocking) della GPU Radeon specificando i parametri PLL all’interno del file ini.
Questo potrebbe potenzialmente danneggiare la console Wii U se i calcoli potrebbero risultare non corretti. La console potrebbe anche non avviarsi correttamente nel menu o potrebbe diventare instabile durante il normale utilizzo.
Panoramica degli override manuali del PLL:
div_select = ?
clkV is spread spectrum related maybe?
clkS is clock source...?
clkXtal = 27MHz
clkO = clkO0Div, clkO1Div, or clkO2Div (based on div_select)
clkF = (clkFMsb << 16) | (clkFLsb << 1)
freqMhz = clkXtal * (clkF/0x10000) / (clkR+1) / (clkO/2)
Esempio di valori INI non modificati:
; Defaults:
; GPU = 544.999878MHz
; 27 * (0x285ED0 / 0x10000) / (0+1) / (0x4/2)
[clocks]
gpu_clk_r = 0x0
gpu_clk_f = 0x285ED0
gpu_clk_s = 0x1C2
gpu_clk_v = 0x7
gpu_clk_o_0div = 0x4
gpu_clk_o_1div = 0x4
gpu_clk_o_2div = 0x0
Esempio di overclock:
; GPU = 679.999878MHz (1.25x)
; 27 * (0x325ED0 / 0x10000) / (0+1) / (0x4/2)
[clocks]
gpu_clk_f = 0x325ED0
Nota: La GPU diventa instabile a circa 770 MHz durante i miei test.
Risoluzione dei problemi
Avrai bisogno di una console seriale collegata per questo, vedere sopra per aiuto.
Se il LED della console rimane rosso dopo aver premuto il pulsante di accensione e si avvia normalmente dopo circa 30 secondi, significa che de_Fuse non è riuscito a rilevare correttamente o che la scheda SD non è valida.
Un de_Fuse riuscito ha questo aspetto:
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 1152
Results:
Winner! 0xfb80
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
89
8a
...
- Se le linee iniziali non sono
01
,02
,03
,...
, ciò significa che i GPIO di DEBUG non sono collegati correttamente. - Se la linea finale è
0x1E
e il codice di errore è0x00
, si tratta di una scheda SD non valida. Le schede SD non valide sembrano bloccare boot0. - Se la linea finale è
0x25
e1e
e1f
sono nell’output, ciò significa che la scheda SD era valida, ma non è stata flashata correttamente (o in altro modo non è riuscita a leggere). - Se la linea finale è
0x25
e1e
e1f
NON sono nell’output, ciò significa che il filo EXI CLK non è collegato correttamente o c’è un problema con il filo dati EXI. - Un breve lampeggio viola significa che il boot1 personalizzato è stato caricato e il glitch è stato riuscito. Se rimane viola fisso, allora è stato caricato il file
fw.img
dalla scheda SD. - Un breve lampeggio viola seguito da un LED arancione lampeggiante significa che il file
fw.img
non è stato trovato nella root della scheda SD o la scheda SD non è riuscita a montare.
Changelog
- Boot1 minute/minute ora supporta la modalità ECO (standby, LED giallo).
- Il firmware Pico ora supporta la modalità ECO.
- Miglioramenti significativi del redNAND (disabilitazione di SFCM, disabilitazione della crittografia, ecc..).
Download: de_fuse v1.0
Download: Source code de_fuse v1.0
Fonte: twitter.com