[ECOS] PCI Ethernet card

Eric Doenges Eric.Doenges@DynaPel.com
Mon Aug 18 08:17:00 GMT 2003


Michael Anburaj wrote:

> The values I sent earlier were sampled at the 1st call to rlt8139_poll() 
> <probably the Auto-neg was not done yet at that point>. Now I sample at 
> every change in ISR (status),
> 
> BMCR = 0x1100
> BMSR = 0x782d
> ANAR = 0x01e1
> ANLPAR = 0x45e1
> ANER = 0x0001
> DIS = 0x0000
> FCSC = 0x0000
> 
> And one more thing, even if the DHCP server is not connected, I see the 
> Link status change interrupt (status) bit going high after every packet 
> sent. Is there a register to look at for the cause to this link status 
> change <The above registers don't change at all>? I would probably 
> display all register & try comparing them :)

Well, there is the 'media status register' (0x58; bit #2 contains the
inverse of the link status), and the 'NWay Test Register' (0x70/0x71;
however I'm not sure if this would help any).

I've noticed two things in your register dump:

1. In BMCR, it seems duplex mode is set to full duplex. If you are
connected to a hub, this is incorrect. However, the 8139 documentation
sort of implies this bit is ignored together with bit 13 when bit 12
(enable autonegotiation) is enabled.

2. In ANAR, 'ACK' (bit #14) is not set. IMO this indicates that
auto-negotiation is failing for some reason.

Have you tried setting speed and duplex mode manually, i.e.
BMCR = 0x0000 (this would set 10MBit/s, half-duplex). In order to
change these bits, you must set bits 6 and 7 in in the '93C46 Command
Register' (0x50). Don't forget to clear those bits after changing
BMCR.
-- 
--------------------------------------------------------------------
|     Eric Doenges              |     DynaPel Laboratories GmbH    |
|     Tel: +49 89 962428 23     |     Fraunhoferstrasse 9/2        |
|     Fax: +49 89 962428 90     |     D - 85737 Ismaning, Germany  |
--------------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list