This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: PCI Ethernet card
- From: Eric Doenges <Eric dot Doenges at DynaPel dot com>
- To: Michael Anburaj <embeddedeng at hotmail dot com>
- Cc: Eric dot Doenges at DynaPel dot de, gary at mlbassoc dot com,ecos-discuss at sources dot redhat dot com
- Date: Mon, 18 Aug 2003 10:19:10 +0200
- Subject: Re: [ECOS] PCI Ethernet card
- References: <Law15-F115sd7REF4S900034abb@hotmail.com>
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