i350 NICs will only work if used during the install

Asked by volksman

Lenovo server with 3 NICs, 1 e1000 and 2 igb (i350). Building with latest 12.04LTS 64bit.

The e1000 works as I would expect before, during and after install.

If I build the system and use the e1000 interface during the build the 2 i350 interfaces will never light up with link after the install is complete.

If I use one of the i350 interfaces during the install it stays lit and functional after the install but the other i350 interface won't ever light up.

In the output below eth0 and eth2 are i350s, eth1 is the e1000.

Some output:

root@ubuntu:~# mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
SIOCGMIIREG on eth1 failed: Input/output error
SIOCGMIIREG on eth1 failed: Input/output error
eth1: no link
eth2: no link <- There is a live cable in here right now, that is tested and known to be good. If I put it in eth1 it lights right away, if I put it in eth0 it lights as well.

root@ubuntu:~# ethtool -i eth0
driver: igb
version: 3.2.10-k
firmware-version: 1.5-3
bus-info: 0000:0a:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes

root@ubuntu:~# ethtool -i eth2
driver: igb
version: 3.2.10-k
firmware-version: 1.5-3
bus-info: 0000:0a:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes

######
Relevant dmesg output
######

[ 1.693874] igb 0000:0a:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 1.693881] igb 0000:0a:00.0: eth0: (PCIe:5.0Gb/s:Width x2) f8:0f:41:f2:6f:ce
[ 1.693957] igb 0000:0a:00.0: eth0: PBA No: 104900-000
[ 1.693960] igb 0000:0a:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 1.693990] igb 0000:0a:00.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[ 1.694007] igb 0000:0a:00.1: setting latency timer to 64
[ 1.694379] igb 0000:0a:00.1: irq 93 for MSI/MSI-X
[ 1.694385] igb 0000:0a:00.1: irq 94 for MSI/MSI-X
[ 1.694390] igb 0000:0a:00.1: irq 95 for MSI/MSI-X
[ 1.694395] igb 0000:0a:00.1: irq 96 for MSI/MSI-X
[ 1.694400] igb 0000:0a:00.1: irq 97 for MSI/MSI-X
[ 1.694406] igb 0000:0a:00.1: irq 98 for MSI/MSI-X
[ 1.694411] igb 0000:0a:00.1: irq 99 for MSI/MSI-X
[ 1.694416] igb 0000:0a:00.1: irq 100 for MSI/MSI-X
[ 1.694421] igb 0000:0a:00.1: irq 101 for MSI/MSI-X
[ 1.730389] e1000e 0000:0c:00.0: eth1: (PCI Express:2.5GT/s:Width x1) f8:0f:41:f2:6f:cd
[ 1.730396] e1000e 0000:0c:00.0: eth1: Intel(R) PRO/1000 Network Connection
[ 1.730487] e1000e 0000:0c:00.0: eth1: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF
[ 1.773732] igb 0000:0a:00.1: Intel(R) Gigabit Ethernet Network Connection
[ 1.773738] igb 0000:0a:00.1: eth2: (PCIe:5.0Gb/s:Width x2) f8:0f:41:f2:6f:cf
[ 1.773817] igb 0000:0a:00.1: eth2: PBA No: 104900-000
[ 1.773821] igb 0000:0a:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 4.674125] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 4.674132] ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 4.674137] ADDRCONF(NETDEV_UP): eth2: link is not ready
[ 6.165653] igb 0000:0a:00.0: DCA enabled
[ 6.165685] igb 0000:0a:00.1: DCA enabled
[ 7.262257] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 8.984634] igb: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
[ 8.985301] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 19.087732] eth0: no IPv6 routers present

This seems to be a weirdness with how the installer initializes cards vs how the OS does it after install. Any insight into this would be very much appreciated!

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu gnome-nettool Edit question
Assignee:
No assignee Edit question
Solved by:
volksman
Solved:
Last query:
Last reply:
Revision history for this message
Thomas Krüger (thkrueger) said :
#1

There have been some troubles with the igb module and there have been some fixes and updates.
At first you should try to use daily CD image from http://cdimages.ubuntu.com/ubuntu-server/precise/daily/current/ .
If that does not make any chance, install with he other NIC connected or without network and make a full update after installation.
If there is still no change, you can compile the driver provided by Intel at http://downloadcenter.intel.com/detail_desc.aspx?agr=Y&DwnldID=13663
It includes instructions.

Please notify as of the results!

Revision history for this message
volksman (v0lksman69) said :
#2

Hello Thomas!

Thank you very much for the reply. I will try everything in the hopes I'm able to find a solution.

One thing, I have tried to use the latest driver from Intel. While I'm able to rmmod the old and modprobe the new one, with no change to my issue, after a reboot the module is reverted back to the 3.x driver that comes with 12.04 (the latest driver from intel is 4.x). I've yet to find help in making the new driver persist.

Will report back shortly after trying your suggestions above!

Thanks again!

Revision history for this message
volksman (v0lksman69) said :
#3

UPDATE:

I have solved the problem. It turns out these NICs won't detect line state changes without having some configuration of the NIC defined in the interfaces file. So I added a line for eth2

auto eth2
iface eth2 inet dhcp

and restarted networking and presto. The card came online.

Honestly I thought I had tried that already but it hadn't worked, then again I had tried a lot of things and maybe just got confused in my methodology.

Either way, problem has been solved and hopefully this post will help the next poor soul.

Thanks again for the feedback and help!