Intel X520 EEPROM patcher: flipping the bit at offset 0x58 to accept any SFP+ module on every OS
0
Intel X520 (82599) cards enforce a list of approved SFP+ modules; under Linux the ixgbe parameter helps, but on Windows or ESXi there is no such option. The gist provides a Python script that reads the card EEPROM with ethtool -e and sets bit 0 of the byte at offset 0x58 (0 = Intel modules only, 1 = any module) with ethtool -E using the device-specific magic value. Users reported Python 3 and Ubuntu 22.04 incompatibilities that were fixed in forks, cards staying unlocked after moving to Windows, and at least one X520-SR2 that still rejected non-Intel modules after patching.
- Hardware: Intel X520-DA1, Intel X520-DA2, Intel X520-SR2, Intel 82599ES
- Transceivers: third-party SFP+
- Form factor: SFP+
Symptoms / messages:
unsupported SFP+ module rejected on Windows/ESXi
no carrier with non-Intel module
Comments 1
Boot Linux (a live USB is fine), run the script as root to set bit 0 at EEPROM offset 0x58 via ethtool -E with the correct magic; the change is permanent and works on any OS afterwards. Use the community-fixed version on Python 3 / Ubuntu 22.04+.