full-duplex on DS21143

Metod Kozelj metod.kozelj@rzs-hm.si
Fri Jan 7 08:35:49 2000


Hello,

it has been a while since this problem last appeared on this list. I don't
know if it has been delat with already, so ...

The fact is that full duplex on 21143 is broken. I'm using an DEC DE-500BA
on alpha. It's broken with both v0.91 and v0.91g-ppc drivers.

If I let driver to negotiate FD/HD, or if I force driver to use FD, it
chooses FD. However, switch (the remote end is some Cisco 10/100 switch,
the same thing appeared with some MicroNET switch) doesn't notice that and
stays in HD.

My hardware:
- alpha SX164
- eth0 is some TrendNET NIC (DS21140 chip)
- eth1 is DEC DE-500 BA (DS21143 chip)

Driver is modular.

Driver initialization says:

tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21140 Tulip rev 32 at 0x8000, 00:00:F8:1E:A8:77, IRQ 25.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1) block.
eth0:  MII transceiver #5 config 3100 status 782f advertising 01e1.
eth1: Digital DS21143 Tulip rev 48 at 0x9000, 00:00:F8:1F:76:8E, IRQ 26.
eth1:  EEPROM default media type Autosense.
eth1:  Index #0 - Media 10baseT (#0) described by a 21142 Serial PHY (2) block.
eth1:  Index #1 - Media 10baseT-FD (#4) described by a 21142 Serial PHY (2) block.
eth1:  Index #2 - Media 100baseTx (#3) described by a 21143 SYM PHY (4) block.
eth1:  Index #3 - Media 100baseTx-FD (#5) described by a 21143 SYM PHY (4) block.
eth0: Using user-specified media MII.
eth1: Using user-specified media 100baseTx-FD.
eth0: Setting full-duplex based on MII#5 link partner capability of 01e1.

NOTE: I had options tulip=11,5 for this one.

tulip-diag ouptut:

# ./tulip-diag -faem
system type: EB164
system vari: SX164
cpu model: EV56
ioperm: turn_on 1 io.base 0
ioperm: mmap of len 0x200000  returned 0x2000034e000
ioperm: mprotect returned 0
tulip-diag.c:v1.10 4/12/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x8000.
Digital DS21140 Tulip chip registers at 0x8000:
  ffa0e000 ffffffff ffffffff 4f640818 4f640a18 fc660000 320e2202 ffffebef
  e0000000 fffd83ff ffffffff fffe0000 ffffffe0 ffffffff 1c09fdc0 fffffec8
 Port selection is MII, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
Ethernet MAC Station Address 00:00:F8:1E:A8:77.
EEPROM transceiver/media description for the Digital DS21140 Tulip chip.
Leaf node at offset 65, default media type 0800 (Autosense).
 CSR12 direction setting bits 0x1f.
 1 transceiver description blocks:
  Media MII, block type 1, length 12.
   MII interface PHY 0 (media type 11).
    No MII reset sequence.    No MII initialization sequence.
    Media capabilities are 7800, advertising 01e1.
    Full-duplex map 5000, Threshold map 1800.
 MII PHY found at address 5, status 0x782f.
 MII PHY #5 transceiver registers:
   3100 782f 2000 5c00 01e1 01e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 8040
   8000 0025 0000 1800 a3b9 007b 2305 001e.
Index #2: Found a Digital DS21143 Tulip adapter at 0x9000.
Digital DS21143 Tulip chip registers at 0x9000:
  ffa0e000 ffffffff ffffffff 4f641018 4f641218 f0660000 b3862202 fbfffbff
  e0000000 fff583ff ffffffff fffe0000 41e1d3cc ffff0001 fffbffff 8ff50008
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex.
 Transmit started, Receive started, full-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
Ethernet MAC Station Address 00:00:F8:1F:76:8E.
EEPROM transceiver/media description for the Digital DS21143 Tulip chip.
Leaf node at offset 65, default media type 0800 (Autosense).
 4 transceiver description blocks:
  Media 10baseT, block type 2, length 6.
   Serial transceiver for 10baseT (media type 0).
    GP pin direction 08af  GP pin data 0005.
  Media 10baseT-Full Duplex, block type 2, length 6.
   Serial transceiver for 10baseT-Full Duplex (media type 4).
    GP pin direction 08af  GP pin data 0005.
  Media 100baseTx, block type 4, length 8.
   SYM transceiver for 100baseTx (media type 3).
    GP pin direction 08af  GP pin data 0005.
    No media detection indication (command 80 61).
  Media 100baseTx Full Duplex, block type 4, length 8.
   SYM transceiver for 100baseTx Full Duplex (media type 5).
    GP pin direction 08af  GP pin data 0005.
    No media detection indication (command 80 61).
   No MII transceivers found!
  Internal autonegotiation state is 'Negotiation complete'.

No problems with eth0 running FD, however eth1 thinks it's FD but switch
thinks it's HD:

# /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:F8:1E:A8:77  
          inet addr:192.168.24.254  Bcast:192.168.24.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:152 errors:0 dropped:0 overruns:0 frame:0
          TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:25 Base address:0x8000 

eth1      Link encap:Ethernet  HWaddr 00:00:F8:1F:76:8E  
          inet addr:WWW.XXX.YYY.ZZZ  Bcast:WWW.XXX.YYY.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6692 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2215 errors:3 dropped:0 overruns:0 carrier:4
          collisions:214 txqueuelen:100 
          Interrupt:26 Base address:0x9000 


If I force eth1 to HD (options tulip=11,3), things work OK.

I wonder if things could be fixed?

BTW, we have one box running Digital Unix v3.2 with DE-500 AA (DS21140
chip). Connection type is staticaly defined using SRM console (BIOS
worklike for Digital Unix). It obviously also doesn't inform switch about
being FD, so we have to leave it HD.

Regards,
  Metod

Metod Kozelj

mailto:Metod.Kozelj@rzs-hm.si            /\  Ne posiljajte mi smeti ker grizem!
http://www.rzs-hm.si/                   /  \  Don't spam me for I bite!
_______________________________________/    \__________________________________

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'


-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-tulip-request@beowulf.org