Q: How can I force my Intel EtherExpress Pro 100 (eepro100) network card into 100Mb/sec, full-duplex mode?

A: There are two ways of doing this: one, by using a utility called mii-tool, which will change the behavior of the interface at run-time; two, by passing arguments to the EEPro driver at boot time with LILO.

Option 1: mii-tool

mii-tool is included in eepro100-utils-1.9-2.i386.rpm . (The latest version can always be retrieved in source code form from the author's site, at http://www.scyld.com/diag/ .)

After installing the rpm, run: "/sbin/mii-tool -F 100baseTx-HD ethX", where ethX is the name of the interface you wish to modify.

Any changes made to an interface's settings with mii-tool are not preserved across boots. You may wish to add a line to /etc/rc.d/rc.local which will re-run mii-tool on each boot.

(Additional information about mii-tool's options may be found by running "/sbin/mii-tool --help".)

Option 2: LILO

Options can be passed via LILO to the kernel's EEPro driver at boot time. To do so, add an append statement of this form to your /etc/lilo.conf:

append="ether=0,0,0x30,eth0"

The third option in the above statement sets the card's duplex and link speed; the fourth notes which interface will be modified. Duplex and link speed options are set via this table:

0x10 Force Full-Duplex operation (must be used with 0x20 or 0x40)
0x20 Force 100mbps-only operation
0x40 Force 10mbps-only

Hence, 0x30 sets the interface to Full Duplex, 100mbps; 0x50 would set it to Full Duplex, 10mbps

After modifying /etc/lilo.conf, be sure to run /sbin/lilo.

Additional information about the EEPro driver can be found on http://nic.sourceforge.net/ and http://www.scyld.com/network/eepro100.html