Last active
December 21, 2023 15:17
-
-
Save vfreex/228f318c85abe44ad9ab76331c3c0933 to your computer and use it in GitHub Desktop.
ixgbe driver hack for 3rd-party SFP+ transceivers compatibility
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// If both allow_unsupported_sfp=1 option and https://forums.servethehome.com/index.php?threads/patching-intel-x520-eeprom-to-unlock-all-sfp-transceivers.24634/ are not working, | |
// your SFP+ transceivers may be too old to support Transceiver Compliance Codes in EEPROM. | |
// Inspired from https://mails.dpdk.org/archives/dev/2019-May/131512.html. | |
// Looking for the following content in src/ixgbe_phy.c: | |
status = hw->phy.ops.read_i2c_eeprom(hw, | |
IXGBE_SFF_10GBE_COMP_CODES, | |
&comp_codes_10g); | |
if (status != IXGBE_SUCCESS) | |
goto err_read_i2c_eeprom; | |
status = hw->phy.ops.read_i2c_eeprom(hw, | |
IXGBE_SFF_CABLE_TECHNOLOGY, | |
&cable_tech); | |
if (status != IXGBE_SUCCESS) | |
goto err_read_i2c_eeprom; | |
// add the following lines | |
if (comp_codes_10g == 0 && cable_tech == 0) { | |
printk(KERN_ALERT "yuxzhu: SPF+ transceiver may not support SFF compliance code. Set comp_codes_10g=32"); | |
comp_codes_10g = 32; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you both! I need both the Linux and FreeBSD fixes. ISP updated their infra to 10gbit and gave me their SFP+ modules which, of course, were incompatible with the Intel cards in the servers.