Ethernet Speed/Duplex

  Netwerk

Om de Speed en duplex instellingen van een netwerk adapter te bekijken kan je dmesg gebruiken, grep op duplex:

# dmesg | grep -i duplex
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

Als dmesg zodanig gevuld zodat deze informantie al verdwenen is kan je afhankelijk de netwerk adapter ethtool of mii-tools gebruiken. mii-tool is als behoorlijk oud en zo’n beetje alles netwerkkaarten kunnen tegen woordig ingesteld worden met ethtool, ik installeer meestal beide tools op mijn systemen, maar maak meestal gebruik van ethtool

Installeer ethtool en mii-tool

Als je systeem een package manager gebruikt kan je beide tools eenvoudig installeren:

debian/ubuntu       apt-get install ethtool net-tools
RedHat EL/Centos    yum install ethtool net-tools
Fedora              up2date ethtool net-tools

Bekijk instellingen

ethtool

Met ethtool kan je de huidige settings bekijken en maar ook wijzigen, om de settings te bekijken run ethtool {adapter} met root rechten:

# ethtool eth0
Settings for eth0:
       Supported ports: [ FIBRE ]
       Supported link modes:   1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  1000baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 1000Mb/s
       Duplex: Full
       Port: FIBRE
       PHYAD: 2
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: g
       Wake-on: g
       Link detected: yes

mii-tool

Dit zelfde kan je met mii-tool bekijken, simpel door mii-tool {adapter}

$ sudo mii-tool eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

als je mii-tool zonder opties runt zal het standaard de eerste 8 interfaces controleren en de instellingen weer geven.

$ sudo mii-tool 
eth0: negotiated 1000baseT-FD flow-control, link ok
eth1: negotiated 100baseTx-FD, link ok

'”`UNIQ–google-00000001-QINU`”‘

Aanpassen instellingen

ethtool

Om settings aan te passen gebruik je de -s optie bij ethtool, je kan de volgende opties gebruiken kijk in de man page voor meer mogenlijk heden.

      ethtool   -s   ethX  [speed 10|100|1000|2500|10000]  [duplex half|full]
      [port tp|aui|bnc|mii|fibre] [autoneg on|off] [advertise  N]  [phyad  N]
      [xcvr internal|external]                       [wol p|u|m|b|a|g|s|d...]
      [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

Met volgende commando zet je de adapter eth0 dus op 100Mb full duplex

ethtool -s eth0 speed 100 duplex full

mii-tool

je kan het zelfde doen met mii-tool, hier voor moet je wel de volgende setting onthouden.

  1. 100baseTx-FD: 100Mbps full duplex (FD)
  2. 100baseTx-HD: 100Mbps half duplex (HD)
  3. 10baseT-FD: 10Mbps full duplex (FD)
  4. 10baseT-HD: 10Mbps half duplex (HD)

Standaard staat je kaart in gesteld op auto-negotiation om de de interface te forceren om een andere speed te gebruiken gebruik je het volgende commando.

$ sudo mii-tool -F 100baseTx-FD eth0

Permanent aanpassen

Na een reboot zijn de instellingen weer verdwenen. om ze permanent te maken zal je de regels iedere keer na een reboot moeten uitvoeren. dit kan je op verschillende manieren doen. Maak een start script en voer de regels met booten uit.

of gebruik bv onder RHEL/Centos een extra regel in /etc/sysconfig/network-scripts/ifcfg-eth0 file voor eth0 kan je ook een andere interface invullen.

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

voor debian/ubuntu systemen werkt dit niet hier moet je echt een script maken wat uitgevoerd word tijdens booten.