[eepro100] i82562EM: I get too many collisions (10x over 3c905C)

Giulio Orsero giulioo@pobox.com
Thu, 22 Mar 2001 16:20:02 +0100


i82562 is working ok, but there's a weird thing with collisions under certain
conditions.

I've got 2 pc's, one with a 3c905C, another one with a  i82562 (MS-6351 Micro
LPX, i815, i82562 EM).

I attach them in turn to the same network cable (rj45 to 10Mbps HUB).

I boot them in turn with the same boot disk: 
kernel 2.0.33, with net drivers built-into the kernel 
3c59x.c:v0.99Rb 8/8/2000 Donald Becker, becker@scyld.com
eepro100.c:v1.13 1/9/2001 Donald Becker <becker@scyld.com>
from netdrivers (with pci-scan built into the kernel)

Then I perform the same test:
from another pc I send a print job of about 500k via lpr (the boot disk acts as
print server with lpd daemon), then remove it via lprm, sleep 1 second, and
repeat for 1000 times in a row.

Then I look at /proc/net/dev 
3c905C: 
RX 364818, TX 90452, Collisions 15315
i82562: 
RX 366124, TX 91393, Collisions 163398

did many test, they are consistent.

I know collisions are very high, and this could be due to my network being not
"perfect" :-), however, what I'd like to know is why there's this difference
between the 2 cards.

Is it possible the vortex rightly switches to half-duplex, (the vortex-diag
tells me so:
...
...
 No interrupt sources are pending.
 Transceiver/media interfaces available:  100baseTx 10baseT.
Transceiver type in use:  Autonegotiate.
 MAC settings: half-duplex.
 Station address set to 00:01:03:2b:31:97.
 Configuration options 0042.
...
)
and the eepro100 stays full-duplex (diag does tell me anything I can
understand)?

I tried
mii-diag -F 10baseT-HD
and it acknowledged the fixed setup to 10Mbps half-duplex
mii-diag -v
...
...
Basic mode control register 0x0000: Auto-negotiation disabled!
    Speed fixed at 10 mbps, half-duplex
...
...
but the problem persists.


I tried setting to no in the bios pnpos and acpi, no luck.

I tried disabling the onboard i82562 and installing the 3c905C on the same pc,
and the 3c905C behaves well, meaning the collisions are 10x lower then the
i82562.

Any idea?


=== diag data:
Note that the vortex-diag reports the link partner capability as 0020, not 0021
as eepro100-diag.

All the data is taken after a boot, with default values (not forced to HD):

dmesg
eth0: Intel Pro/100 V Network at 0x4005000, 00:10:DC:A2:56:EA, IRQ 5.
  Receiver lock-up bug exists -- enabling work-around.
  Board assembly 721383-008, 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).
eepro100.c:v1.13 1/9/2001 Donald Becker <becker@scyld.com>
  http://www.scyld.com/network/eepro100.html

mii-diag -v
Using the default interface 'eth0'.
mii-diag.c:v2.00 4/19/2000  Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
 MII PHY #1 transceiver registers:
   3100 782d 02a8 0320 05e1 0021 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   2404 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0010 0000 0000 0000.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
   This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Your link partner is generating 10baseT link beat  (no autonegotiation).
 MII PHY #1 transceiver registers:
   3100 782d 02a8 0320 05e1 0021 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   2404 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0010 0000 0000 0000.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:aa:00:--:--:--, model 50 rev. 0.
   No specific information is known about this transceiver type.
 I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 0021: 10baseT.
   Negotiation did not complete.
 
  
eepro100-diag -f -aa
eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82562 EEPro100 adapter at 0xac00.
i82557 chip registers at 0xac00:
  00000050 00006810 00000000 00080002 18250021 00000600
  No interrupt sources are pending.
   The transmit unit state is 'Suspended'.
   The receive unit state is 'Ready'.
  This status is normal for an activated but idle interface.

 
eepro100-diag -f -ee
eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82562 EEPro100 adapter at 0xac00.
EEPROM contents, size 256x16:
    00: 1000 a2dc ea56 0203 0000 0201 4701 0000
  0x08: 7213 8308 48a0 3014 8086 0000 0000 0000
      ...
  0x30: 0128 0000 0000 0000 0000 0000 0000 0000
  0x38: 0000 0000 0000 4030 0000 0000 0000 0000
      ...
  0xf8: 0000 0000 0000 0000 0000 0000 0000 a2d6
 The EEPROM checksum is correct.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address 00:10:DC:A2:56:EA.
  Board assembly 721383-008, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.


eepro100-diag -f -mm
eepro100-diag.c:v2.02 7/19/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82562 EEPro100 adapter at 0xac00.
 MII PHY #1 transceiver registers:
  3100 782d 02a8 0320 05e1 0021 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  2404 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0010 0000 0000 0000.
 MII PHY #1 transceiver registers:
   3100 782d 02a8 0320 05e1 0021 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   2404 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0010 0000 0000 0000.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:aa:00:--:--:--, model 50 rev. 0.
   No specific information is known about this transceiver type.
 I'm advertising 05e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT

===>>> ***** does not returns (I need ctrl+c), because it stalls with -> 
"Baseline value of MII BMSR is 780d"

If I use just 1 -m, it does I got some more lines (it returns):
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 0021: 10baseT.
   Negotiation did not complete.
 

debug4:
eth0: Interface monitor tick, chip status 0050.
eth0: exiting interrupt, status=0x0050.
eth0: Interface monitor tick, chip status 0050.
eth0: Interface monitor tick, chip status 0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
eth0: exiting interrupt, status=0x0050.
..
repeat
...

-- 
giulioo@pobox.com