Home Homebrew Rilasciato FuseCheck v1.0.0: il tool definitivo per sapere se è possibile...

[Scena Switch] Rilasciato FuseCheck v1.0.0: il tool definitivo per sapere se è possibile tornare su OFW senza brickare la Switch

202
4

Il developer sthetix ha da poco pubblicato FuseCheck, un nuovo payload bare-metal pensato per rispondere in pochi secondi a uno dei dubbi più delicati per chi possiede una Nintendo Switch modificata: capire se è possibile tornare al firmware ufficiale senza rischiare il brick definitivo della console.

Il funzionamento di FuseCheck è tanto semplice quanto cruciale. Le console Switch bruciano fuse hardware interni ogni volta che viene installato un nuovo firmware ufficiale.

Questi fuse non possono essere “ripristinati” e rappresentano una sorta di contatore permanente degli aggiornamenti effettuati. Se si tenta di avviare un firmware ufficiale che richiede meno fuse di quelli già bruciati, la console si blocca in modo definitivo.

FuseCheck elimina ogni incertezza perché legge automaticamente il firmware attualmente installato, controlla il numero reale di fuse bruciati direttamente dall’hardware, inclusi i modelli Erista e Mariko, e confronta i dati con un database dedicato.

Il risultato è una risposta chiara e immediata: avvio sicuro oppure rischio concreto di brick. In pratica, l’utente non deve più fare calcoli a mano, cercare tabelle aggiornate o affidarsi a supposizioni.

In pochi secondi, direttamente da Hekate, FuseCheck mostra un riepilogo completo con lo stato finale, indicato in modo inequivocabile. Se i valori coincidono, la console può tornare all’OFW senza problemi.

Se invece i fuse bruciati sono superiori a quelli richiesti dal firmware ufficiale, il tool avvisa che l’avvio sarebbe fatale.

Uno dei punti di forza di FuseCheck è l’approccio estremamente sicuro. Il payload è totalmente in lettura, non modifica nulla sulla console e non espone a rischi.

Il database dei firmware e dei fuse richiesti è esterno e aggiornabile tramite un semplice file di testo, garantendo compatibilità anche con i firmware futuri.

L’interfaccia è pulita, ispirata allo stile di TegraExplorer, con navigazione semplice tramite i tasti volume, e include funzioni utili come la possibilità di catturare uno screenshot, ideale per chi deve dimostrare lo stato della console prima di una vendita.

Caratteristiche

  • Rilevamento automatico del firmware — Rileva la versione firmware dal SystemVersion NCA nella partizione SYSTEM.
  • Lettura fuse hardware — Legge il conteggio dei fuse bruciati direttamente dai registri hardware.
  • Analisi di compatibilità — Confronta i fuse rilevati con i requisiti del firmware.
  • Layout UI orizzontale — Interfaccia pulita, ispirata a TegraExplorer.
  • Visualizzatore database fuse — Permette di sfogliare i requisiti completi dei fuse per tutte le versioni firmware.
  • Supporto allo scorrimento — Navigazione tra voci illimitate del database.
  • Supporto screenshot — Cattura i risultati con il gesto a tre dita.
  • Derivazione chiavi in memoria — Le chiavi vengono derivate solo in RAM; nulla viene scritto sulla SD.
  • Database esterno — File di database facilmente aggiornabile (nessuna ricompilazione necessaria).
  • Ritorno automatico a Hekate — Avvia il bootloader/update.bin al termine dell’esecuzione.

Indicatori di stato

ERRORE CRITICO

  • Condizione: Fuse bruciati < fuse richiesti
  • Risultato: OFW NON SI AVVIA (schermo nero)
  • Funziona: CFW (Atmosphère), Semi-stock (Hekate nogc)
  • Non funziona: OFW stock

ERRORE CRITICO (FUSE IN ECCESSO)

  • Condizione: Fuse bruciati > fuse richiesti
  • Risultato: OFW NON SI AVVIA (schermo nero)
  • Funziona: CFW (Atmosphère), Semi-stock (Hekate nogc)
  • Non funziona: OFW stock
  • Nota: Evento molto raro, ma possibile su alcune console.

CORRISPONDENZA PERFETTA

  • Condizione: Fuse bruciati = fuse richiesti
  • Risultato: OFW SI AVVIA NORMALMENTE
  • Nota: Il sistema è in uno stato ideale sia per CFW che per OFW.

Installazione

  • Scaricare l’archivio ZIP dalla repository.
  • Estrarre il contenuto dell’archivio ZIP sulla scheda SD.
  • Avviare la console in Hekate.
  • Lanciare FuseCheck.bin dal menu Payloads.

Utilizzo

Pagina principale (Risultati controllo fuse)

La schermata principale mostra:

  • Versione firmware — Rilevata automaticamente dalla partizione SYSTEM.
  • Fuse bruciati — Conteggio dei fuse hardware letto dai registri ODM6+ODM7 (X fuse bruciati).
  • Fuse richiesti — Numero di fuse necessari per il firmware rilevato.
  • Stato — Risultato di compatibilità con indicazione a colori.
  • Informazioni dettagliate — Cosa funziona e cosa non funziona in base allo stato dei fuse.

Controlli:

  • VOL+ — Visualizza il database dei fuse (tutte le versioni firmware).
  • VOL- — Ritorna a Hekate.
  • Power — Spegne la console.
  • Tocco a 3 dita — Scatta uno screenshot.

