CentOS not detecting Intel 10G (ixgbe) interface

centoshardwareintelnicredhat

I have a server with CentOS 6.5 installed with 2x 1Gbps Ethernet Cards,
I have added a new interface (Intel(R) 10 Gigabit PCI Express Network) but the problem.
is the system is not detecting the ethernet information with (ifconfig -a) or (ifcfg-ethX) files.

I have tried the following:

  • ifconfig -a: not showing the new NIC info or MAC.
  • removed /etc/udev/rules.d/70-persistent-net.rules and rebooted.
  • Tried to make a new ifcfg-eth2 file with the real HwAddr but still showing:

     Bringing up interface eth2:  
     Device eth2 does not seem to be present, delaying initialization. [FAILED]
    
  • rmmod ixgbe; modprobe ixgbe
  • Output of dmesg :

    ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.15.1-k
    ixgbe: Copyright (c) 1999-2013 Intel Corporation.
    ixgbe 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
    ixgbe 0000:03:00.0: setting latency timer to 64
    ixgbe 0000:03:00.0: The EEPROM Checksum Is Not Valid
    ixgbe 0000:03:00.0: PCI INT A disabled
    ixgbe: probe of 0000:03:00.0 failed with error -5
    ixgbe 0000:03:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    ixgbe 0000:03:00.1: setting latency timer to 64
    ixgbe 0000:03:00.1: The EEPROM Checksum Is Not Valid
    ixgbe 0000:03:00.1: PCI INT B disabled
    ixgbe: probe of 0000:03:00.1 failed with error -5
    

None of these works .
But I am sure if I format / reinstall OS it will work perfectly.
I have the same problem on a previous server.
How can I fix this without reinstalling the OS?

NOTE : This is the same NIC model working on another fresh installed CentOS 6.5 Server :
dmesg output :

ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.15.1-k
ixgbe: Copyright (c) 1999-2013 Intel Corporation.
ixgbe 0000:03:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ixgbe 0000:03:00.0: setting latency timer to 64
  alloc irq_desc for 39 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 39 for MSI/MSI-X
  alloc irq_desc for 40 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 40 for MSI/MSI-X
  alloc irq_desc for 41 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 41 for MSI/MSI-X
  alloc irq_desc for 42 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 42 for MSI/MSI-X
  alloc irq_desc for 43 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 43 for MSI/MSI-X
  alloc irq_desc for 44 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 44 for MSI/MSI-X
  alloc irq_desc for 45 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 45 for MSI/MSI-X
  alloc irq_desc for 46 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 46 for MSI/MSI-X
  alloc irq_desc for 47 on node -1
  alloc kstat_irqs on node -1
ixgbe 0000:03:00.0: irq 47 for MSI/MSI-X
ixgbe 0000:03:00.0: Multiqueue Enabled: Rx Queue count = 8, Tx Queue count = 8
ixgbe 0000:03:00.0: (PCI Express:2.5GT/s:Width x8) 00:1b:21:69:89:61
ixgbe 0000:03:00.0: MAC: 1, PHY: 5, PBA No: E18269-001
ixgbe 0000:03:00.0: Intel(R) 10 Gigabit Network Connection

Here is the parameters of e1000 There is no parm regarding allow bad checksum !!!
[root@tv ~]# modinfo e1000 | grep parm

parm:           TxDescriptors:Number of transmit descriptors (array of int)
parm:           RxDescriptors:Number of receive descriptors (array of int)
parm:           Speed:Speed setting (array of int)
parm:           Duplex:Duplex setting (array of int)
parm:           AutoNeg:Advertised auto-negotiation setting (array of int)
parm:           FlowControl:Flow Control setting (array of int)
parm:           XsumRX:Disable or enable Receive Checksum offload (array of int)
parm:           TxIntDelay:Transmit Interrupt Delay (array of int)
parm:           TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm:           RxIntDelay:Receive Interrupt Delay (array of int)
parm:           RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm:           InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm:           SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm:           KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm:           copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm:           debug:Debug level (0=none,...,16=all) (int)

Best Answer

This actually looks like a problem with your server's motherboard.

We can see from your dmesg output that it is failing to communicate correctly with the PCIe card in the failing server, but works correctly in a different server.

So you most likely have a bad PCIe slot, or bad motherboard components.

You can try using a different PCIe slot, if you have another one available, checking that your NIC and riser card (if any) are firmly seated, or replacing the riser card or motherboard.

It could also be, if you haven't actually tried this specific NIC in a different server and had it work, that the NIC itself is bad.