[tulip] can't put my quad card to operate in full-duplex

basilis bts at the.forthnet.gr
Fri Nov 11 10:08:19 PST 2005


Good evening from Greece!

Ihave a debian system running on kernel 2.6 and a quad card with Digital 
21140-AE chips. eth0 and eth2 connect to two lans over full-duplex 
capable switches and eth1 connects to my adsl-router (full duplex 
capable - I use pppoe, if this info is necessary). I don't know the 
brand of the quad ethernet card. Following is the output of lspci, if it 
is of any help:
=====================8<====================================
atmos:~# lspci
0000:00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host 
Bridge and Memory Controller Hub (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 82815 815 Chipset AGP Bridge 
(rev 02)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 02)
0000:00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 02)
0000:00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 02)
0000:00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 
[Radeon 9200 SE] (rev 01)
0000:01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 
SE] (Secondary) (rev 01)
0000:02:0b.0 PCI bridge: Digital Equipment Corporation DECchip 21152 
(rev 01)
0000:03:04.0 Ethernet controller: Digital Equipment Corporation DECchip 
21140 [FasterNet] (rev 22)
0000:03:05.0 Ethernet controller: Digital Equipment Corporation DECchip 
21140 [FasterNet] (rev 22)
0000:03:06.0 Ethernet controller: Digital Equipment Corporation DECchip 
21140 [FasterNet] (rev 22)
0000:03:07.0 Ethernet controller: Digital Equipment Corporation DECchip 
21140 [FasterNet] (rev 22)
=====================>8====================================


My problem is that all ports are working in half duplex mode..
=====================8<====================================
atmos:~# tulip-diag
tulip-diag.c:v2.18 11/12/2003 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a Digital DS21140 Tulip adapter at 0xb800.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
Index #2: Found a Digital DS21140 Tulip adapter at 0xb400.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
Index #3: Found a Digital DS21140 Tulip adapter at 0xb000.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 128.
Index #4: Found a Digital DS21140 Tulip adapter at 0xa800.
  Port selection is 10mpbs-serial, half-duplex.
  Transmit stopped, Receive stopped.
   The Rx process state is 'Stopped'.
   The Tx process state is 'Stopped'.
   The transmit threshold is 72.
  Use '-a' or '-aa' to show device registers,
      '-e' to show EEPROM contents, -ee for parsed contents,
   or '-m' or '-mm' to show MII management registers.
=====================>8====================================



I tried to force a port to full-duplex mode, but with no success:
=====================8<====================================
atmos:~# tulip-diag -Rv -A 100baseTx-FD -F 100baseTx-FDX -# 1
tulip-diag.c:v2.18 11/12/2003 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a Digital DS21140 Tulip adapter at 0xb800.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:BC:11:55:A3.
EEPROM transceiver/media description table.
Leaf node at offset 30, default media type 0800 (Autosense).
  CSR12 direction setting bits 0x0f.
  4 transceiver description blocks:
   21140 Non-MII transceiver for media 0 (10baseT).
    CSR12 control port setting 0x01, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 3 (100baseTx).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
   21140 Non-MII transceiver for media 4 (10baseT-Full Duplex).
    CSR12 control port setting 0x09, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 5 (100baseTx Full Duplex).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
  Would write new Default Media entry 0x0205 to offset 15, the current 
value is 0x0800.
  Use '-a' or '-aa' to show device registers,
      '-e' to show EEPROM contents, -ee for parsed contents,
   or '-m' or '-mm' to show MII management registers.
=====================>8====================================


I paste the output of tulip-diag -m and tulip-diag -e, in case they are 
of any help..
=====================8<====================================
atmos:~# tulip-diag -m
tulip-diag.c:v2.18 11/12/2003 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a Digital DS21140 Tulip adapter at 0xb800.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
    No MII transceivers found!
Index #2: Found a Digital DS21140 Tulip adapter at 0xb400.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
    No MII transceivers found!
Index #3: Found a Digital DS21140 Tulip adapter at 0xb000.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 128.
    No MII transceivers found!
