Description

During AIO (All In One) installation, there is a step to update the kernel version of the OS. After the kernel version was updated, none of the "Ethernet 10G 2P X710 Adapter" network card devices came up after reboot.

Symptoms

During the Kernel update step of AIO installation, kernel version was downgraded from  '3.16.0-30-generic ' to ' 3.13.0-171-generic '. This version is according to the contrail version '3.2.15.0-100~kilo'.
After reboot, the following “Ethernet 10G 2P X710 Adapter“ network card devices did not come up:

root@HOSTNAME:~# lshw -C network -businfo
Bus info                  Device     Class          Description
pci@0000:01:00.0  em3        network        I350 Gigabit Network Connection
pci@0000:01:00.1  em4        network        I350 Gigabit Network Connection
pci@0000:19:00.0  em1        network        Ethernet 10G 2P X710 Adapter
pci@0000:19:00.1  em2        network        Ethernet 10G 2P X710 Adapter
pci@0000:3b:00.0  p1p1       network        Ethernet 10G 2P X710 Adapter
pci@0000:3b:00.1  p1p2       network        Ethernet 10G 2P X710 Adapter
root@HOSTNAME:~#


In an attempt to get the interfaces up, a different driver version was installed for this adapter, like 'i40e-2.14.13 (latest driver version)', 'i40e1.3.38” and “i40e-1.3.39.1', but 'Intel Ethernet 10G 2P X710 Adapter' Interfaces were still down.

Procedure for the installation of a new driver version:

Note: Make sure you are on the old kernel version  ' 3.16.0-30-generic'  to have ssh connection to the system, as interfaces are not comping up on new kernel version.

  1. Download the relevant driver tar file from the following link (According to the NIC) and move the tar file to your server at a location of your choice, such as /root/i40e:

    https://downloadcenter.intel.com/download/24411/Intel-Network-Adapter-Driver-for-PCIe-40-Gigabit-Ethernet-Network-Connections-under-Linux-
  2. Navigate to the location /root/i40e  and untar/unzip the archive, where <x.x.x> is the version number for the driver tar file:

    # tar zxf i40e- <x.x.x> .tar.gz
  3. Change to the driver src directory, where <x.x.x> is the version number for the driver tar:

    # cd i40e- <x.x.x> /src/
  4. Compile the driver module:

    # make install
    The binary will be installed as: /lib/modules/ <KERNEL VER> /updates/drivers/net/ethernet/intel/i40e/i40e.ko
    The install location listed above is the default location. This may differ for various Linux distributions.
  5. Load the module using the modprobe command. To check the version of the driver and then load it:

    modinfo i40e
    modprobe i40e
  6. Reboot the system to bring it back to the new kernel ' 3.13.0-171-generic'  and check if the interfaces came up.


When checking the logs, the following errors were seen in dmesg:

# cat dmesg | grep i40e
[    4.821481] i40e: Intel(R) Ethernet Connection XL710 Network Driver - version 0.3.36-k
[    4.821481] i40e: Copyright (c) 2013 - 2014 Intel Corporation.
[    4.835860] i40e 0000:19:00.0: f7.81 a1.8 n07.10 e8000519f
[    4.835862] i40e 0000:19:00.0: init_adminq failed: -65 expecting API 01.01
[    4.836271] i40e: probe of 0000:19:00.0 failed with error -65
[    4.857237] i40e 0000:19:00.1: f7.81 a1.8 n07.10 e8000519f
[    4.857242] i40e 0000:19:00.1: init_adminq failed: -65 expecting API 01.01
[    4.858209] i40e: probe of 0000:19:00.1 failed with error -65
[    4.875221] i40e 0000:3b:00.0: f7.81 a1.8 n07.10 e800051a4
[    4.875223] i40e 0000:3b:00.0: init_adminq failed: -65 expecting API 01.01
[    4.875375] i40e: probe of 0000:3b:00.0 failed with error -65
[    4.896347] i40e 0000:3b:00.1: f7.81 a1.8 n07.10 e800051a4
[    4.896363] i40e 0000:3b:00.1: init_adminq failed: -65 expecting API 01.01
[    4.896639] i40e: probe of 0000:3b:00.1 failed with error -65"
#

The driver version was also checked after the reboot. It reflected the correct installed version as below:

# modinfo i40e
filename:       /lib/modules/3.13.0-171-generic/kernel/drivers/net/ethernet/intel/i40e/i40e.ko
version:        1.3.39.1
license:        GPL
description:    Intel(R) Ethernet Connection XL710 Network Driver
author:         Intel Corporation, <[email protected]>
srcversion:     C9050AE7BD98F622642C533
alias:          pci:v00008086d00001588sv*sd*bc*sc*i*
alias:          pci:v00008086d00001587sv*sd*bc*sc*i*
alias:          pci:v00008086d00001589sv*sd*bc*sc*i*
alias:          pci:v00008086d00001586sv*sd*bc*sc*i*
alias:          pci:v00008086d00001585sv*sd*bc*sc*i*
alias:          pci:v00008086d00001584sv*sd*bc*sc*i*
alias:          pci:v00008086d00001583sv*sd*bc*sc*i*
alias:          pci:v00008086d00001581sv*sd*bc*sc*i*
alias:          pci:v00008086d00001580sv*sd*bc*sc*i*
alias:          pci:v00008086d0000157Fsv*sd*bc*sc*i*
alias:          pci:v00008086d00001574sv*sd*bc*sc*i*
alias:          pci:v00008086d00001572sv*sd*bc*sc*i*
depends:        configfs,ptp,vxlan
vermagic:       3.13.0-171-generic SMP mod_unload modversions
parm:           debug:Debug level (0=none,...,16=all) (int)
#

Solution

The network card “Ethernet 10G 2P X710 Adapter” does not support the kernel version “3.13.0-171-generic"

Related Ubuntu bugs:

These bugs states this issue was fixed in later releases.

To resolve this issue, perform the AIO installation on a different server which do not have the network card "Ethernet 10G 2P X710 Adapter".