[realtek] Flow control question

Donald Becker becker@scyld.com
Fri Sep 27 11:09:02 2002


On Fri, 27 Sep 2002, Kelvin Proctor wrote:

> > Here is a command to advertise NO flow control
> >    mii-diag eth0 -A 0x1e1
> > Here is a command to re-advertise flow control
> >    mii-diag eth0 -A 0x5e1
> 
> I have tried running the above command and get the following (which appears
> to indicate some sort of error).
> 
> [root@devel rtl8139]# ./mii-diag eth0 -A 0x1e1
>  Setting the media capability advertisement register of PHY #32 to 0x01e1.
> Basic registers of MII PHY #32:  0000 0000 0000 0000 0000 0000 0000 0000.
>   No MII transceiver present!.
>   Use '--force' to view the information anyway.
> 
> I'm using RedHat 7.2 which has unfortunately shipped with the 8139too
> driver.  Could this be the problem?

Yes, that's the problem.

> In switching drivers can I just compile your 8139 driver and switch to that
> or do I need to rebuild the whole kernel?  (a.k.a are there other things
> known to be missing from the RH 7.2 2.4.7-10 kernel?)

Do not recompile the kernel. Just do

mkdir /tmp/netdrivers/
cd /tmp/netdrivers/
ncftp ftp://ftp.scyld.com/pub/network/netdrivers.tgz
tar xfvz netdrivers.tgz
make
make install

> Will the NIC remember these settings or should I add this command into one
> of the init scripts?

With this approach you will have to add it to an init script.

If you modify the EEPROM, it will be persistent

> Just for my information can I ask which register the above command is
> setting?  (I'm wanting to be able to decode the magic numbers from the
> datasheet so I won't have to keep bugging you if I want to keep playing)

It's changing the advertised capabilities that the transceiver sends.
The rtl8139 allows direct access to the transceiver management as
normal registers, that's why I was able to read the settings.

> > 1100 782d ... ... 05e1 4441
> >
> > Your are advertising 05e1
> >      +flow control 10+100*HDX+FDX
> > Your link partner advertised 441:
> >      +flow control 10baseT-FDX only (!?)
> 
> All nodes in the test network I have available are using RTL8139 cards.  As
> my experiments are looking at prioritization, which only kicks in when the
> network is saturated, I've decided to run the switch at 10baseT-FDX to give
> me better results.

OK, that makes sense.
I was suspicious that something was wrong because very few 10baseT-only
switches have flow control. 

-- 
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