প্রতিটি NOS কীভাবে মডিউল যাচাই করে
আমাদের দল অনুবাদের কাজ করছে। এই নিবন্ধটি সাময়িকভাবে বাংলায় পাওয়া যাচ্ছে না, তাই এটি ইংরেজিতে দেখানো হচ্ছে।
Between "module detected" and "port up" every network OS runs a check on the module's identity. What it compares, what it does when the comparison fails and whether an administrator can override it differ by vendor, platform and release — and that difference is the whole subject of transceiver compatibility. This page lays the behaviours side by side, as documented by the vendors and observed in the field, so a module read on the bench can be judged against the box it is meant for.
What can be checked
| Check | Bytes involved | Who does it |
|---|---|---|
| Checksums CC_BASE / CC_EXT | SFP 63/95, QSFP 191/223, CMIS 222/255 | almost everyone — a failure is invalid EEPROM (Checksums) |
| Identifier / connector / encoding consistency | SFP 0, 2, 11; QSFP 0, 130, 139 | most; unknown types shown as such |
| Compliance codes vs port | SFP 3–10, 36; QSFP 131–138, 192; CMIS applications | most — speed and type not supported (Compliance codes) |
| Vendor name + part number against a list | SFP 20–35, 40–55; QSFP 148–163, 168–183 | strict and semi-strict platforms (Part numbering) |
| Vendor-specific signature | vendor area (SFP 96–127, QSFP 224–255, CMIS custom) | a few OEMs; a hash tied to the serial number |
| Serial number format / date code | SFP 68–91; QSFP 196–219 | rare; support engineers look at them manually |
| Power class vs port | SFP 64; QSFP 129/107; CMIS 200–201 | everyone that implements power management (Power & thermal) |
Behaviour by vendor
Public commands and behaviours as of recent releases; details vary by platform and version.
| Vendor / NOS | Checks | On failure | Override | DDM for third-party |
|---|---|---|---|---|
| Cisco IOS / IOS-XE (Catalyst, ISR) | vendor/PN list and a vendor-specific check; checksums | %PHY-4-UNSUPPORTED_TRANSCEIVER, port errdisabled (gbic-invalid), laser off | service unsupported-transceiver (hidden) + no errdisable detect cause gbic-invalid; not on all platforms; not supported by TAC | shown once accepted; some fields blank |
| Cisco NX-OS (Nexus) | as above, less strict on many DC platforms | often up with a log; strict SKUs errdisable | service unsupported-transceiver | usually shown |
| Cisco IOS-XR | per-platform optics list, power class | unsupported state, port may stay down | limited; platform-dependent | partial |
| Arista EOS | checksums, type consistency | logs unsupported; link comes up | none needed | full |
| Juniper Junos | vendor/PN list for "supported" label, checksums | link usually up; show chassis pic marks unsupported; some EX/QFX platforms withhold DDM or speeds for unknown PNs | none official | full for known PNs, partial for unknown |
| Huawei VRP | vendor/PN; non-Huawei → alarm | link up with recurring phony transceiver alarms; some platforms restrict | transceiver phony-alarm-disable (system view) | full |
| H3C Comware | as VRP | alarm | transceiver phony-alarm-disable | full |
| HPE Aruba AOS-S / AOS-CX | vendor/PN list | unsupported, port down | allow-unsupported-transceiver | full |
| Dell OS10 / OS9 / PowerConnect | checksums; some list checks on older gear | logs; older: errdisable | service unsupported-transceiver (older) | full |
| Extreme EXOS / VOSS | checksums, type | logs, up | — | full |
| Ruckus/Brocade ICX (FastIron) | checksums; optical monitoring only for Brocade PNs on some | up; DDM may be missing | — | partial |
| Brocade FOS (SAN) | Brocade-branded PN and serial required on most Gen 5/6/7 platforms | port Mod_Inv, not enabled | none | Brocade optics only |
| Nvidia/Mellanox (Onyx, Cumulus, IB) | Ethernet: checksums, type; InfiniBand: cable info validated by the fabric manager | Ethernet up with log; IB may run at reduced speed or flag | — | full |
| SONiC / white-box | platform plugin: checksums, CMIS parsing | up; unknown fields shown raw | — | full (plugin-dependent) |
| MikroTik RouterOS / SwOS | none beyond parsing | up | — | full |
| Ubiquiti | none beyond parsing | up | — | full |
| Server NICs (Intel, Broadcom, Mellanox) | driver whitelists on some Intel families | driver refuses to bring the port up | allow_unsupported_sfp=1 module parameter (Intel ixgbe/i40e) | via ethtool -m |
Where a vendor's override exists, it is generally offered as is: the module works, but the vendor does not commit to supporting the combination. Fleet decisions belong with the network owner (Third-party optics).
What "coded for vendor X" has to satisfy
| Platform class | Minimum for acceptance | Also advisable |
|---|---|---|
| Permissive (Arista, SONiC, MikroTik, Extreme…) | valid checksums, consistent type codes | real vendor name and PN — nothing to gain from OEM coding |
| List-checking (Juniper, Aruba, Huawei/H3C, NX-OS on many SKUs) | vendor name and PN exactly as in the platform's list, correct compliance codes for the port | matching PN suffix/grade; realistic serial and date code |
| Signature-checking (Cisco IOS/IOS-XE, some XR) | all of the above plus the vendor-specific area computed for this serial | identity fields consistent with the PN (wavelength, reach, technology) |
| Branded-only (Brocade FOS) | Brocade vendor string and PN family, serial format | — |
How the bench side works: Vendor lock & coding, EEPROM recoding.
Reading the rejection
| Log / status text | Meaning | Next step |
|---|---|---|
unsupported transceiver, Mod_Inv, phony | identity not on the list | override, or code to a listed PN |
invalid EEPROM, checksum error | CC_BASE/CC_EXT wrong | recalculate (Checksums) |
speed and type not supported, unknown media type | compliance codes do not fit the port | fix codes or use another port mode (Speed & rate) |
power class exceeds, stuck in LowPwr | power class vs cage | Power & thermal |
Module not ready, DP state stalls | CMIS bring-up | CMIS issues |
Per-NOS commands to see these states: Verifying optics on a switch.
Changes with software upgrades
Vendors tighten or loosen checks between releases: new signature validation, new supported-optics lists, removed hidden commands, changed DDM handling. A fleet of third-party or coded optics that worked yesterday can be errdisabled after an upgrade (Compatibility matrices & firmware).
In CodingBox
CodingBox shows the exact bytes each check above reads — vendor name, PN, checksums, compliance codes, power class — and the code database holds identities that a given platform class accepts. Verify on a test port after coding; the switch, not the bench, has the last word (Check transceiver).
The server-side counterpart — driver whitelists per NIC vendor, Intel overrides, Windows and ESXi behaviour: Transceiver compatibility on NICs.