CMIS — gestion commune · Spécifications et normes · Transceivers et câbles optiques · Documentation · CodingBox
CodingBox Documentation

CMIS — gestion commune

CMIS, la Common Management Interface Specification, est le modèle de gestion de tous les nouveaux facteurs de forme haut débit : QSFP-DD, OSFP, OSFP-XD, QSFP112, SFP-DD et SFP112 (comme SFP+ avec CMIS), DSFP, COBO et QSFP compatible CMIS. Il est né dans la MSA QSFP-DD (CMIS 3.0, 2018), a été adopté par les groupes OSFP et COBO, et depuis la version 5.0 (2021) est maintenu à l’OIF. Comparé à SFF-8636, ce n’est pas une carte mémoire plus grande mais un modèle différent : pages en banques pour jusqu’à 32 voies, machines à états explicites pour le module et chaque chemin de données, applications à la place des bits de conformité, diagnostics polyvalents (VDM) et un canal de commande (CDB) pour le firmware et les fonctions étendues. Octet de version et historique : Révisions de la spécification.

Modèle mémoire

RégionAdressageContenu
Page inférieure (octets 0–127)toujours visibleidentifiant, révision, état du module, indicateurs, moniteurs du module, commandes globales, type de média, descripteurs d’application 1–8, mot de passe, sélection de banque 126, sélection de page 127
Page supérieure 00h (128–255)page 127 = 00hbloc fournisseur, classe de puissance, connecteur, longueurs de câble, technologie média, somme de contrôle
01hannoncerévisions firmware/matériel, longueurs de liaison, longueur d’onde, pages et banques prises en charge, durées, commandes d’intégrité du signal, descripteurs 9–15
02hseuilsseuils d’alarme/avertissement du module et des voies
04hcapacités lasergrilles et plages du laser accordable (filiation SFF-TA-1004)
10h (en banques)commande de voiedésinitialisation du chemin de données, désactivation Tx, polarité, squelch, égalisation, jeux de commande étagés
11h (en banques)état de voieétats du chemin de données, indicateurs par voie, moniteurs de voie, état de configuration, jeu de commande actif
12h (en banques)commande du laser accordablecanal/longueur d’onde par voie
13h–14h (en banques)diagnosticsbouclages, générateurs et vérificateurs PRBS
20h–2Fh (en banques)VDMdescripteurs, échantillons, seuils, indicateurs
9FhCDBbloc de commande : ID de commande, longueurs, somme de contrôle, charge utile locale
A0h–AFhCDB EPLcharge utile étendue pour les transferts volumineux (images de firmware)
80h–FFh (autre)fournisseurpages personnalisées

Une banque adresse 8 voies : banque 0 voies 1–8, banque 1 voies 9–16 et ainsi de suite ; le nombre de banques mises en œuvre est annoncé dans la page 01h. Les modules n’ayant que la page 00h positionnent le bit de mémoire plate (octet 2 bit 7). Bus : adresse unique A0h, jusqu’à 400 kHz, ModSelL par emplacement — interface à deux fils.

Page inférieure — les octets dont dépend l’hôte

OctetsChampRemarques
0Identifiant18h QSFP-DD, 19h OSFP, 1Eh QSFP avec CMIS… (SFF-8024)
1Révision CMISquartets majeur.mineur : 50h = 5.0, 40h = 4.0, 30h = 3.0
2Caractéristiques mémoirebit 7 mémoire plate, plus configuration étagée uniquement et autres bits de capacité
3État du modulebits 3–1 : 1 LowPwr, 2 PwrUp, 3 Ready, 4 PwrDn, 5 Fault ; bit 0 interruption désactivée
8–11Indicateurs du modulechangement d’état, alarmes température/Vcc, alarmes auxiliaires, personnalisé ; verrouillés, effacés à la lecture
14–25Moniteurs du moduletempérature, Vcc, Aux1–Aux3 (courant TEC, température laser, alimentation additionnelle), personnalisé
26Commandes globales5.x : bit 6 LowPwrAllowRequestHW, bit 5 méthode de squelch, bit 4 LowPwrRequestSW, bit 3 réinitialisation logicielle (4.x : bit 6 LowPwr, bit 4 ForceLowPwr)
37–38État CDBoccupé / succès / échec pour les blocs de commande 1 et 2
39–40Firmware actifmajeur.mineur de l’image en cours d’exécution
85Type de média01h MMF, 02h SMF, 03h cuivre passif, 04h câble actif, 05h BASE-T
86–117Descripteurs d’application 1–84 octets chacun : ID d’interface hôte, ID d’interface média, nombre de voies hôte/média, options d’affectation des voies hôte
118–121Changement de mot de passedéfini par le fournisseur
122–125Saisie du mot de passedéfini par le fournisseur — emplacement des mots de passe de protection en écriture
126Sélection de banque—
127Sélection de page—

Machine à états du module

Reset ──► MgmtInit ──► ModuleLowPwr ──► ModulePwrUp ──► ModuleReady
                            ▲                              │
                            └──────── ModulePwrDn ◄────────┘
                       (ModuleFault from any state on a fatal error)
  • MgmtInit — le module démarre son contrôleur ; l’identité n’est pas encore lisible (jusqu’à 2 s selon les spécifications matérielles).
  • ModuleLowPwr — identité, annonce et seuils lisibles ; puissance limitée à la classe 1 ; l’hôte valide le module à ce stade.
  • ModulePwrUp → ModuleReady — l’hôte désactive la broche LPMode (ou efface LowPwrRequestSW) et le module met sous tension son optique ; les chemins de données peuvent alors être initialisés.
  • ModulePwrDn — l’inverse lors de l’activation de LPMode.

