e1000/ICH8LAN weirdness - no ethtool link until initially forced up

From: Robin H. Johnson
Date: Sun Nov 05 2006 - 20:32:28 EST

[Please CC me on responses].

A spot of weirdness I ran into on my e1000 card.
It's the 82566DC model [8086:104b] (rev 02) x1 PCIe.

After modprobe e1000, ethtool reports that there is no link, despite the
correct link lights on the port. This breaks booting during a boot process that
checks for actual link status before using a device.

modprobe e1000:
> Intel(R) PRO/1000 Network Driver - version 7.2.9-k4-NAPI
> Copyright (c) 1999-2006 Intel Corporation.
> ACPI: PCI Interrupt 0000:00:19.0[A] -> GSI 20 (level, low) -> IRQ 20
> PCI: Setting latency timer of device 0000:00:19.0 to 64
> e1000: 0000:00:19.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 00:16:76:a3:6c:4d
> e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
> ADDRCONF(NETDEV_UP): eth1: link is not ready
> ADDRCONF(NETDEV_UP): eth1: link is not ready

Now I force the link up with ifconfig:
> e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex
> ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

This behavior differs from every other network card, and is also present in the
7.3* version of the driver from sourceforge.

I think the e1000 should try to raise the link during the probe, so that it
works properly, without having to set ifconfig ethX up first.

Robin Hugh Johnson
E-Mail : robbat2@xxxxxxxxxx
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Attachment: pgp00000.pgp
Description: PGP signature