Jenis proteksi tulis dan pemrograman · Transceiver dan faktor bentuk · Transceiver optik dan kabel · Dokumentasi · CodingBox
CodingBox Dokumentasi

Jenis proteksi tulis dan pemrograman

Faktor bentuk memberi tahu Anda di mana bidang-bidang sebuah modul berada. Sumbu kedua yang independen menentukan apakah Anda dapat mengubahnya: bagaimana modul melindungi memorinya dari penulisan. Produsen memakai lima pendekatan, dan masing-masing memerlukan metode pemrograman yang berbeda. Mengenali jenisnya lebih dulu menghemat berjam-jam upaya penulisan yang gagal.

Lima jenis perlindungan

#JenisCara mengenalinyaCara memprogramnya
1Tidak dilindungiMenerima penulisan seketikaTulis langsung — tetapi dengan clock lambat
2Pin write-protect perangkat kerasRead-only apa pun yang dicoba; kata sandi tidak membantuKendalikan jalur WP selama penulisan
3Kata sandi (kontroler firmware)WRITE FAIL sampai kata sandi dimasukkanMasukkan kata sandi di 0x7B terlebih dahulu
4Penyimpanan sementara + save commandPenulisan “berhasil” tetapi kembali seperti semula setelah power cycleKirim save sequence milik vendor
5GabunganMemerlukan sequence I/O khusus vendor untuk membuka kunciAlgoritma pemrograman vendor (script)

1. Tidak dilindungi

EEPROM tidak memiliki pembatasan penulisan. Kendala praktisnya adalah timing: pemrograman yang andal biasanya memerlukan clock two-wire sekitar 1 kHz — kira-kira sepuluh kali lebih lambat daripada kecepatan baca normal. Pada kecepatan standar, penulisan gagal secara intermiten dan meninggalkan halaman yang tertulis sebagian. Tanda terkait lainnya: pada sebagian modul sederhana, hanya A0h yang terbaca dengan bersih sementara A2h mengembalikan error.

2. Pin write-protect perangkat keras

Pin WP EEPROM terhubung ke suplai melalui sebuah resistor, sehingga chip menyala dalam keadaan terkunci. Membuka kunci berarti menarik jalur WP menuju ground melalui jalur berimpedansi lebih rendah selama penulisan berlangsung — sesuatu yang hanya dapat dilakukan oleh papan programmer yang memiliki kendali atas jalur tersebut. Perangkat lunak saja tidak dapat melewati jenis ini: modul tetap read-only melalui power cycle dan percobaan kata sandi.

3. Dilindungi kata sandi (kontroler firmware)

Sesuai SFF-8472, blok A2h menyediakan area kata sandi 7-byte yang dimulai pada offset 0x7B; sebagian besar modul memakai kata sandi 4-byte. Sebuah kontroler di dalam modul membandingkan apa yang ditulis di sana dengan nilai yang tersimpan, dan baru setelah itu membuka penulisan EEPROM. Tanpa kata sandi, setiap penulisan mengembalikan WRITE FAIL.

  • Masukkan kata sandi yang benar, lalu tulis.
  • Jika tidak diketahui: pencarian kamus kata sandi vendor yang sudah diketahui (lihat Pengodean ulang EEPROM untuk nilai yang umum) atau hubungi produsen.
  • Kontroler semacam ini sensitif terhadap kecepatan clock dan jeda antar-blok — alasan lain untuk memprogram secara perlahan.

4. Penyimpanan sementara dengan save command

Penulisan mendarat di memori volatile. Semuanya tampak baik-baik saja — sampai modul mengalami power cycle dan kode lama kembali muncul. Firmware vendor memerlukan save command eksplisit (sequence byte proprietary) untuk melakukan commit atas image sementara tersebut ke penyimpanan permanen. Tidak ada standar yang mendefinisikannya; sequence tiap vendor berbeda-beda dan direkam sebagai sebuah script.

5. Perlindungan gabungan

Modul-modul terbaru menumpuk beberapa mekanisme sekaligus: WP perangkat keras dan kata sandi dan save command dan prasyarat operasional — misalnya modul harus ditempatkan dalam mode daya rendah sebelum menerima penulisan. Ini tipikal untuk modul pada revisi SFF-8472 terbaru yang mengekspos 256+ halaman di atas offset A2h 0x80, serta untuk modul CMIS. Pemrograman memerlukan algoritma dari produsen, yang biasanya dibagikan kepada pelanggan pembelian dalam jumlah besar.

Cara mengenali jenisnya

  1. Coba pembacaan biasa: apakah A2h terbaca dengan bersih? (Jenis 1 sering gagal di sini.)
  2. Coba penulisan satu byte ke bidang yang tidak dilindungi. Berhasil seketika → jenis 1. WRITE FAIL → jenis 3 (atau 5). Berhasil diam-diam tetapi kembali seperti semula setelah power cycle → jenis 4.
  3. Masukkan kata sandi yang sudah diketahui. Masih read-only → jenis 2 (perangkat keras) atau jenis 5 (gabungan).
  4. Periksa faktor bentuk dan revisi spesifikasi — modul CMIS dan SFF-8472 revisi akhir biasanya jenis 5.

Di CodingBox

  • Pengaturan kata sandi — alamat tabel, alamat kata sandi (0x7B), dan nilainya diatur di Memori yang dilindungi tulis & kata sandi; kata sandi yang sudah diketahui diterapkan dari basis data.
  • Script — script pemrograman CodingBox membawa save sequence vendor dan algoritma unlock untuk jenis 4 dan 5.
  • Penulisan byte demi byte dan clocking lambat untuk modul yang gagal pada kecepatan standar.
  • WP perangkat keras ditangani oleh papan programmer, bukan oleh perangkat lunak.
  • Setiap pembacaan disimpan ke code database sebelum Anda menulis, sehingga percobaan yang gagal selalu dapat dipulihkan.

Gejala di meja kerja — WRITE FAIL, penulisan yang kembali seperti semula, kata sandi ditolak — dan apa yang harus dilakukan untuk masing-masing: Kesalahan baca & tulis EEPROM.

Mengapa jenis-jenis ini ada — EEPROM diskret vs peta yang diemulasikan MCU, save command, mirror firmware, dan signature sebagaimana diimplementasikan firmware: Kontroler & firmware.


Jika Anda menemukan ketidakakuratan atau kesalahan dalam artikel ini, pilih bagian teks yang bersangkutan lalu tekan Ctrl+Enter untuk .