Host làm gì: phát hiện, xác thực, khởi động
Các đặc tả mô tả phía module — chân, bộ nhớ, trạng thái. Trang này mô tả phía host: trình tự mà một switch, router hay NIC thực hiện từ thời điểm một module được cắm vào cho tới khi lưu lượng chạy được, cùng với các chân, byte và định thời mà mỗi bước sử dụng. Biết được điều này biến “cổng báo unsupported” thành “host dừng lại ở bước 4”, và giải thích vì sao một module hoàn hảo trên bàn thử vẫn có thể lỗi khi cắm vào cổng.
Tín hiệu tốc độ thấp theo từng form factor
| Form factor | Hiện diện | Reset / nguồn | Ngắt / lỗi | Khác |
|---|---|---|---|---|
| SFP / SFP+ / SFP28 | MOD_ABS (thấp = có mặt) | — (TX_DISABLE khóa laser) | TX_FAULT, RX_LOS | RS0, RS1 chọn tốc độ |
| XFP | Mod_ABS | P_Down/RST | Interrupt, Mod_NR (chưa sẵn sàng), RX_LOS | TX_DIS, Mod_DeSel |
| QSFP+ / QSFP28 | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| QSFP-DD | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| OSFP | PRSn | RSTn, LPWn | INT | — (không có chân chọn, một bus cho mỗi cổng) |
| SFP-DD | vắng module như SFP | yêu cầu công suất thấp | ngắt | chọn tốc độ như SFP |
Chức năng chân và sơ đồ chân theo từng họ: Phần cứng SFP, Phần cứng QSFP, XFP.
Trình tự
| # | Bước | SFP (SFF-8472) | QSFP (SFF-8636) | CMIS | Biểu hiện khi lỗi |
|---|---|---|---|---|---|
| 1 | Phát hiện | MOD_ABS xuống thấp; debounce | ModPrsL thấp | ModPrsL / PRSn thấp | cổng vẫn trống; module “không phát hiện được” |
| 2 | Cấp nguồn & chờ | 3,3 V luôn bật; chờ t_init 300 ms | bật nguồn với LPMode cao (chỉ cấp 1); chờ t_init 2 s hoặc thăm dò Data_Not_Ready | tương tự; chờ trạng thái module rời khỏi MgmtInit (≤ 2 s) | đọc trả về FFh / 00h; thông tin nhận dạng trống |
| 3 | Nhận dạng | đọc A0h 0–95; byte 0 = 03h chọn trình phân tích SFF-8472 | đọc 0–127 và trang trên 00h; byte 0 = 0Dh/11h, byte 1 phiên bản | đọc trang dưới và trang trên 00h; byte 0 = 18h/19h…, byte 1 phiên bản CMIS | unknown module type |
| 4 | Xác thực | CC_BASE, CC_EXT; tính nhất quán của mã nhận dạng/đầu nối/mã hóa | CC_BASE, CC_EXT | checksum trang 00h | invalid EEPROM, checksum error — Checksum |
| 5 | Giải mã loại | byte tuân thủ 3–10, 36; byte tốc độ 12/66; chiều dài; bước sóng | byte 131–138, 192; 140/222 | loại media 85, bộ mô tả ứng dụng | speed and type not supported — Mã tuân thủ |
| 6 | Chính sách | tên nhà sản xuất/PN (và có thể cả chữ ký) đối chiếu với bảng tương thích | tương tự | tương tự | unsupported transceiver, errdisable — Khóa nhà sản xuất |
| 7 | Cấp công suất | bit mức ở byte 64 so với ngân sách cổng | cấp ở byte 129; ghi byte 93 để thoát công suất thấp / bật các cấp 5–8 | cấp ở byte 200 so với cổng; bỏ khẳng định LPMode hoặc xóa LowPwrRequestSW → module PwrUp → Ready | bị giữ ở công suất thấp, power exceeds — Công suất và nhiệt |
| 8 | Cấu hình | RS0/RS1 hoặc chọn tốc độ mềm; tốc độ phía host, FEC, SGMII/1000BASE-X | bật/tắt CDR (98), chọn tốc độ (87–88), làn breakout phía host | chọn AppSel/DataPathID trong staged control set → ApplyDPInit → luồng dữ liệu Init → Initialized | LOL, FEC không khớp, breakout bị từ chối — Tốc độ & tốc độ truyền |
| 9 | Bật Tx | chân TX_DISABLE thấp hoặc xóa bit mềm (A2h 110.6) | byte 86 = 00h | trang 10h byte 130 = 00h → DPTxTurnOn → DPActivated | đầu xa thấy −40 dBm — Danh mục kiểm tra khi mất liên kết |
| 10 | Liên kết | PHY/MAC thấy tín hiệu; AN/huấn luyện liên kết trên DAC | tương tự theo từng làn | tương tự theo từng luồng dữ liệu | liên kết down dù mức tín hiệu tốt |
| 11 | Giám sát | thăm dò giám sát và cờ ở A2h mỗi vài giây; chân TX_FAULT / RX_LOS | IntL → đọc cờ 3–21; thăm dò giám sát | IntL → cờ module + cờ làn trang 11h; VDM | báo động, chập chờn — Mức DDM, Liên kết chập chờn |
| 12 | Gỡ bỏ | MOD_ABS cao → dọn dẹp | ModPrsL cao | ModPrsL cao | trạng thái cũ còn sót nếu debounce bỏ lỡ |
Các bước 3–6 diễn ra ở công suất thấp đối với module QSFP và CMIS: host xác thực trước khi tiêu tốn công suất cho phần quang học. Đó là lý do vì sao một module bị khóa hoặc mã hóa sai không bao giờ bật laser, và vì sao đầu xa đọc được −40 dBm trên một module hoàn toàn ổn về điện.
Các khoảng thời gian host chờ
| Chờ gì | SFP | QSFP | CMIS |
|---|---|---|---|
| Sẵn sàng quản lý sau khi cắm | 300 ms | 2 s | ≤ 2 s (MgmtInit) rồi tới trạng thái LowPwr |
| Sau khi thoát công suất thấp | — | cho tới khi Data_Not_Ready hết | cho tới khi trạng thái module là Ready (thời lượng tối đa được quảng bá ở trang 01h) |
| Khởi tạo luồng dữ liệu | — | — | được quảng bá theo từng bước (mã nibble: < 1 ms … < 50 min) |
| Từ bật Tx tới có ánh sáng | t_on ≤ 1 ms | ton_txdis 100 ms / toff 400 ms | thời lượng DPTxTurnOn được quảng bá |
| Từ cờ tới ngắt | — | ton_IntL 200 ms | theo đặc tả phần cứng |
Định thời ở mức bus (t_WR, clock stretch): Giao diện hai dây.
Các điểm chính sách khác nhau giữa các host
- Mức độ nghiêm ngặt của danh sách cho phép — từ “chỉ tên nhà sản xuất” tới khối riêng của nhà sản xuất có chữ ký.
- Điều gì xảy ra khi bị từ chối — cổng bị vô hiệu hóa, laser tắt, hoặc liên kết vẫn được phép kèm một bản ghi log (Quang bên thứ ba).
- Độ sâu CMIS — điều khiển đầy đủ ứng dụng/luồng dữ liệu so với “thả LPMode rồi hy vọng” (Sự cố CMIS).
- Giá trị mặc định của FEC và tốc độ — suy ra từ mã tuân thủ hoặc được cấu hình tĩnh.
- Thăm dò DDM — chu kỳ, liệu ngưỡng có kích hoạt tắt cổng hay không, liệu hiệu chuẩn ngoài có được áp dụng hay không (Hiệu chuẩn).
CLI riêng theo từng nhà sản xuất để xem host dừng ở đâu: Kiểm tra module quang trên switch.
Bộ lập trình khác host ở điểm nào
Một bộ lập trình như CodingBox thực hiện các bước 1–5 và 11 nhưng không có chính sách: nó đọc mọi thứ mà module phơi ra, kể cả vùng của nhà sản xuất và byte mật khẩu, giữ các module CMIS ở công suất thấp trừ khi được yêu cầu khác, và không bao giờ tự ý bật laser. Đó là lý do vì sao một module có thể trông khỏe mạnh trên bàn thử nhưng vẫn lỗi khi cắm vào cổng — bàn thử không có bước 6.
Trong CodingBox
Check transceiver hiển thị kết quả của các bước 3–5 như cách một host sẽ thấy — loại, tốc độ, checksum, cấp công suất — và đánh dấu các điểm không nhất quán trước khi module tới được một cổng; DDM bao phủ bước 11 với giám sát và cờ trực tiếp.
Phần cứng đứng sau bước 6 (chính sách) và giới hạn nhóm cổng đứng sau bước 8: Bên trong switch, Cách mỗi NOS xác thực module.