Re: Issue with two Intel NICs

Donald Becker <[email protected]> Thu, 5 Jun 2003 12:20:35 -0400 (EDT)
Newsgroups gmane.linux.drivers.eepro100.devel
Message-ID <[email protected]>
On Thu, 5 Jun 2003, Andrea Cogliati wrote:

> I have an issue with the following configuration:
> Intel D845 Motherboard with integrated 82562-based NIC
> Intel 100/PRO (82559-based) PCI NIC
> Linux Kernel 2.4.20
> eepro100 driver v1.26
> 
> I can have each of the NICs working alone but I cannot have both working
> at the same time.

This suggests either
   A hardware problem e.g. sharing bus master lines
   A routing problem unrelated to the driver.

What error counts do you see in /proc/net/dev?

> eepro100-diag.c:v2.12 4/15/2003 Donald Becker ([email protected])
>  http://www.scyld.com/diag/index.html
> Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0xd880.
> i82557 chip registers at 0xd880:
>   ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff

This means that the chip does not exist, or is powered down.
If the driver finds the NIC in a power-saving state, the driver powers
it up only long enough to run a self test and then returns it to
low-power mode until the interface is activated.

The name for the power states are:
   D0  is full power, operating mode
   D1, D2 and D3  is reduced power mode.  The NIC might generate link
              beat to respond to Wake-On-LAN packets but is otherwise
	      turned off.

I'm guessing that you passed the '-f' flag.  Otherwise you should have
seen a message that said
 * A recognized chip has been found, but it does not appear to exist in
 * I/O space.  Use the '-f' flag to see the register values anyway.

> Index #2: Found a Intel Pro/100 VM-1039 adapter at 0xd800.
> i82557 chip registers at 0xd800:
...
>    The transmit unit state is 'Idle'.
>    The receive unit state is 'Idle'.

This interface is not up, but still powered.  It is a little curious
that the BIOS would leave the plugged-in interface in D3 (sleep) state,
but put the on-board interface in D0 powered-up state.

> PCI devices found:
...
>   Bus  1, device   1, function  0:
>     Ethernet controller: 3Com Corporation 3c980-TX 10/100baseTX NIC
> [Python-T] (rev 120).
>       IRQ 11.
...
>   Bus  1, device   2, function  0:
>     Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev
> 8).
>       IRQ 9.
>       Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
>       Non-prefetchable 32 bit memory at 0xff8fe000 [0xff8fefff].
>       I/O at 0xd880 [0xd8bf].
>       Non-prefetchable 32 bit memory at 0xff700000 [0xff7fffff].

OK, this is the device that is not powered.  You can use 'lspci -vv' as
root to see the power state.

>   Bus  1, device   8, function  0:
>     Ethernet controller: Intel Corp. 82801BD PRO/100 VE (LOM) Ethernet
> Controller (rev 130).
>       IRQ 11.
>       Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
>       Non-prefetchable 32 bit memory at 0xff8fd000 [0xff8fdfff].
>       I/O at 0xd800 [0xd83f].

> http://www.scyld.com/linux/drivers.html
> eepro100.c:v1.26 11/17/2002 Donald Becker <[email protected]>
>   http://www.scyld.com/network/eepro100.html
> eth0: Intel i82559 rev 8 at 0xc8884000, 00:03:47:E2:AD:92, IRQ 9.
>   Board assembly 741462-007, Physical connectors present: RJ45
>   Primary interface chip i82555 PHY #1.
>   General self-test: passed.
>   Serial sub-system self-test: passed.
>   Internal registers self-test: passed.
>   ROM checksum self-test: passed (0x04f4518b).
> eth1: Intel Pro/100 VM (type 1039) at 0xc8886000, 00:07:E9:D7:24:B5, IRQ
> 11.
>   Board assembly 000000-000, Physical connectors present: RJ45
>   Primary interface chip i82555 PHY #1.
>   General self-test: passed.
>   Serial sub-system self-test: passed.
>   Internal registers self-test: passed.
>   ROM checksum self-test: passed (0x04f4518b).

This looks normal.

-- 
Donald Becker				[email protected]
Scyld Computing Corporation		http://www.scyld.com
914 Bay Ridge Road, Suite 220		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993