CodingBox Q&A Ask question

Coding QSFP28 dan QSFP-DD: di mana letak ID block setelah keluar dari SFF-8472 A0h/A2h

Asked Active Viewed 74 AI translation from English
4

Saya biasa recoding modul dalam batch kecil buat integrator, dan sampai sekarang semua yang ada di meja saya berbentuk SFP: baca 256 byte di A0h dengan serial ID di paruh pertama, baca A2h buat diagnostics dan threshold, tulis identification block, selesai. Sekarang ada customer yang datang dengan part 100G dan 400G, dan rig saya jelas kewalahan.

  • modul yang perlu di-recode: satu tray QSFP28, beberapa QSFP-DD, dan satu sampel OSFP
  • programmer yang dipakai sekarang: I2C biasa, baca dan tulis A0h dan A2h, sama sekali nggak ada page select
  • host di sisi seberang mengecek vendor name, part number, dan serial sebelum menyalakan port

Catatan kerja saya soal bagaimana memori ini disusun, yang justru ini yang ingin saya pastikan kebenarannya:

SFP/SFP+/SFP28 (SFF-8472): A0h 256B, serial ID in first 128B; A2h 256B diagnostics + thresholds, optional 128B pages
QSFP+/QSFP28 (SFF-8636): single A0h, 128B pages selected by byte 7Fh, page 00h mandatory
XFP (INF-8077i): byte 7Fh picks the active table, with serial ID in table 01h and user EEPROM in 02h
OSFP/QSFP-DD/SFP-DD (CMIS 5.x): lower 128B fixed, upper memory by bank and page via 7Eh and 7Fh

Yang sudah saya coba:

  • dump QSFP28 pakai profile SFP saya, yang cuma kasih saya paruh bawah plus halaman apa pun yang kebetulan lagi aktif
  • ambil dua dump dari modul yang sama secara berurutan buat lihat byte mana yang berubah sendiri

Apakah peta itu sudah benar, dan field mana saja yang benar-benar harus saya tulis buat vendor coding begitu memorinya sudah paged dan banked?

Comments 5

Peta Anda sudah benar secara substansi. Yang rig Anda belum punya adalah: di SFF-8636 cuma ada satu alamat dan 128 byte bagian atas itu semacam jendela: Anda tulis nomor halaman ke byte 7Fh, lalu baca paruh atas dan dapat halaman itu. Page 00h itu yang wajib dan berisi identification block, jadi untuk coding jarang perlu ke tempat lain. CMIS menambahkan bank di atas itu - 7Eh memilih bank, 7Fh memilih page, dan 128 byte bagian bawah tetap fixed dan selalu bisa dibaca. Tanpa page select, tool Anda terus kasih halaman apa pun yang kebetulan lagi diparkir di modul, persis seperti perilaku yang Anda ceritakan.

Field yang penting buat vendor coding sama di mana-mana: vendor name, part number, revision, serial, OUI, dan checksum. Salah satu checksum saja dan host yang rewel bakal menolak modulnya, walaupun semua string kelihatan sempurna di hex dump. Satu hal lagi yang perlu diantisipasi: sebagian modul melindungi fungsi vendor di balik password manufacturer dan host, sementara pembacaan biasa tetap terbuka, jadi Anda bisa saja dengan mudah dump sebuah part yang nggak bisa Anda tulis.

4 KazakhstanrackhubKZ Show original (English) AI translation

Checksum ini justru yang bikin saya kena di percobaan pertama - string-nya cocok byte demi byte dengan modul yang sudah pasti bagus, tapi host tetap menolak part-nya. Untung page 00h saja sudah cukup buat identification block, itu bikin scope kerjaan ini jadi kecil.

Jadi kesimpulan jujurnya, programmer saya sama sekali nggak bisa melakukan ini, karena nggak ada cara buat menulis byte 7Fh sebelum membaca. Saya lebih baik beli board daripada nempelin page select ke rig buatan sendiri cuma buat satu order. Ada nggak yang di pasaran benar-benar menangani CMIS bank dengan baik, atau itu cuma fitur di datasheet doang?

2 ChinasfpnodeCN Show original (English) AI translation

Board komersial memang mengklaim bisa - SFPTotal Plus X, perangkat Reveltronics (REVELPROG-IS), programmer EDGE, dan Flexoptix semuanya mencantumkan QSFP-DD dan OSFP di feature list, dan mereka juga menyertakan database kode vendor. SFPTotal mengklaim lebih dari 25,000 kode, termasuk Cisco, Huawei, dan HPE.

Seberapa cocok itu semua dengan part spesifik yang ada di meja Anda itu pertanyaan lain, dan saya juga nggak akan asal percaya omongan saya sendiri. Kalau bisa, minta sampel QSFP-DD milik customer buat dicoba di depan board itu sebelum Anda commit beli. Dukungan buat satu form factor di datasheet itu beda cerita dengan dukungan buat modul spesifik yang ada di tangan Anda, dan part yang banked itu justru tempat gap itu kelihatan.

3 South Koreawaverunner63KR Show original (English) AI translation

Sebagai perbandingan, kerjaan SFP biasa tetap sekasar dulu: cuma 128 byte pertama dari dump 256-byte yang benar-benar penting, sisanya manufacturer reserved, dan orang-orang sudah bertahun-tahun nulis image GLC-LX atau GLC-BX-D/GLC-BX-U ke part CWDM generik biar diterima Catalyst 3560, HP J8692A, atau EX4200-24F. Skematik programmer buatan sendiri beredar buat itu, serp-0.3 yang saya bikin sendiri, dan dump dari Finisar FCMJ-8521-3, HP J4858C atau J4859C, atau D-Link DEM-310GT jadi referensi yang biasa dipakai.

Beda cerita, tapi perlu diketahui kalau-kalau stick GPON mampir ke meja Anda: di situ Anda sama sekali nggak coding dari luar. Di FS GPON-ONU-34-20BI, yang masih kerabat Nokia G-010S-A, Anda dapat shell langsung di stick-nya - dengan fiber terpasang dia menjawab di 192.168.1.10 sebagai ONTUSER - set serial dan MAC pakai uci, dan tulis ulang vendor string EEPROM dari dalam pakai sfp_i2c.

2 Türkiyelinknerd83TR Show original (English) AI translation
Log in to comment. Log in