[eepro100] can't negotiate the switch

John Howay JHoway@nas.edu
Thu Dec 20 12:55:01 2001

Donald Becker <becker@scyld.com> on 12/19/2001 01:01:36 PM

To:   John Howay/NRC/NationalAcademies@NAS
cc:   eepro100@scyld.com

Subject:  Re: [eepro100] can't negotiate the switch

On Wed, 19 Dec 2001, John Howay wrote:

>> Hello. I'm running RH 7.1 (seawolf) on an IBM x340 server that has an
>> PCnet adapter and an EEPRO100 PCI adapter.
>> The server is connected to a Cisco
>> Catalyst 3500 XL switch set to 100 full-duplex--no autonegotiation

>Grrr, more people that have been brainwashed into thinking that
>forced-full-duplex is acceptable.

if it were my decision.....

>Note that Cisco switches often take several minutes after seeing link
>beat before they will communicate.

>> Ping ALWAYS returns: Destination Host Unreachable (except for
>> lo and eth0/eth1, of course).

>After a timeout, or immediately?  If immediately, check your routing table.

pretty much immediately.
My routing table seems okay, although the gateway just disappeared a minute ago.
Before that happened it read     *                        UH     0
0     0     eth1       *                             U
0     0     0     eth1             *                    
U        0     0     0     lo
default                               UG    0
0     0     eth1

now when I try to add it back, I get: network unreachable. This hasn't happened
before. Perhaps it's not connected...but it happened right after I found that
the interface was in sleep mode with eepro100-diag -ee and then ran the
suggested commands to get out of sleep mode.

>> I first left the interface(s) set to autonegotiate, then I forced (on
>> the fly) 100-FD with mii-diag. I tried this with both adapters. I have
>> not successfully booted to 100-FD. Could this be my problem?

>What driver version version?
>What did mii-diag report?

mii-diag eth1 returns:
Basic Registers of MII PHY #30:
1000 786d 0000 6b60 01e1 0081 0004 2001
Basic Mode Control Register 0x1000 : Auto negotiation enabled.
You have link beat, and everything is working OK.
Your link partner is generating 100baseTx link beat (no autonegotiation)
End of basic transceiver information.

Can you tell me how to check the driver version?

>Note that mismatched duplex connection will still work, it will just
>have low performance.  If the link isn't working with ping, it's not due
>to a duplex mismatch.

>What are the statistics and error counts from 'ifconfig' or 'cat

RX packets: 8640 errors: 0 dropped: 0 overruns: 0
TX packets: 0 errors: 534 dropped: 0 overruns: 0 frame: 0 carrier: 534
collisions: 0 txqueuelen: 100

Some more info:
tcpdump returns stuff like:
<time> eth1 B arp who-has tell
<time> eth1 > arp who has tell (that's me)
<time> eth1 B 0:90:2b:7f:94:0 > Broadcast sap e0 ui/C

after I saw this, I pinged and nothing happend after this:
PING ( from : 56(84) bytes of data
it was just blank. Then when I hit ctrl-c, it returned:
28 packets sent, 0 received, 100% packet loss. But I didn't get anything like
request timed out or destination host unreachable

Finally, running eepro100-diag -a returns:
eepro100-diag.c:v2.06 12/10/2001 Donald Becker (becker@scyld.com)
Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0x2040.
i82557 chip registers at 0x2040
00000000   00000000   00000000   00080002   18217809   00000000
No interrupt sources are pending.
The transmit unit state is 'Idle'
The receive unit state is 'Idle'
This status is unusual for an activated interface.

If I run mii-diag without specifying an interface, it brings up the 'default'
interface, eth0, which I put 'down' with ifconfig. Is there a way to make eth1
the default?

Thanks a million!!
John Howay
The National Academies

Donald Becker                 becker@scyld.com
Scyld Computing Corporation        http://www.scyld.com
410 Severn Ave. Suite 210          Second Generation Beowulf Clusters
Annapolis MD 21403            410-990-9993