Tipi di protezione da scrittura e programmazione
Il fattore di forma indica dove si trovano i campi di un modulo. Un secondo asse, indipendente, decide se è possibile modificarli: come il modulo protegge la propria memoria dalle scritture. I produttori usano cinque approcci, e ciascuno richiede un metodo di programmazione diverso. Riconoscere prima il tipo fa risparmiare ore di tentativi di scrittura falliti.
I cinque tipi di protezione
| # | Tipo | Come si riconosce | Come si programma |
|---|---|---|---|
| 1 | Non protetto | Accetta le scritture immediatamente | Scrittura diretta — ma a un clock lento |
| 2 | Pin hardware di protezione in scrittura | Sola lettura comunque si provi; nessuna password aiuta | Controllare la linea WP durante la scrittura |
| 3 | Password (controller firmware) | WRITE FAIL finché non viene inserita una password | Inserire prima la password a 0x7B |
| 4 | Memorizzazione temporanea + comando di salvataggio | Le scritture «riescono» ma tornano indietro dopo un ciclo di alimentazione | Inviare la sequenza di salvataggio del produttore |
| 5 | Combinato | Richiede una sequenza I/O specifica del produttore per sbloccarsi | Algoritmo di programmazione del produttore (script) |
1. Non protetto
L’EEPROM non ha restrizioni di scrittura. Il problema pratico è la temporizzazione: una programmazione affidabile richiede in genere un clock a due fili intorno a 1 kHz — circa dieci volte più lento della normale velocità di lettura. Alla velocità standard, le scritture falliscono in modo intermittente e lasciano pagine scritte solo in parte. Un indizio correlato: su alcuni moduli semplici solo A0h si legge correttamente, mentre A2h restituisce errori.
2. Pin hardware di protezione in scrittura
Il pin WP dell’EEPROM è collegato all’alimentazione tramite una resistenza, quindi il chip si avvia bloccato. Sbloccarlo significa portare la linea WP verso massa attraverso un percorso a impedenza più bassa mentre la scrittura è in corso — qualcosa che solo una scheda di programmazione con controllo su quella linea può fare. Il solo software non riesce a superare questo tipo: il modulo resta di sola lettura attraverso cicli di alimentazione e tentativi di password.
3. Protetto da password (controller firmware)
Secondo SFF-8472, il blocco A2h riserva un’area password di 7 byte a partire dall’offset 0x7B; la maggior parte dei moduli usa una password di 4 byte. Un controller nel modulo confronta ciò che vi è scritto con il proprio valore memorizzato e solo allora sblocca le scritture sull’EEPROM. Senza la password, ogni scrittura restituisce WRITE FAIL.
- Inserire la password corretta, quindi scrivere.
- Se non è nota: una ricerca a dizionario tra le password note dei produttori (vedi Ricodifica EEPROM per i valori comuni) oppure contattare il produttore.
- Questi controller sono sensibili alla velocità di clock e agli intervalli tra i blocchi — un motivo in più per programmare lentamente.
4. Memorizzazione temporanea con comando di salvataggio
Le scritture finiscono nella memoria volatile. Tutto sembra a posto — finché il modulo non subisce un ciclo di alimentazione e il vecchio codice ritorna. Il firmware del produttore richiede un comando di salvataggio esplicito (una sequenza di byte proprietaria) per rendere permanente l’immagine temporanea. Nessuno standard lo definisce; la sequenza di ogni produttore è diversa e viene catturata come script.
5. Protezione combinata
I moduli più recenti sommano più meccanismi: WP hardware e una password e un comando di salvataggio e precondizioni operative — per esempio il modulo deve essere messo in modalità a basso consumo prima di accettare scritture. Questo è tipico dei moduli sulle revisioni più recenti di SFF-8472 che espongono 256+ pagine sopra l’offset 0x80 di A2h, e dei moduli CMIS. La programmazione richiede l’algoritmo del produttore, di solito condiviso con i clienti che acquistano all’ingrosso.
Come identificare il tipo
- Provare una lettura semplice: A2h si legge correttamente? (Il tipo 1 spesso fallisce qui.)
- Provare una scrittura di un singolo byte su un campo non protetto. Successo immediato → tipo 1.
WRITE FAIL→ tipo 3 (o 5). Successo silenzioso che torna indietro dopo un ciclo di alimentazione → tipo 4. - Inserire password note. Ancora di sola lettura → tipo 2 (hardware) o tipo 5 (combinato).
- Controllare il fattore di forma e la revisione della specifica — i moduli CMIS e le revisioni recenti di SFF-8472 sono di solito tipo 5.
In CodingBox
- Impostazioni password — indirizzo della tabella, indirizzo della password (0x7B) e valore si impostano in Memoria protetta in scrittura e password; le password note vengono applicate dal database.
- Script — gli script di programmazione di CodingBox trasportano le sequenze di salvataggio del produttore e gli algoritmi di sblocco per i tipi 4 e 5.
- Scrittura byte per byte e clock rallentato per i moduli che falliscono alla velocità standard.
- Il WP hardware è gestito dalla scheda di programmazione, non dal software.
- Ogni lettura viene salvata nel code database prima della scrittura, così un tentativo fallito è sempre recuperabile.
Sintomi al banco —
WRITE FAIL, una scrittura che torna indietro, password rifiutata — e cosa fare in ciascun caso: Errori di lettura e scrittura EEPROM.
Perché esistono questi tipi — EEPROM discreta contro mappa emulata da MCU, comandi di salvataggio, mirror del firmware e firme, così come li implementa il firmware: Controller e firmware.