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 de>
- To: Michael Anburaj <embeddedeng at hotmail dot com>
- Cc: gary at mlbassoc dot com, ecos-discuss at sources dot redhat dot com
- Date: Thu, 14 Aug 2003 08:52:36 +0200
- Subject: Re: [ECOS] PCI Ethernet card
- References: <Law15-F19kJJfYCank6000504d2@hotmail.com>
Michael Anburaj wrote:
Hi Eric,
a. Check the value of the basic mode status register (0x64), the
auto-negotiation registers (0x66, 0x68, 0x6A), and the disconnect (0x6c)
and false carrier sense (0x6e) counters.
BMCR = 0x1000 - enable auto-negotiation
BMSR = 0x7809 (default)
ANAR = 0x01e1 (default)
ANLPAR = 0x0000
ANER = 0x0000
DIS = 0x0000
FCSC = 0x0000
I think auto-negotiation is not working in your setup - ANLPAR shouldn't
be all 0s (at least bit #14, ACK should be set IMO). To me it looks like
the two parties never get to negotiating.
Yes you are right. To keep things simple, I will start out by doing
this. But, is it not ok to set this bit (auto-negotiation)?
If auto-negotiation is enabled, the 8139 ignores bits 13 and 8
('Spd_Set' and 'Duplex Mode').
I am still reading the documentation & trying to understand it better.
Welcome to the club =8^)
Questions:
1. Is the auto-negotiation (sending & receiving negotiation packets)
under software (device driver) control?
No, this is done by the hardware. You can enable or disable
auto-negotiation, and tell the 8139 which link options to accept in
software, but the negotiation itself is done by the hardware (if it is
enabled).
a. If yes, does the rltk8139 driver Ver 2 support this feature? Or
does it assume fixed link parameters?
The driver assumes the serial EEPROM will have set the correct
parameters after reset.
b.If no, then is there a problem with the Hub (the link partner on
the other side of this link)? < Presumably, the both sides understand
'auto-negotiation', should negotiate the link parameters & settle down
for actual transfers (with the sable connection - Link Status bit of
BMSR set), am I right?
I think you are, but I am no expert on Ethernet devices in general or
the 8139 in particular, so I may be wrong. That being said, old
networking equipment may not implement auto-negotiation correctly; I've
had problems in the past between 3Com switches and DEC 'tulip', as well
as some SMC NICs (this was back in 1998 or so). With modern equipment,
auto-negotiation seems to works just fine.
If you can, try hooking your board up to a different hub/switch or
directly to the DHCP server; if that works then your hub is probably to
blame.
--
--------------------------------------------------------------------
| 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