Tipi di protezione da scrittura e programmazione · Ricetrasmettitori e fattori di forma · Ricetrasmettitori ottici e cavi · Documentazione · CodingBox
CodingBox Documentazione

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

#TipoCome si riconosceCome si programma
1Non protettoAccetta le scritture immediatamenteScrittura diretta — ma a un clock lento
2Pin hardware di protezione in scritturaSola lettura comunque si provi; nessuna password aiutaControllare la linea WP durante la scrittura
3Password (controller firmware)WRITE FAIL finché non viene inserita una passwordInserire prima la password a 0x7B
4Memorizzazione temporanea + comando di salvataggioLe scritture «riescono» ma tornano indietro dopo un ciclo di alimentazioneInviare la sequenza di salvataggio del produttore
5CombinatoRichiede una sequenza I/O specifica del produttore per sbloccarsiAlgoritmo 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

  1. Provare una lettura semplice: A2h si legge correttamente? (Il tipo 1 spesso fallisce qui.)
  2. 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.
  3. Inserire password note. Ancora di sola lettura → tipo 2 (hardware) o tipo 5 (combinato).
  4. 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.


Se trovi un’imprecisione o un errore in questo articolo, seleziona il passaggio corrispondente e premi Ctrl+Enter per .