Setting NIC speed instead of auto-negotiating 

Newsgroups: comp.os.linux.setup
Date: Wed, 1 Jan 2003 22:41:31 +0100
> > I have a RH8 box set up on a network that serves at 10MB full.  The
> > throughput is horrible, and I think this is a NIC setting issue.
> man ethtool
> Newly packaged with RH8.  It may or may not support your card.
> Otherwise, you'll have to search the 'net for the appropriate flags that
> you can add to /etc/modules.conf.

There's no need to search the web:

# modinfo -p eepro100
debug int, description "debug level (0-6)"
options int array (min = 1, max = 8),
description "Bits 0-3: tranceiver type, bit 4: full duplex, bit 5: 100Mbps"
full_duplex int array (min = 1, max = 8), description "full duplex setting(s) (1)"
congenb int, description "Enable congestion control (1)"
txfifo int, description "Tx FIFO threshold in 4 byte units, (0-15)"
rxfifo int, description "Rx FIFO threshold in 4 byte units, (0-15)"
txdmacount int
rxdmacount int
rx_copybreak int, description "copy breakpoint for copy-only-tiny-frames"
max_interrupt_work int, description "maximum events handled per interrupt"
multicast_filter_limit int, description
"maximum number of filtered multicast addresses"
man modinfo

/usr/src/linux/Documentation/modules.txt for more info about modules.

Following the above example, something like this in /etc/modules.conf, should force 10Mbit/full-duplex.

alias eth0 eepro100
options eepro100 options=16

Michael Heiming

Setting NIC speed instead of auto-negotiating 

> > alias eth0 eepro100
> > options eepro100 options=16
> Interesting...  Seriously, how did you come to that conclusion?

Seriously, look at the source, but it seem to have changed with driver versions, the newer eepro driver wants 'options=0x20' (32) for 10Base-FD.

Anyway I'd suggest loading from the shell, and checking with mii-tool if it works as expected, before editing /etc/modules.conf.

Could be documented better, however some of your equipment is seriously broken, if you need to fiddle around with those settings at all.

Michael Heiming