速度、レート、モードの問題
「25G ではリンクするが 10G ではしない」「100G ポートがブレークアウトしない」「銅線 SFP がこのスイッチでは死んでいるのに、あちらのスイッチでは正常」。これらは光学的な故障ではありません — 光そのものは正常です — ホストとモジュールの間でのレート、コーディング、モードの食い違いです。 25G の登場以降、チケットの大きな割合をこれが占めています。
マルチレートモジュール
モジュールは、対応するレートを識別ブロックに記載します(公称レート byte 12、コンプライアンスコード、拡張コンプライアンス byte 36/SFF-8024 Table 4-4)。ホストはこれを読み取り、申告されていないレートを拒否します。よくあるケース:
| 状況 | 失敗する理由 | 対処法 |
|---|---|---|
| 10G SFP+ を1Gで使用 | モジュールがデュアルレート非対応、またはホストポートが SFP+ ケージでの 1G に非対応 | デュアルレートモジュール(両方を申告)を使う、ホストの対応状況を確認する |
| 25G SFP28 を10Gで使用 | CDR が 25G にしかロックしない、またはホストが 10G のコンプライアンスコードを要求する | 10G/25G デュアルレート CDR を持つモジュールを使う、または CDR バイパスを有効化する。10G のコンプライアンスバイトをコーディングする |
| 10G 専用ポートに 1G SFP | SFP+ ケージを 10G 専用で動作させるホストがある | 1G に対応したポートまたはプラットフォームを選ぶ |
| 100G QSFP28 を40Gで使用 | 対応例はほとんどない。レーンレートと FEC が異なる | 40G モジュールを使う |
CDR が重要な理由:CDR — クロックとデータの再生。
ブレークアウト
4レーンのポートは、4本の独立したリンクになり得ます。ただしホストとモジュールの両方がそれを許可している場合に限ります。
- パラレル光学系(SR4、PSM4、DR4)と DAC/AOC のブレークアウトケーブルはブレークアウトできます。各レーンが独立した光ファイバーペアです。
- WDM 光学系(LR4、CWDM4、FR4)はできません — 4つの波長が1組の光ファイバーペア上を伝わり、1つの受信器で終端される必要があるためです。
- ホストポートは、スイッチ側でブレークアウト(例:4×25G)に設定されている必要があります。対向側は、一致する FEC でシングルレーンのレートを動作させる必要があります。
- CMIS モジュールは、対応するアプリケーション(page 01h)を申告します。そこに記載のないブレークアウトモードは利用できません(CMIS)。
FEC とオートネゴシエーション
25G 以上では、レベルは良好なのにトレーニングが一切完了しないリンクは、ほぼ必ずFEC の不一致です。片方が RS-FEC 有効、もう片方が無効というケースです。 DAC では、オートネゴシエーション(Clause 73)とリンクトレーニングを両端で有効にするか、両端で無効にしたうえで静的設定を一致させる必要があります。詳細はFEC、オートネゴシエーションとリンクトレーニングを参照してください。
銅線 SFP のモード
1000BASE-T SFP の内部には PHY が搭載されています。ホストとはSGMII(銅線側のオートネゴシエーションを伴う)、または単純な1000BASE-Xのいずれかで通信します。一方のモードでコーディングされたモジュールを、もう一方に設定されたポートに挿すと、断続的にしかリンクしないか、まったくリンクしません。典型的には「ベンダー A のスイッチでは動くが、ベンダー B では死んでいる」という形で現れます。ポートごとにモードを設定できるホストもありますが、そうでなければプラットフォームに合ったモジュールを選んでください(銅配線イーサネットと DAC)。
レート選択
マルチレート対応の SFP 系モジュールは、RS0/RS1 ピン、またはソフトウェアによるレート選択ビットを通じて受信器の帯域幅を切り替えます。モジュールは byte 13 でその方式を申告します。 RS を必要とするモジュールに対してホストが一度も RS を駆動しないと、受信器が誤ったレートグループのままになることがあります(レートとアプリケーションの選択)。
「Speed and type: not supported」
識別情報を検証するホストは、モジュールのベンダー文字列は受け入れても、レート/タイプの組み合わせは拒否することがあります。コンプライアンスコードにポートのモードが含まれていない、または 25G/100G 用の拡張コンプライアンスコードが欠けている場合です。正しいコンプライアンスバイトを(実際にハードウェアが対応するものだけ)コーディングすれば解決します(EEPROM のリコーディング)。
診断の手順
- 光レベルが正常であることを確認する(リンクが確立しない場合のチェックリストのステップ3–6)。
- ベンチでモジュールのレートコードを読み取る:byte 12、コンプライアンスコード、拡張コンプライアンス、レート識別子(メモリーマップ)。
- 両端のホストポート設定を比較する:速度、FEC、AN、ブレークアウト。
- CDR/LOL のフラグを確認する:低いレートで LOL になるレーンは CDR が原因である可能性が高い。
- ハードウェアがそのレートに対応しているのに識別情報がそれを示していない場合は、コーディングする。
CodingBox での作業
Check transceiver 画面は、公称レート、コンプライアンスコード、拡張コンプライアンスコードをデコードし、CMIS モジュールでは申告済みのアプリケーションを一覧表示します。 EEPROM editor では、チェックサムを再計算しながらレートとコンプライアンスのバイトを編集できます。正直な値を保ってください。光学系が実際には対応できないレートを申告すると、故障の形が「リンクしない」から「エラー付きでリンクする」に変わるだけです。
レートおよびタイプバイトのビットごとの意味と、モジュール種別ごとの典型的なコーディング:コンプライアンスコード。
各 NOS における速度、FEC、オートネゴシエーション、ブレークアウトのコマンド:ポート設定のレシピ。ポートグループが特定の速度を拒否する理由:スイッチの内部。
1G でしか動かない銅線 SFP、まったくリンクしない 100BASE-FX、2.5G スティック、10G でしか動かない 10GBASE-T SFP+ — その背後にある SGMII/1000BASE-X/USXGMII のモード問題:SGMII とシリアルギガビット。