Catalyst 3750 shows a CWDM SFP as SX: which EEPROM fields to edit
Running a CWDM ring at the access layer, Catalyst 3750 at aggregation. I got plain modules with no vendor encoding, case marking TTG965D1, 1470-1610 nm grid. The link comes up, traffic flows, but the switch treats them as SX modules: in both inventory and monitoring it shows SX instead of CWDM, so I have to keep the "port - wavelength" table by hand and by memory.
- Catalyst 3750 at aggregation, uplinks in SFP ports
- CWDM SFP 1470-1610 nm, marking TTG965D1
- the modules already have Cisco's vendor SX image flashed in - whatever was on hand
- I have a programmer, and dumps of SX, LH, and ZX too
sw#show idprom interface GigabitEthernet1/0/25
General SFP Information
Transceiver Type = 1000BaseSX SFP
What I've already done:
- tried SX, LH, and ZX: the type in the output honestly changes with the image, but CWDM doesn't show up in any form among them;
- moved the module to another port and to a neighboring 3750 - same picture, so it's not the port or the specific unit;
- compared the SX and LH dumps byte by byte to figure out where the type even lives, but with no working CWDM image there's nothing to compare it against.
The core question: which fields on the first EEPROM page control whether the 3750 reports CWDM-1550 SFP, and is it enough to patch them in the existing SX image, or do I need a whole separate CWDM image?
Comments 4
Since the link already comes up and traffic flows, the task is purely cosmetic: get what the switch reports about the module in order. That's noticeably easier than a case where the port refuses to come up at all, but it's still only fixed through the EEPROM.
Post
show idprom interfacein full, not three lines. Besides the type there's the vendor name, part number, and description, and they're usually all wrong at once, because it's one image for everything. Also say what you're flashing with and whether reading it back gives exactly what you wrote: sometimes the module accepts the write but nothing actually lands in it.The 3750 doesn't measure wavelength, it just reads the identification from the first bytes of A0 and shows what's written there. You flashed an SX image - you got SX, that's all consistent. You need a CWDM image with the corresponding part number and description, then CWDM-1550 SFP will show up in the output, and there's no other magic here.
About the reflashing itself: of the 256-byte dump, only the first 128 actually matter, beyond that is the manufacturer's zone, you can leave it alone entirely. After editing the fields, be sure to recompute the checksums, otherwise the switch will reject the module before it even gets to the type.
The approach isn't specific to the 3750. On the 3560, on the HP J8692A, on the EX4200-24F, on D-Link and Extreme, cheap WDM modules come up exactly the same way - by writing the image of the module this hardware considers its own: GLC-LX, GLC-BX-D and GLC-BX-U, J4858C and J4859C, DEM-310GT, 3CSFP92, and from Finisar's lineup FCMJ-8521-3. The programmer doesn't have to be store-bought either, at one point a homebrew schematic called serp-0.3 circulated.
I'll add something and disagree a bit: chasing the "correct image" for every piece of hardware is the slowest path there is. If you have a module on hand that this port accepts and identifies correctly, dump it with a programmer and flash it into the problem one, then fix the serial number so two identical ones never end up in the same box.
Two caveats. Some Chinese modules won't let themselves be reflashed even after unlock commands: the write simply doesn't go through, and then the only option is a different batch. And with HP the behavior is binary - either the switch accepts everything, or only its own signed modules, I've never seen a middle ground.
Specific ports can also act strange. On a CSS106-5G-1S, a known-good module that worked fine in other hardware wasn't accepted by one particular port, until a dump from its neighbor went into it.
And a third path, if you don't want to touch a programmer at all: specify the target hardware right at order time. Suppliers encode modules for a specific platform - among the well-known ones, SNR, Modultech, ANDPRO, they have firmware databases for Cisco, Juniper, Extreme, Alcatel, Arista, Huawei, D-Link, Eltex, and QTECH, some also recode what you've already bought, and some test the link before shipping.
I'll be honest: I've only bought copper that way myself, SNR-SFP-GE-T, never checked CWDM for a 3750. So confirm they have a database for your exact platform before paying, not after.