Adapatec - ANA6911A/TX Combo - 10Base2 problem

Bruce Robertson labman@ecr.mu.oz.au
Wed Aug 12 18:25:24 1998


	A long reply because of debug data.

 >> 
 >>  I needed to patch with
 >>   >outl(inl(ioaddr+CSR15) & ~(0x800037c0),ioaddr+CSR15);
 >>  in the tulip_probe1 routine.
 >>
 >What chip (21143-??) are you using?
 >Just to confirm: the line above does nothing but clear the bits that
 >undefined.  All but the high bit are documented to be cleared on reset.

	Evidently during normal operation the CHIP uses these bits to
 control itself.. and upon a soft reset or a non power-up reset these
 bits are undefined. NOW I guess if not cleared the CHIP goes funny.

 >>  No matter if I force it to use 10Base2  or  let the driver
 >>  attempt to negotiate the 10Base2  it fails... with a
 >>  "negotiation failed", and then the driver reverts to polling
 >>  the MII and UTP ports and succeeds..

 >I don't have a 21143 with a 10base2 port: what is the exact message?

 >I hope to release 89L tomorrow after some more testing of the
 >10-to-100-to-10 code.  I would do it tonight, but my private version has a
 >bunch of extra code that I need to strip out and I make errors when I've had
 >too little sleep.

 One thing to note.  If in /etc/conf/modules I config options to force
 10base2, whether it is the patched driver or not, in reality the UTP
 fails to actually work.. even though the link light is one and traffic
 is around.

 If I connect to a hib or switch via UTP and force the option, the driver
 starts working after about a 15 second delay..  

 HERE IS THE DEBUG from a non modified driver (IE the patch above)
 (below is with the patch)

Found Digital DS21143 Tulip at PCI I/O address 0xec00.
tulip.c:v0.89K 8/8/98 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21143 Tulip at 0xec00, 00 00 d1 10 4c 1e, IRQ 9.
read_eeprom:
1109 2b00 0000 0000 0000 0000 0000 0000
00b4 0103 0000 10d1 1e4c 2800 0000 0000
0000 0000 0000 0000 0800 9702 0003 2102
0008 0300 0821 0001 0000 7800 01e0 5000
1800 8c00 4102 0009 0705 0006 0821 0005
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 042b 0d91
eth0:  EEPROM default media type Autosense.
eth0:  MII interface PHY 0, setup/reset sequences 2/0 long, capabilities 00 00.
eth0:  Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
eth0:  Index #1 - Media 10base2 (#1) described by a 21142 Serial PHY (2) block.
eth0: Checking for MII transceivers...
eth0: ***WARNING***: No MII transceiver found!
eth0: tulip_open() irq 9.
eth0: Using user-specified media 10base2.
eth0: 21143 non-MII 10base2 transceiver control 0009/0705.
eth0: Using media type 10base2, CSR12 is c2.
eth0: Done tulip_open(), CSR0 ffa04800, CSR5 f0360000 CSR6 b2422002.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: 21143 negotiation status 000001c2, 10base2.
eth0: 21143 negotiation failed, status 000001c2.
eth0: Testing new 21143 media 10baseT.
eth0: 21143 negotiation status 000021c6, 10baseT.
eth0: 21143 negotiation failed, status 000021c6.
eth0: Testing new 21143 media AUI.
eth0: interrupt  csr5=0xf0068002 new csr5=0xf0060000.
eth0: The transmitter stopped!  CSR5 is f0068002, CSR6 b2420202.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: 21143 negotiation status 000021c6, AUI.
eth0: 21143 negotiation failed, status 000021c6.
eth0: Testing new 21143 media AUI.
eth0: 21143 negotiation status 000021c6, AUI.
eth0: 21143 negotiation failed, status 000021c6.
eth0: Testing new 21143 media AUI.

 HERE IS THE DEBUG from a non modified driver (IE the patch above)

Found Digital DS21143 Tulip at PCI I/O address 0xec00.
tulip.c:v0.89K 8/8/98 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21143 Tulip at 0xec00, 00 00 d1 10 4c 1e, IRQ 9.
read_eeprom:
1109 2b00 0000 0000 0000 0000 0000 0000
00b4 0103 0000 10d1 1e4c 2800 0000 0000
0000 0000 0000 0000 0800 9702 0003 2102
0008 0300 0821 0001 0000 7800 01e0 5000
1800 8c00 4102 0009 0705 0006 0821 0005
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 042b 0d91
eth0:  EEPROM default media type Autosense.
eth0:  MII interface PHY 0, setup/reset sequences 2/0 long, capabilities 00 00.
eth0:  Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
eth0:  Index #1 - Media 10base2 (#1) described by a 21142 Serial PHY (2) block.
eth0: Checking for MII transceivers...
eth0:  MII transceiver found at MDIO address 1, config 3100 status 7849.
eth0:  Advertising 01e1 on PHY 1, previously advertising 0101.
eth0: tulip_open() irq 9.
eth0: Using user-specified media 10base2.
eth0: 21143 non-MII 10base2 transceiver control 0009/0705.
eth0: Using media type 10base2, CSR12 is c2.
eth0: Done tulip_open(), CSR0 ffa04800, CSR5 f0360000 CSR6 b2422002.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0370004 new csr5=0xf0360000.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670040 new csr5=0xf0660000.
 In tulip_rx(), entry 0 01fe0720.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: 21143 negotiation status 000001c2, 10base2.
eth0: 21143 negotiation failed, status 000001c2.
eth0: Testing new 21143 media 10baseT.
eth0: 21143 negotiation status 000021c6, 10baseT.
eth0: 21143 negotiation failed, status 000021c6.
eth0: Testing new 21143 media AUI.
eth0: 21143 negotiation status 000020c6, AUI.
eth0: 21143 negotiation failed, status 000020c6.
eth0: Testing new 21143 media 100baseTx.
eth0: interrupt  csr5=0xf0670004 new csr5=0xf0660000.
eth0: Transmit error, Tx status 7fffb885.
eth0: Transmit error, Tx status 7fffbc84.
eth0: Transmit error, Tx status 7fffbc84.
eth0: Transmit error, Tx status 7fffbc84.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.
eth0: interrupt  csr5=0xf0670005 new csr5=0xf0660000.
eth0: Transmit error, Tx status 7fffbc84.
eth0: interrupt  csr5=0xf0660000 new csr5=0xf0660000.
eth0: exiting interrupt, csr5=0xf0660000.


 regards,


 Bruce Robertson                               + labman@gondwana.ecr.mu.OZ.AU
 Engineering Computer Resources,               + labman@128.250.70.62
 C/o Faculty of Engineering,                   + Phone: + (61)(3) 9344-4242
 University of Melbourne, 3052. AUSTRALIA      + Fax:   + (61)(3) 9347-2480