I needed a fiber connection to my HP 2824 switch, but it would not allow me to use non HP SFPs.
So what did I do? I reflashed a D-Link DEM-311GT using the EEPROM data from an HP SFP using a Raspberry Pi (and an old broken switch as a breakout board for the SFP).
The EEPROM in the SFP is just an ordinary I2C EEPROM (basically the same as is used for the EDID in monitors).
There was one problem though: the DEM-311GT SFP was write protected, so I had to solder a wire to the write-protect pin to make it writeable.