Intel PRO/1000 PT nic does not work anymore in openSUSE11

My hardware (ASUS A8V-VM SE (via K8M890), and 1gbit NIC Intel PRO/1000 PT desktop adapter (PCI express card!!!)) worked out of the box with openSUSE 10.3 (even the livecd) but the NIC does not work/connect with the network openSUSE 11. No changes were made to the hardware or network.

Any help would be great :slight_smile:

egrep eth3|Intel /var/log/messages:

Jun 21 16:21:49 hummer ifup: eth3 device: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
Jun 21 16:21:49 hummer kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Jun 21 16:21:49 hummer ifup: eth3
Jun 21 16:21:53 hummer avahi-daemon[3063]: Joining mDNS multicast group on interface eth3.IPv4 with address 192.168.110.251.
Jun 21 16:21:53 hummer avahi-daemon[3063]: New relevant interface eth3.IPv4 for mDNS.
Jun 21 16:21:53 hummer avahi-daemon[3063]: Registering new address record for 192.168.110.251 on eth3.IPv4.

hummer:~ # lsmod | grep e1000
e1000e 129444 0

hummer:~ # ifconfig eth3
eth3 Link encap:Ethernet HWaddr 00:01:02:03:04:05
inet addr:192.168.110.251 Bcast:192.168.110.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Memory:fbee0000-fbf00000

lspci -v of the device:
03:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
Subsystem: Intel Corporation PRO/1000 PT Desktop Adapter
Flags: bus master, fast devsel, latency 0, IRQ 4349
Memory at fbee0000 (32-bit, non-prefetchable) [size=128]
Memory at fbec0000 (32-bit, non-prefetchable) [size=128]
I/O ports at e800 [size=32]
Expansion ROM at fbea0000 [disabled] [size=128]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Capabilities: [e0] Express Endpoint, MSI 00
Kernel driver in use: e1000e
Kernel modules: e1000e

cat /proc/interrupts | grep 4349
4349: 0 PCI-MSI-edge eth3[/size][/size][/size][/size]

It seems to me that the nic drivers have loaded ok.

Check with ’ ethtool eth3 ’ to see if link is detected and speed is set correctly.

Some other thoughts:
Have you done an upgrade from 10.3 to 11 or a new install?
What I think is strange is that the nic is showing as eth3… are there other nics in the system?
Also, the ip you have listed, did you configure it statically or by dhcp? Check to see how the card settings are listed in YaST and maybe also whats listed in /etc/sysconfig/network/<interface file>

Cheers,
Wj

ethtool eth3 looks ok, “Link detected: Yes” negociated speed is correct

This is a new install, no upgrade

It’s eth3 because I added other NICs (different vendors/hardware) to be able to get the lspci output off the machine. Those NICs connect to the network without a problem…

I gave eth3 a static IP address, after I noticed it did not work (so I couldn’t rely on an external DHCP server on that network for an IP address). Done that in YAST, and everything looks ok to me in YAST and in /etc/sysconfig/network.

if the other nics are working normally it might be good to report this as a bug as it could be a driver issue?! Seems like your setup is as it should be. Maybe first try developers irc or mailinglists to see if they have other suggestions…

Any messages with dmesg when loading/unloading the driver?

Quick addition from the OP.
It looks this problem could be related to the e1000 -> e1000e migration for many Intel NIC’s. (See e1000 v e1000e)

modinfo shows my nic is reported in e100e supported devices list , and is not in e1000. Is openSUSE11 providing driver versions that suffer from this problems-causing device migration issue? Will they be superseeded by something new soon?

I’m not skilled in compiling updated modules myself. Is there a way for me to force my card to run using the e1000 driver even wtihout it being in it’s list of supported devices (as a test) ?

no expert there either…

You could try unloading the current driver (lsmod -r ‘drvername’) and reloading the one you want.
If that works it’s probably a question of blacklisting the unwanted driver so it does not get loaded.

I’ve tried compiling my own driver a year or two ago, and that was no success… but back then I had less clues of what I was doing so it may not be as complex as i remember. :wink:

As a note, if this is what you need to do to get things running I would consider this a bug, & reporting it so will get you good help from the devs that know what they are doing.

Just my 2cents, :wink:
Wj

My problem was solved with the help from the people on the e1000/e1000e development mailing list. Many thanks to them. Posting this to help out others that might stumble onto this thread in the future…

Jesse Brandeburg wrote in an e-mail:

Please boot your kernel with pci=nomsi[/size][/size][/size]

your adapter is not getting any interrupts due to a broken pci-express to hypertransport bridge common to systems like yours.

After doing this the device worked fine after rebooting…[/size]

Great info! Thanks for posting it back & I’m sure you have made and will make others happy with it :wink: