[ECOS] PCI Ethernet card
Eric Doenges
Eric.Doenges@DynaPel.de
Thu Aug 14 06:50:00 GMT 2003
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
More information about the Ecos-discuss
mailing list