Un module qui ne quitte jamais LowPwr est le ticket CMIS classique : Problèmes CMIS, Puissance et thermique.

Applications et chemin de données

Au lieu de bits de conformité, un module CMIS annonce des applications — des paires d’interface électrique hôte et d’interface média, avec le nombre de voies :

DescripteurInterface hôteInterface médiaVoies hôte / voies médiaExemple
App 112h 400GAUI-8 C2M1Ch 400GBASE-DR48 / 4une liaison 400G
App 20Eh 100GAUI-2 C2M14h 100GBASE-DR2 / 1éclatement (breakout) 4 × 100G

L’hôte choisit une application par voie en écrivant AppSel (bits 7–4), un DataPathID (bits 3–1) et le bit de commande explicite dans le Staged Control Set 0 (page 10h octets 145–152), puis active ApplyDPInit (page 10h octet 143). Le module répond dans ConfigStatus (page 11h octets 202–205 : accepté, rejeté, AppSel invalide, combinaison de voies invalide…) et copie les valeurs acceptées dans l’Active Control Set (page 11h 206–221). Chaque chemin de données parcourt alors sa propre machine à états :

DPDeactivated ──► DPInit ──► DPInitialized ──► DPTxTurnOn ──► DPActivated
       ▲                                                          │
       └────────── DPDeinit ◄───────── DPTxTurnOff ◄──────────────┘

Les états sont rapportés par voie dans la page 11h octets 128–131 (un quartet par voie), et les durées maximales de chaque étape sont annoncées dans la page 01h afin que l’hôte sache combien de temps attendre. La désactivation Tx par voie se trouve à la page 10h octet 130. Un éclatement (breakout) que le module ne liste pas comme application n’est simplement pas disponible — Vitesse et débit.

Surveillance : indicateurs, moniteurs, VDM

  • Les moniteurs du module (page inférieure 14–25) et les moniteurs de voie (page 11h : puissance Tx 154–169, bias Tx 170–185, puissance Rx 186–201, 2 octets par voie) utilisent les mêmes formats 16 bits que SFP/QSFP (unités).
  • Les seuils sont sur la page 02h ; les indicateurs sont verrouillés et effacés à la lecture, avec un masque par indicateur ; IntL signale tout indicateur non masqué.
  • Le VDM (pages 20h–2Fh) ajoute des observables que les anciennes spécifications n’avaient jamais : TEB pré-FEC, trames FEC non corrigibles, SNR par voie, température et âge du laser, eSNR, paramètres de transition des niveaux PAM4 — chacun avec son propre descripteur, ses seuils et ses indicateurs. C’est ainsi qu’un module 400G rapporte la qualité de liaison avant que les erreurs n’atteignent l’hôte (Surveillance).

CDB — bloc de données de commande

La page 9Fh est une boîte aux lettres : l’hôte écrit un ID de commande (octets 128–129), des longueurs de charge utile (130–132), une somme de contrôle (133) et jusqu’à 120 octets de charge utile locale (136–255), et éventuellement plus dans les pages EPL A0h–AFh ; le module exécute et rend compte dans les octets d’état 37–38 et une charge utile de réponse. Commandes standard :

CommandeObjet
0000hinterroger l’état
0040h / 0041hfonctionnalités du module / fonctionnalités de gestion du firmware
0100hobtenir les infos firmware (images active et inactive)
0101hdémarrer le téléchargement du firmware
0103h / 0104hécrire un bloc de firmware via LPL / EPL
0107hterminer le téléchargement
0109h / 010Ahexécuter l’image / valider l’image
0102hannuler

CDB est le moyen par lequel les outils fournisseur mettent à jour le firmware du module sur le terrain, et par lequel certains fournisseurs mettent en œuvre des fonctions de configuration et de déverrouillage. La prise en charge et les fonctionnalités sont annoncées dans la page 01h.

Sommes de contrôle et mots de passe

L’octet 222 de la page 00h totalise les octets 128–221 ; les pages 01h, 02h et 04h portent une somme de contrôle de page dans l’octet 255 (Sommes de contrôle). Les mots de passe (122–125) et les schémas de déverrouillage fournisseur sont en dehors de la spécification — Recodage de l’EEPROM.

Prise en charge côté hôte

Les systèmes d’exploitation réseau implémentent CMIS 4.0 et 5.x à des degrés divers : certains pilotent le flux complet application/chemin de données, d’autres relâchent LPMode et attendent que le module démarre de lui-même. Cette différence explique la plupart des tickets « reconnu mais jamais prêt » — Problèmes CMIS, Ce que fait l’hôte.

Dans CodingBox

CodingBox détecte CMIS par l’octet d’identifiant et de révision, lit la mémoire inférieure, les pages 00h, 01h, 02h et les pages de voie en banques, décode les descripteurs d’application selon SFF-8024, affiche les états du module et des chemins de données ainsi que les moniteurs par voie dans DDM, et modifie l’identité avec recalcul des sommes de contrôle de page dans l’EEPROM editor. Les opérations de firmware via CDB sont spécifiques au fournisseur et hors du périmètre de l’éditeur.

Tables au niveau registre : Carte de la page inférieure, Carte des pages supérieures 00h/01h/02h, Carte des pages de voie 10h/11h, VDM, CDB.


Si vous trouvez une inexactitude ou une erreur dans cet article, sélectionnez le passage concerné et appuyez sur Ctrl+Enter pour .