Index #4: Found a Digital DS21140 Tulip adapter at 0xa800.
  Port selection is 10mpbs-serial, half-duplex.
  Transmit stopped, Receive stopped.
   The Rx process state is 'Stopped'.
   The Tx process state is 'Stopped'.
   The transmit threshold is 72.
    No MII transceivers found!


------------------------------------------------------------------


atmos:~# tulip-diag -e
tulip-diag.c:v2.18 11/12/2003 Donald Becker (becker at scyld.com)
  http://www.scyld.com/diag/index.html
Index #1: Found a Digital DS21140 Tulip adapter at 0xb800.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:BC:11:55:A3.
EEPROM transceiver/media description table.
Leaf node at offset 30, default media type 0800 (Autosense).
  CSR12 direction setting bits 0x0f.
  4 transceiver description blocks:
   21140 Non-MII transceiver for media 0 (10baseT).
    CSR12 control port setting 0x01, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 3 (100baseTx).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
   21140 Non-MII transceiver for media 4 (10baseT-Full Duplex).
    CSR12 control port setting 0x09, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 5 (100baseTx Full Duplex).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
Index #2: Found a Digital DS21140 Tulip adapter at 0xb400.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 512.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:BC:11:55:A2.
EEPROM transceiver/media description table.
Leaf node at offset 30, default media type 0800 (Autosense).
  CSR12 direction setting bits 0x0f.
  4 transceiver description blocks:
   21140 Non-MII transceiver for media 0 (10baseT).
    CSR12 control port setting 0x01, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 3 (100baseTx).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
   21140 Non-MII transceiver for media 4 (10baseT-Full Duplex).
    CSR12 control port setting 0x09, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 5 (100baseTx Full Duplex).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
Index #3: Found a Digital DS21140 Tulip adapter at 0xb000.
  Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
  Transmit started, Receive started.
   The Rx process state is 'Waiting for packets'.
   The Tx process state is 'Idle'.
   The transmit threshold is 128.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:BC:11:55:A1.
EEPROM transceiver/media description table.
Leaf node at offset 30, default media type 0800 (Autosense).
  CSR12 direction setting bits 0x0f.
  4 transceiver description blocks:
   21140 Non-MII transceiver for media 0 (10baseT).
    CSR12 control port setting 0x01, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 3 (100baseTx).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
   21140 Non-MII transceiver for media 4 (10baseT-Full Duplex).
    CSR12 control port setting 0x09, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 5 (100baseTx Full Duplex).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
Index #4: Found a Digital DS21140 Tulip adapter at 0xa800.
  Port selection is 10mpbs-serial, half-duplex.
  Transmit stopped, Receive stopped.
   The Rx process state is 'Stopped'.
   The Tx process state is 'Stopped'.
   The transmit threshold is 72.
EEPROM 64 words, 6 address bits.
PCI Subsystem IDs, vendor 0000, device 0000.
CardBus Information Structure at offset 00000000.
Ethernet MAC Station Address 00:00:BC:11:55:A0.
EEPROM transceiver/media description table.
Leaf node at offset 30, default media type 0800 (Autosense).
  CSR12 direction setting bits 0x0f.
  4 transceiver description blocks:
   21140 Non-MII transceiver for media 0 (10baseT).
    CSR12 control port setting 0x01, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 3 (100baseTx).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
   21140 Non-MII transceiver for media 4 (10baseT-Full Duplex).
    CSR12 control port setting 0x09, command 00 0x8e.
    Media detection by looking for a 0 on bit 7 of the CSR12 control port.
   21140 Non-MII transceiver for media 5 (100baseTx Full Duplex).
    CSR12 control port setting 0x01, command 00 0x6d.
    Media detection by looking for a 1 on bit 6 of the CSR12 control port.
=====================>8====================================

The problem is: why does the card work in half duplex mode? Why can't I 
force it into full-duplex?

I am a linux beginner, so please excuse if I am missing something 
obvious.. ;-/ Also excuse my very long message - I just wanted to give 
enough info..

Any help would be deeply appreciated..

Basilis (aka tsapi)



More information about the tulip mailing list