Pagina database fuse

Consente di visualizzare i requisiti completi dei fuse per tutte le versioni firmware Nintendo Switch:

  • Intervalli di versioni di sistema.
  • Conteggio fuse per unità di produzione.
  • Conteggio fuse per unità di sviluppo.
  • Indicatore di scorrimento con posizione [inizio–fine/totale].

Controlli:

  • VOL+ — Scorri verso il basso (si ferma in fondo).
  • VOL- — Scorri verso l’alto (si ferma in cima).
  • Power — Ritorna alla schermata principale.
  • Tocco a 3 dita — Scatta uno screenshot.

Configurazione del Database

FuseCheck utilizza un file di database esterno per permettere aggiornamenti facili senza necessità di ricompilazione.

Posizione del Database

sd:/config/fusecheck_db.txt

Formato del Database

Il file di database supporta due tipi di voci:

Voci Fuse Count

[FUSE] <version_range> <prod_fuses> <dev_fuses>

Esempio:


[FUSE] 21.0.0-21.0.1 22 1
[FUSE] 20.0.0-20.5.0 21 1
[FUSE] 19.0.0-19.0.1 20 1
  • version_range: Versione firmware o intervallo (es. “21.0.0” o “20.0.0-20.5.0”).
  • prod_fuses: Fuse bruciati richiesti per unità di produzione.
  • dev_fuses: Fuse bruciati richiesti per unità di sviluppo.

Fonte: switchbrew.org/wiki/Fuses (sezione Anti Downgrade)

Voci NCA

[NCA] <version> <nca_filename>

Esempio:


[NCA] 21.0.1 e7273dd5b560d0ba282fc64206fecb56.nca
[NCA] 21.0.0 4b0130c8b9d2174a6574f6247655acc0.nca
[NCA] 20.5.0 23ce01f1fc55e55a783162d456e5ca58.nca
  • version: Versione firmware esatta (es. “21.0.1”).
  • nca_filename: Nome del file SystemVersion NCA (Title ID 0100000000000809).

Commenti

Le righe che iniziano con # sono considerate commenti:

# Questo è un commento
# Puoi aggiungere note sugli aggiornamenti firmware qui

Aggiornamento del Database

Quando viene rilasciato un nuovo firmware Switch:

  • Aggiorna la sezione [FUSE] con il nuovo conteggio fuse da switchbrew.
  • Aggiorna la sezione [NCA] con il nuovo filename del SystemVersion NCA.
  • Copia il file aggiornato in sd:/config/fusecheck_db.txt
  • Nessuna ricompilazione necessaria!

Un file di esempio è incluso nella repository come fusecheck_db.txt.

Come funziona

Dettagli Tecnici

  • Inizializzazione hardware — Inizializza display, storage e DRAM.
  • Derivazione chiavi in memoria — Deriva le chiavi BIS in RAM utilizzando il motore Lockpick_RCM.
  • Lettura fuse — Legge i registri fuse ODM6 e ODM7 e conta tutti i fuse bruciati.
  • Accesso alla partizione SYSTEM — Monta la partizione SYSTEM utilizzando la chiave BIS 2.
  • Rilevamento firmware — Scansiona /Contents/registered/ per trovare il SystemVersion NCA.
  • Matching con il database — Confronta il filename NCA con il database esterno.
  • Controllo di compatibilità — Confronta i fuse bruciati con quelli richiesti.
  • Visualizzazione stato — Mostra i risultati in layout orizzontale.

Nota: La Switch ha due registri fuse anti-downgrade (ODM6 e ODM7). FuseCheck legge entrambi per fornire una copertura completa dei fuse. A partire dal firmware 21.0.0+, Nintendo ha bruciato fino a 22 fuse, con ampio margine residuo per firmware futuri.

Mappatura Fuse-Firmware

Basato su switchbrew.org/wiki/Fuses:

Gamma di firmwareFusibili richiesti
1.0.0 1
2.0.0-2.3.02
3.0.0 3
3.0.1-3.0.24
4.0.0-4.1.05
5.0.0-5.1.06
6.0.0-6.1.07
6.2.0 8
7.0.0-8.0.19
8.1.0 10
9.0.0-9.0.111
9.1.0-9.2.012
10.0.0-10.2.013
11.0.0-12.0.114
12.0.2-13.1.015
13.2.1-14.1.216
15.0.0-15.0.117
16.0.0-16.1.018
17.0.0-18.1.019
19.0.0-19.0.120
20.0.0-20.5.021
21.0.0-21.0.122

Derivazione della chiave

  • Utilizza derive_bis_keys_silently() di Lockpick_RCM.
  • Funziona sia su Erista (generazione chiavi TSEC) che su Mariko (KEK Mariko).
  • Tutte le chiavi restano in RAM, nessuna scrittura sulla scheda SD.
  • Output grafico disattivato durante la derivazione delle chiavi.

Rilevamento Firmware

  • Montaggio della partizione SYSTEM usando la chiave BIS 2 derivata.
  • Scansione della directory /Contents/registered/ per i file NCA.
  • Confronto dei nomi dei file NCA con il database esterno.
  • Fallback a mappa fuse hardcoded se il database non è trovato.
  • Restituisce la versione firmware (major.minor.patch).

Download: FuseCheck v1.0.0

Download: Source code FuseCheck v1.0.0