ネットワークインターフェイスの状況を調べるには

 ネットワークに接続できなかったり、接続はできるが妙に通信に時間がかかることがある。そのようなときは、ethtoolコマンドでネットワークインターフェイスの状況を調べてみる。正常に動作していれば、以下のように表示される。

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

 イーサネットケーブルが抜けている場合は、「Link detected : no」と表示される。

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: Unknown! (65535)
        Duplex: Unknown! (255)
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected : no

 また、1000BASEのNICを使用しているのにスピードが「100Mb/s」だったり、デュプレックスが「half」になっている場合はハブとの相性やケーブルの不具合などが考えられる。ethtoolコマンドを実行して、[Speed]や[Duplex]の値がおかしいときは、以下のように強制的に修正して、状況が改善されるかどうかを確認する。

# ethtool -s eth0 speed 100 ←速度を100Mb/sに設定
# ethtool -s eth0 duplex full ←デュプレックスをfullに設定

 Fedora Core 2をフルインストールすれば、ethtoolもインストールされる。Turbolinux 10 DesktopやVine Linux 2.6は、ethtoolを別途ダウンロードして、インストール(またはコンパイル)する必要がある。
 ethtoolは(http://sourceforge.net/projects/gkernel/)からダウンロードできる。また、rpmfind.net(http://www.rpmfind.net/)で、RPMファイルをダウンロード可能だ。Turbolinux 10 DesktopおよびVine Linux 2.6には、ethtool-1.8-1.i686.rpmをインストールすることができた

# rpm -ihv ethtool-1.8-1.i686.rpm

 ちなみに、同様のツールとしてmii-toolもよく使われる。しかし、mii-toolは(少なくとも原稿執筆時点では)1000BASEのNICに対応していないので注意が必要だ。