Forcing a linux NIC to a particular setting
To force a linux nic to 100Meg Full Duplex for example:
[root@ sm-b01 network-scripts]# mii-tool
eth0: no autonegotiation, 100baseTx-HD, link ok
eth1: no autonegotiation, 100baseTx-HD, link ok
[root@sm-b01 root]# mii-tool -F 100baseTx-FD eth0
[root@sm-b01 root]# mii-tool -F 100baseTx-FD eth1
[root@sm-b01 root]# mii-tool
eth0: 100 Mbit, full duplex, link ok
eth1: 100 Mbit, full duplex, link ok
UPDATE: I have since discovered that mii-tool doesnt support gigabit ethernet NICs, to force these to a particular setting, or to see what setting they have auto-negotiated use ethtool
, which is included in RedHat 9, but if you dont have it you can get it from Source Forge.
ethtool
can be used to set and get the current state:
[root@mon-b01 root]# ethtool eth1
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: puag
Wake-on: g
Link detected: yes
[root@mon-b01 root]# ethtool -s eth1 speed 100 duplex full
UPDATE: Have found this post which explains how to set the duplex and speed settings permanently on RedHat 9, although will probably work for most distributions.
The options you can pass to the network drivers (for the e100 module) are well documented here (Broken link http://www.scyld.com/network/eepro100.html) and most of the other network drivers are documented back (Broken link http://www.scyld.com/network/index.html#pci) a page.
Subscribe via RSS