This project contains the Linux kernel drivers for all Intel(R) Ethernet adapters and LOMs (LAN On Motherboard). To learn more about Intel Ethernet visit http://communities.intel.com/community/tech/wired
Mailing list for out-of-tree Support:
Mailing list for in-kernel Support:
- e1000e driver
- ixgbe and ixgbevf driver
- igb and igbvf driver
- i40e and i40evf drivers
- lldpad daemon
- ethregs register dump utility
- e1000 driver: The e1000 driver is changed to a kernel only support model. (The latest release of e1000 driver was version 8.0.35)
Time to update the driver. Can't compile under new kernel branch 4.10. UPDATE. Finally!
This driver is cancer on Debian/Ubuntu/Mint/Whatever. They are hard coding kernel versions that they happen to use, rather than compile depending on whatever kernel build source it's being built on(the point of building from src in the first place). So this driver compile shts itself if every planet isn't aligned with one guy using redhat in a dungeon at intel. This is not the way to sell hardware, kids. Just in case you missed the point of vendor supplied drivers. For example: #define UBUNTU_VERSION_CODE (((LINUX_VERSION_CODE & ~0xFF) << 8) + (UTS_UBUNTU_RELEASE_ABI)) #if UTS_UBUNTU_RELEASE_ABI > 255 #error UTS_UBUNTU_RELEASE_ABI is too large... #endif /* UTS_UBUNTU_RELEASE_ABI > 255 */ #if ( LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,0) ) /* Our version code scheme does not make sense for non 3.x or newer kernels, * and we have no support in kcompat for this scenario. Thus, treat this as a * non-Ubuntu kernel. Possibly might be better to error here. */ #define UTS_UBUNTU_RELEASE_ABI 0 #define UBUNTU_VERSION_CODE 0 #endif
Works just as well as you hoped it would. If, at your own risk, you want to support both 1Gb and 10Gb with SFP+ modules that have not been tested with both--and are not advertised to work with both--just make multispeed_fiber always true: --------------------- ixgbe/ixgbe-4.0.3/src/ixgbe_phy.c ---------------------- index 102dd53..a3e5f74 100644 @@ -1451,7 +1451,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_setup_needed = true; /* Determine if the SFP+ PHY is dual speed or not. */ - hw->phy.multispeed_fiber = false; + hw->phy.multispeed_fiber = true; if (((comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) && (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)) || ((comp_codes_1g & IXGBE_SFF_1GBASELX_CAPABLE) && @@ -1771,7 +1771,7 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw) hw->phy.sfp_setup_needed = true; /* Determine if the QSFP+ PHY is dual speed or not. */ - hw->phy.multispeed_fiber = false; + hw->phy.multispeed_fiber = true; if (((comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) && (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)) || ((comp_codes_1g & IXGBE_SFF_1GBASELX_CAPABLE) &&
I cannot comment on the driver as I could not get it work on Ubuntu. I thought i'd give it a go, even though I knew it wasn't apart of the supported list. Ubuntu 14.04, 3.13.0-24-generic kernel, Intel Corporation Ethernet Connection I217-V (rev 05). **UPDATE** Booting without the cable plugged in helped!
For older non-current CentOS boot kernel (such as 1 or 2 sub-revisions behind), you're forced to install the full-source CentOS linux kernel into /usr/src/linux. Cannot rely on 'kernel-devel' package then. Certainly, not Intel's fault. but it works very well.