[realtek] Ethernet card config - Bering

Donald Becker becker@scyld.com
Thu Aug 1 14:40:05 2002


On Wed, 31 Jul 2002, David Dannemiller wrote:

> >> # needed by PCI modules
> >> pci-scan
> > 
> > You shouldn't need to list this explicitly.  The PCI scanning and power
> > management support is automatically loaded before the rtl8139.o module.
> 
> When I take this line out [..the driver doesn't load]

Hmmm, your system doesn't use a module dependency list.  That's not a
problem, I just didn't know that other such systems were out there.

In the Scyld system we use similar explicit module loading rather than
implicit dependencies, however the static load list is generated
automatically.

> >> Shortly after boot, the following message is displayed:
> >> 
> >> eth0: Transmit timeout, status 0c 0005 media 00.
> > 
> > There should have been other messages before this.
> > What is the detection message?

> Jul 31 19:54:20 firewall kernel: rtl8139.c:v1.17 1/28/2002 Donald Becker,
> becker@scyld.com. 
> Jul 31 19:54:20 firewall kernel:  http://www.scyld.com/network/rtl8139.html
> Jul 31 19:54:20 firewall kernel: eth0: D-Link DFE-538TX (RealTek RTL8139) at
> 0x1000, IRQ 11, 00:50:ba:cc:67:58.
> Jul 31 19:54:20 firewall kernel: eth1: RealTek RTL8139C Fast Ethernet at
> 0x1800, IRQ 11, 00:50:ba:42:c7:b0.

OK, that looks like a normal detection message.

> Jul 31 19:55:19 firewall kernel: eth0: Transmit timeout, status 0d 0004
> media 00. 
> Jul 31 19:55:19 firewall kernel: eth0: Tx queue start entry 4  dirty entry
> 0, full. 
> Jul 31 19:55:19 firewall kernel: eth0:  Tx descriptor 0 is 0008a03c. (queue
> head) 
> Jul 31 19:55:19 firewall kernel: eth0:  Tx descriptor 1 is 0008a03c.
> Jul 31 19:55:19 firewall kernel: eth0:  Tx descriptor 2 is 0008a03c.
> Jul 31 19:55:19 firewall kernel: eth0:  Tx descriptor 3 is 0008a03c.
> Jul 31 19:55:19 firewall kernel: eth0: MII #32 registers are: 1100 782d 0000
> 0000 01e1 45e1 0001 0000.

> > What is the packet count when this happens?  ('cat /proc/net/dev/')
> The file /proc/net/dev is size zero.

This is a pseudo-file for reporting statistics.  It's size will be zero
until you read it.  That's why I recommend using 'cat' -- some versions
of 'more' and 'less' try to read the file size before showing the contects.

We need the packet count to find if the very first packet had a transmit
problem, or some subsequent packet could not be transmitted.

> > What does 'mii-diag' report?
> I'll ask that someone on the LEAF list to compile mii-diag for me.

Acutally, the error message output above is sufficient.
  MII #32 registers are: 1100 782d 0000 0000 01e1 45e1 0001 0000.
The key point is that you still have link beat with a link partner that
reports 45e1 capability.

I am a little curious about the board version and EEPROM contents.  The
link partner 45e1 capability means that the switch support flow control,
but the NIC isn't advertising flow control.  Most recent rtl8139 chips
should support flow control.

This relevant because flow control could stop the transmitter long
enough to (incorrectly) trigger a transmit timeout.

> > Note that the Linksys card requires a bus-master slot, so if it works
> > there is not a PCI slot problem.
> 
> I wasn't very clear here.  When I had the D-Link board and the Linksys

Some PCI slots don't support bus masters.  That's easy to understand and
avoid.
Worse, some PCI motherboards (e.g. Abit) share one set of bus master
signals between two slots.  So a bus master card will work in either
slot, but you cannot plug in two bus masters that are simultaneously
active.
> 1) I downloaded Freesco for pppoe and ran setup with the 2 D-Link board
> configuration.  Freesco only identifies 1 of the 2 boards (i.e. ifconfig has
> an entry for eth0, but not for eth1).

You have two different PCI IDs.  The D-Link card doesn't use the
original rtl8139 ID.

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993