Pubblicato un nuovo aggiornamento per de_Fuse ZIP, il modchip basato su de_Fuse, un difetto nella macchina a stati di lettura OTP eFuse della Wii U.
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.
Updated de_Fuse zip to v0.8; After updating the Pico firmware, minute boot1 can now be flashed to vWii NAND. This allows booting with full-size SDHC cards (8/16/32/64GiB etc).
In the future there might be a udpih-based flasher of some sort, idk.https://t.co/k7LYAZPvz0
— Shiny Quagsire (@ShinyQuagsire) August 16, 2023
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.
L’ultimo aggiornamento introduce la capacità di eseguire il flashing del minute boot1 sulla NAND della vWii, dopo l’aggiornamento del firmware Pico.
Questo consente l’avvio utilizzando schede SDHC full-size (8/16/32/64 GB, ecc..). In futuro, potrebbe essere introdotto un flasher basato su udpih o simile.
Nota: Questa è una versione pre-1.0 per i primi utenti che vogliono sapere se il loro RPi Pico è cablato correttamente per de_Fuse, così come per gli sviluppatori interessati al CFW coldboot. Molte cose attualmente non sono implementate e/o necessitano di miglioramenti. Tuttavia, quanto fornito è sufficiente per verificare che il Pico sia installato correttamente.
File richiesti
boot1.img
– Immagine della scheda SD per minute_minute.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 @ c4743ad
- stroopwafel @ 131384b3c39d11c5597f9f7c08f7731b0ed58f68
- minute_minute @ 89eb0031a59f350f59d198b0cf4b19bd97d0e5e4
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.
Accesso al menu minute
Per il momento è necessaria una console seriale 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 l’avvio automatico in IOS tramite sdmc:/minute/minute.ini
. Per attivare il menu manualmente, premere (ma non tenere premuto) il pulsante di accensione 3-10 volte (come se stessi tentando di accedere al BIOS su un computer) o finché il menu non viene visualizzato sulla console seriale.
Da qui è possibile scambiare la scheda SD ed eseguire il backup della NAND. Per eseguire il backup di MLC, attualmente si consiglia di formattare la redNAND con una scheda SD da 64 GB, quindi copiare le partizioni dalla scheda SD.
Un esempio di avvio automatico in minute.ini
è 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).
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 righe iniziali non sono
01
,02
,03
,...
, significa che i GPIO DEBUG non sono cablati correttamente. - Se l’ultima riga è
0x1E
e il codice di errore è0x00
, si tratta di una scheda SD non valida. Le schede SD non valide sembrano bloccarsi in boot0. - Se la riga finale è
0x25
e nell’output sono presenti1e
e1f
, significa che la scheda SD era valida, ma non è stata flashata correttamente (o altrimenti non è stata letta). - Se la riga finale è
0x25
e1e
e1f
NON sono nell’output, significa che il cavo EXI CLK non è collegato correttamente o c’è un problema con il cavo dati EXI.
Changelog
- Migliorata l’affidabilità di PRSHhax nel firmware Pico, forse.
- Ora boot1 minute fa lampeggiare un LED giallo finché non monta correttamente una qualsiasi scheda SD inserita.
- Aggiunto il supporto per il flashing di
sdmc:/boot1_slccmpt.img
sulla NAND della vWii, invece che su una scheda SD da 2 GB.- Questa modifica richiede il reflash del firmware Pico.
- Copiare
boot1_slccmpt.img
sulla scheda SD ed eseguire il flash tramiteBackup and Restore > Restore BOOT1_SLCCMPT.IMG
. - Ciò consente l’avvio con una scheda SD >2GB/SDHC inserita (è comunque necessario de_Fuse).
- L’avvio normale (ovvero senza scheda SD inserita) non è attualmente implementato se
boot1_slccmpt.img
viene flashato. - Se la console non si avvia con de_Fuse dopo aver flashato
boot1_slccmpt.img
, effettuare il downgrade del firmware Pico alla versione 0.7 per forzare un avvio solo da SD o normale. - Attualmente non c’è garanzia che
boot1.img
da scheda SD si caricherà prima del boot1 della NAND di vWii. Scheda SD e NAND hanno priorità di avvio uguali e approssimativamente casuali.
- Aggiunto il supporto per il flashing di
sdmc:/boot1_slc.img
sulla NAND della Wii U.- Ciò consente il flashing delle immagini di avvio CDN su NAND.
- Questa opzione è SOLO per il ripristino del boot1 su sistemi corrotti. Non flashare
boot1.img/minute boot1.img/boot1_slccmpt.img
sulla NAND o PRSHhax si romperà.
- (v0.7.1): Corretto il blocco di
boot1.img
durante il caricamento disdmc:/fw.img
. - (v0.7): Questo è il primo rilascio che presenta Stroopwafel! Il supporto è ancora in fase di sviluppo, ma è stabile e consente la coesistenza con Aroma per l’homebrew.
Download: de_fuse v0.8
Download: Source code de_fuse v0.8
Fonte: github.com