Brocade G610 on FOS 9.x faults compatible 16G SWL optics: Mod_Inv and Speed Mismatch / Incompatible SFP
We are adding capacity to a small FC fabric and bought compatible 16G short-wave SFP+ from an optics supplier instead of paying the switch vendor price. The switch refuses them.
- Brocade G610, Fabric OS 9.x
- generic-coded 16G SWL SFP+, correct wavelength and reach according to the label
- Brocade-coded 16G parts in neighbouring ports of the same switch, working
- same modules tried in an older Brocade 300, same behaviour
On insert the port comes up faulty:
switchshow
12 12 010c00 id N16 Mod_Inv FC Speed Mismatch / Incompatible SFP
sfpshow 12
Port does not use an SFP or is disabled!
The GUI is blunter: Faulted due to SFP validation failure. Check if the SFP is valid for the configuration. and Port Health goes to FAULTY. errdump has a matching chassis entry about the port being faulted due to an invalid SFP, conflicting speed or laser fault.
Already tried:
- reseated the module and moved it to two other ports, identical result everywhere
- pinned the port speed to 16G instead of auto, no change
- put a Brocade-coded module into the same port to prove port and cable are fine, it links instantly
What exactly is Fabric OS validating here, and is there anything on the switch side that makes it accept these, or do the modules simply have to go back?
Comments 3
That output is consistent, and none of it is a misconfiguration on your side.
Fabric OS carries lookup tables and checks the coded transceiver identity together with the supported speed bits. It expects Fibre Channel speed capabilities to be encoded, something like 4/8/16G or 8/16/32G depending on the part. A module coded generically, or coded with Ethernet rates sitting in the speed fields, fails that check even though the optics are the correct wavelength and reach, so the port is faulted instead of merely staying down. The empty
sfpshowis a side effect of the same check: once validation fails the module reads as missing rather than as rejected, which sends people off chasing dead cages.There is no switch-side setting that gets you past it: the decision is made on the coding, not on the negotiated rate. The way out is a module coded for Fibre Channel with the right FC speeds for your platform, matching the Broadcom transceiver support matrix. Your supplier can normally recode the parts you already have, which beats shipping them back.
The Brocade 300, G610, G720 and OEM boxes such as the IBM SAN64B-6 all behave this way, and SWL, LWL, ELWL, CWDM and DWDM variants are treated alike. It became noticeably more common with FOS 9.x, which is why parts that were fine in an older fabric suddenly are not.
One trap if these ever end up in a Gen 7 box: a G720 refuses non-secure optics too, and even a Brocade 32G part like 57-1000333-01 lands in Mod_Inv there. Gen 7 wants the secure part numbers from the matrix, not just correct FC coding.
Before you ship them back, push the supplier on one detail: which rates are actually burned into the speed capability fields of those modules. Fibre Channel rates, something in the 4/8/16G shape, or Ethernet rates? Generic coding on the label tells you nothing about that, and it is usually where this goes wrong.
Worth posting too:
sfpshowon one of the working Brocade-coded ports next to the faulted one, so you can compare what identity the switch reads in each case. And do not spend more time on the port speed setting, that is not what the chekc is looking at.Asked them, and it is the seond case. The speed fields carry Ethernet rates, there is no FC speed set in there at all, nothing in the 4/8/16G shape for the switch to find. The optics are the right wavelength and reach for 16G SWL, but the identity was never written for a Fibre Channel part, and the supplier conceded that once I quoted the error back at them.
The comparison you wanted is not very informative.
sfpshowon the working port next to it prints the full identity block as expected, while on the faulted port I still get onlyso the switch does not even present it as a refused module, the cage reads as empty. And noted on the port speed setting, that one was already crossed off before I posted.