Reprogramming SFP EEPROM with a Raspberry Pi to make modules work across Cisco/HP equipment
A tutorial on recoding SFP/SFP+ EEPROM so a module works with a different vendor's switch. It uses a Cisco Twingig housing to reach the SFP I2C pins and wires four lines from the Pi GPIO (3.3 V, GND, SDA on GPIO3, SCL on GPIO5). It shows detecting 0x50 (and optional 0x51 DOM) with i2cdetect, points out the CC_BASE checksum at 0x3F and CC_EXT that must be vallid, and identifies vendor fields (bytes 20-35), wavelength (60-62) and Cisco vendor-key fields (0x60-0x7F).
- Hardware: Cisco Twingig adapter
- Transceivers: SFP, SFP+
- Form factor: SFP, SFP+
Symptoms / messages:
reference: recoding vendor fields and fixing checksums
Comments 1
Read an existing vendor module as a template, edit bytes 20-35 (vendor), keep CC_BASE (0x3F) and CC_EXT valid after every change, and note that Cisco compliance needs the vendor-key algorithm over 0x60-0x7F.