CodingBox Dokumentasi

Peta daftar halaman bawah CMIS

Pasukan kami sedang menyiapkan terjemahan. Artikel ini buat sementara waktu belum tersedia dalam bahasa Melayu dan dipaparkan dalam bahasa Inggeris.

The lower 128 bytes of a CMIS module (QSFP-DD, OSFP, QSFP112, SFP-DD with CMIS…) are always visible and carry the module-level runtime interface: identifier and CMIS version, module state, flags and masks, module monitors, global controls, CDB status, media type, the first eight application descriptors, password entry and the bank/page selectors. This page lists them byte by byte and bit by bit, compiled against CMIS 5.x with 4.x differences noted. Narrative: CMIS; upper pages in CMIS upper pages map; per-lane pages in CMIS lane pages map.

Legend: rsvd = reserved · custom = vendor specific · flags are latched, cleared on read; a mask bit = 1 suppresses the flag's contribution to IntL.

Identification and state — bytes 0–7

ByteFieldBits / values
0IdentifierSFF-8024 Table 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 with CMIS · 1Fh SFP-DD with CMIS · 20h SFP+ with CMIS (SFP112) · 21h OSFP-XD
1CMIS revision7–4 major · 3–0 minor: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3
2Memory characteristics7 MemoryModel (1 = flat, no paging) · 6 SteppedConfigOnly (1 = data-path config must be applied lane by lane) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd
3Module state7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = no interrupt pending)
4Bank 0 flag summaryone bit per flag group present in bank 0 lane pages (data-path state changed, Tx/Rx flags, alarms) — read to know which bank to inspect
5Bank 1 flag summaryas byte 4 for lanes 9–16
6Bank 2 flag summarylanes 17–24
7Bank 3 flag summarylanes 25–32

Module flags — bytes 8–11

ByteFieldBits
8Module-level flags7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged
9Temperature / Vcc flags7 Vcc low warning · 6 Vcc high warning · 5 Vcc low alarm · 4 Vcc high alarm · 3 temp low warning · 2 temp high warning · 1 temp low alarm · 0 temp high alarm
10Aux1 / Aux2 flags7 Aux2 low warning · 6 Aux2 high warning · 5 Aux2 low alarm · 4 Aux2 high alarm · 3 Aux1 low warning · 2 Aux1 high warning · 1 Aux1 low alarm · 0 Aux1 high alarm
11Aux3 / custom flags7–4 custom monitor low warning / high warning / low alarm / high alarm · 3 Aux3 low warning · 2 Aux3 high warning · 1 Aux3 low alarm · 0 Aux3 high alarm
12–13rsvd

Module monitors — bytes 14–25

BytesMonitorFormat
14–15Temperaturesigned 16-bit, 1/256 °C
16–17Vccunsigned 16-bit, 100 µV
18–19Aux1TEC current (signed, % of max ×100/32767) or laser temperature (1/256 °C) — type advertised in page 01h
20–21Aux2laser temperature or TEC current
22–23Aux3laser temperature or additional supply voltage (100 µV)
24–25Custom monitorvendor defined

Global controls and masks — bytes 26–36

ByteFieldBits
26Module global controlsCMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = the LPMode pin may request low power) · 5 SquelchMethodSelect (0 = OMA squelch, 1 = Pave) · 4 LowPwrRequestSW (1 = request low power) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (software low-power request) · 4 = ForceLowPwr · 5 and 3 as above
27Module flag masksmasks for byte 8 (same bit positions)
28Temperature / Vcc masksmasks for byte 9
29Aux1 / Aux2 masksmasks for byte 10
30Aux3 / custom masksmasks for byte 11
31–36rsvd

CDB status and firmware — bytes 37–41

ByteFieldBits / values
37CdbStatus1 (command block 1)7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: while busy — 01h capturing command, 02h checking, 03h executing; on success — 01h success, 02h no response? ; on failure — 01h unknown command, 02h parameter out of range, 03h length error, 04h checksum error, 05h password error, 06h not enabled, 07h abort? … (see CMIS Table 8-20)
38CdbStatus2 (command block 2)same layout
39Module active firmware — majorrunning image version
40Module active firmware — minor
41ModuleFaultCause00h no fault · 01h TEC runaway · 02h data memory corrupted · 03h program memory corrupted · 04h–1Fh rsvd · 20h–FFh custom
42–63rsvd
64–84rsvd / customper revision

Media type and applications — bytes 85–117

ByteFieldContents
85MediaType00h undefined · 01h MMF (SFF-8024 Table 4-6) · 02h SMF (4-7) · 03h passive copper (4-8) · 04h active cable (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh custom
86–89Application descriptor 1byte 86 HostInterfaceID (SFF-8024 Table 4-5) · 87 MediaInterfaceID (table per byte 85) · 88 bits 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: lane n+1 may be the first lane of this application's data path
90–93Application descriptor 2same layout
94–97Application descriptor 3
98–101Application descriptor 4
102–105Application descriptor 5
106–109Application descriptor 6
110–113Application descriptor 7
114–117Application descriptor 8

An FFh in a descriptor's first byte terminates the list. Descriptors 9–15 continue on page 01h bytes 223–250; their media-lane assignment options are on page 01h 176–190. Example: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 host lanes / 4 media lanes, starting on host lane 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 lanes, may start on lanes 1, 3, 5, 7 (4 × 100G breakout).

Passwords and selectors — bytes 118–127

ByteFieldContents
118–121Password change entryvendor defined
122–125Password entryvendor defined — Write-protection types
126BankSelect00h bank 0 (lanes 1–8) · 01h bank 1 (9–16) · 02h bank 2 · 03h bank 3; applies to banked pages 10h–3Fh
127PageSelect00h identity · 01h advertising · 02h thresholds · 04h laser capabilities · 10h lane control · 11h lane status · 12h tunable control · 13h–14h diagnostics · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… custom

Reading a QSFP-DD lower page in practice

  1. Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → paged memory.
  2. Byte 3 = 03h → ModuleLowPwr (001 in bits 3–1, interrupt deasserted) — normal right after insertion; 07h → ModuleReady.
  3. Byte 85 = 02h → SMF media table; bytes 86–89 → the first application (e.g. DR4).
  4. Bytes 8–11 → any module flag set? Read twice to clear history.
  5. Bytes 14–17 → temperature and Vcc.
  6. To leave low power in 5.x: clear byte 26 bit 4 (LowPwrRequestSW) and ensure the LPMode pin is low or bit 6 is 0; then wait for byte 3 to reach 07h.

Jika anda menemui ketidaktepatan atau kesilapan dalam artikel ini, pilih bahagian teks yang berkenaan dan tekan Ctrl+Enter untuk .