Jump to content 日本-日本語
日本HPホーム 製品とサービス サポートとドライバ ソリューション ご購入方法
≫ お問い合わせ
日本HPホーム
製品とサービス  >  ソフトウェアとOS  >  Linux

NICドライバ毎の速度・二重化手動固定方法
(モジュールオプション編)

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HP OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
ProLiant
Workstation
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
日本HPサイトマップ
HP & Red Hat情報ポータル HPとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
revised 30-APR-08
 本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予めサイト内リンク技術情報サイト内リンク保証について、ディストリビュータが提供する WEBサイト等をご覧ください。
 本ページでは、e100, e1000, bcm570X および tg3ドライバでの速度・二重化手動固定方法を、設定例とあわせて説明します。

動作確認環境

  • Red Hat Linux 3 AS QU6
    • e100.o v3.4.13a-1

  • Red Hat Linux 3 AS QU1
    • e100.o v2.3.27a-1
    • e1000.o v5.2.16a-1
    • bcm5700 v7.1.9c-1
    • tg3 2.3

  • SUSE Linux Enterprise 9 SP1*
    • e100.o v3.3.6a
    • e1000.o v5.7.6a
    • bcm5700.o v7.4.12b
    * YaSTを使用して設定します。設定例はこちらをご覧ください。

e100ドライバ設定

設定方法は e100ドライバのバージョンによって異なります。
  • e100-3.1.4q-1未満のドライバでは、オプション e100_speed_duplex へ指定するモードの設定値を与えます。
  • e100-3.1.4q-1以上のドライバでは、オプションが廃止されたので ethtoolコマンドで設定します。
e100-3.1.4q以上での設定例1: コマンドラインから eth0 を 100Mbps/full-duplex固定に設定
# /sbin/ethtool -s eth0 speed 100 duplex full autoneg off

e100-3.1.4q以上での設定例:/etc/modules.conf で eth0 を 100Mbps/full-duplex固定に設定
alias eth0 e100
post-install e100 /sbin/ethtool -s eth0 speed 100 duplex full autoneg off

e100_speed_duplexの設定値
0 auto-negotiate
1 10Mbps half-duplex
2 10Mbps full-duplex
3 100Mbps half-duplex
4 100Mbps full-duplex


e100-3.1.4q未満での設定例1:eth0を100Mbps/full-duplex固定に設定
alias eth0 e100
options e100 e100_speed_duplex=4

e100-3.1.4q未満での設定例2:eth0を 10Mbps/half-duplex、eth1を 100Mbps/full-duplex固定に設定 (※設定したいethernetデバイスが複数ある場合は、カンマで指定値を区切ります。)
alias eth0 e100
alias eth1 e100
options e100 e100_speed_duplex=1,4

e100-2.3.40.2a-1以上でのNIC status確認(設定例1の場合)
   e100-2.3.40.2a-1 から procエントリ(/proc/net/PRO_LAN_Adapter/eth?.info)が廃止されましたので、ethtoolコマンドを使用します。
 # ethtool -i eth0
 driver: e100
 version: 2.3.40.2a
 firmware-version: N/A
 bus-info: 00:02.0
 #

 # ethtool eth0
 Settings for eth0:
 ...
    Speed: 100Mb/s
    Duplex: Full
 ...
    Link detected: yes
 #


e100-2.3.40.2a-1未満でのNIC status確認(設定例2の場合)
   /proc/net/PRO_LAN_Adapter に存在する eth?.info ファイルを参照します。
 # cat /proc/net/PRO_LAN_Adapters/eth0.info
 Description HP Fast Ethernet Server Adapter
 ...
 
 System_Device_Name eth0
 ...
 
 Link up
 Speed 10
 Duplex half
 State up
 ...
 
 # cat /proc/net/PRO_LAN_Adapters/eth1.info
 Description HP Fast Ethernet Server Adapter
 ...
 
 System_Device_Name eth1
 ...
 
 Link up
 Speed 100
 Duplex full
 State up
 ...

e1000ドライバ設定

 e1000ドライバのオプションSpeed, Duplex へ指定するモードの設定値を与えます。

Speedの設定値
0 auto-negotiate
10 10Mbps
100 100Mbps
1000 1000Mbps


Duplexの設定値
0 auto-negotiate
1 half-duplex
2 full-duplex


 設定例1: eth0を 1000Mbps/full-dupex固定に設定
alias eth0 e1000
options e1000 Speed=1000 Duplex=2

 設定例2: eth0を 100Mbps/half-dupex、eth1を 1000Mbps/full-duplex固定に設定
※設定したいethernetデバイスが複数ある場合は、カンマで指定値を区切ります。
alias eth0 e1000
alias eth1 e1000
options e1000 Speed=100,1000 Duplex=1,2

e1000-5.2.39.1c-1以上でのNIC status確認(設定例1の場合)
   e1000-5.2.39.1c-1 から procエントリ(/proc/net/PRO_LAN_Adapter/eth?.info)が廃止されましたので、ethtoolコマンドを使用します。
 # ethtool -i eth0
 driver: e1000
 version: 5.2.39.1c
 firmware-version: N/A
 bus-info: 01:06.0
 #

 # ethtool eth0
 Settings for eth0:
 ...
    Speed: 1000Mb/s
    Duplex: Full
 ...
    Link detected: yes
 #


e1000-5.2.39.1c-1未満でのNIC status確認(設定例2の場合)
   /proc/net/PRO_LAN_Adapter に存在する eth?.info ファイルを参照します。
 # cat /proc/net/PRO_LAN_Adapters/eth0.info
 Description Intel(R) PRO/1000 Network Connection
 ...
 
 System_Device_Name eth0
 ...
 
 Link up
 Speed 100
 Duplex Half
 State up
 ...
 
 # cat /proc/net/PRO_LAN_Adapters/eth1.info
 Description Intel(R) PRO/1000 Network Connection
 ...
 
 System_Device_Name eth1
 ...

 Link up
 Speed 1000
 Duplex Full
 State up
 ...

bcm5700ドライバ設定

 bcm5700ドライバのオプションline_speed, full_duplex, auto_speed へ指定するモードの設定値を与えます。

line_speedの設定値
0 auto-negotiate
10 10Mbps
100 100Mbps
1000 1000Mbps


full_duplexの設定値
0 half-duplex
1 full-duplex


auto_speedの設定値
0 Autonegotiation disabled
1 Autonegotiation enabled


 設定例1: eth0を 1000Mbps/full-dupex固定に設定
alias eth0 bcm5700
options bcm5700 line_speed=1000 full_duplex=1 auto_speed=0

 設定例2: eth0を 100Mbps/half-dupex、eth1を 1000Mbps/full-duplex固定に設定
※設定したいethernetデバイスが複数ある場合は、カンマで指定値を区切ります。
alias eth0 bcm5700
alias eth1 bcm5700
options bcm5700 line_speed=100,1000 full_duplex=0,1 auto_speed=0,1

 注意:  一部の low-end Switch で 1000Mbps固定(line_speed=1000,auto_speed=0)の設定をしたにもかかわらず 1000Mbpsの速度に固定されない場合があります。これは Switchの問題と考えられますが、オートネゴシエーションをON(line_speed=1000,auto_speed=1 ※)にすることで回避可能です。auto_speed=1でも問題を解決できない場合は、他機種 Switchへの交換をご検討ください。
auto_speed=1で line_speedが0以外の場合、NICは line_speedで指定された速度(10,100,1000)で Switchとネゴシエーションします。


 NIC status確認(設定例2の場合)
  /proc/net/nicinfo に存在する eth?.info ファイルを参照します。
# cat /proc/net/nicinfo/eth0.info
Description HP NC7770 Gigabit Server Adapter
...
System_Device_Name eth0
...
Link up
Auto_Negotiate off
...
Speed 100
Duplex half
State up
...
# cat /proc/net/nicinfo/eth1.info
Description HP NC7770 Gigabit Server Adapter
...
System_Device_Name eth1
...
Link up
Auto_Negotiate on
...  
Speed 1000
Duplex full
...
State up

tg3ドライバ設定

 tg3ドライバは、/etc/modules.conf のoptionsでオプション値を設定できるように設計されておりません。従ってtg3ドライバで通信設定を固定する場合、ethtoolコマンドを使用し、line_speed, full_duplex, auto_speedへ指定するモードの設定値を与えます。

speedの設定値
10 10Mbps
100 100Mbps
1000 1000Mbps


duplexの設定値
half half-duplex
full full-duplex


autonegの設定値
on Autonegotiation enabled
off Autonegotiation disabled


以下の設定例は、RedHat EL3 AS で動作確認しております。ディストリビューションにより ethtoolコマンドのパスが異なる可能性がありますので、その際は適宜パスを変更してください。


 設定例1: eth0を 1000Mbps/full-dupex固定に設定
※optionsが使用できないので、/etc/modules.confには alias のみ設定します。
alias eth0 tg3

  ネゴシエーションの設定は、下記の例のようにrunlevelにあわせたスクリプトを作成する必要があります。
# cat /etc/rc.d/rc3.d/S11setnicspeed
  #!/bin/sh

  /sbin/ethtool -s eth0 speed 1000 duplex full autoneg on


 設定例2: eth0を 100Mbps/half-dupex、eth1を 1000Mbps/full-duplex固定に設定
※設定例1と同様、/etc/modules.confには aliasのみ設定します。
alias eth0 tg3
alias eth1 tg3

  /etc/modules.conf の alias で設定したデバイスの数だけethtoolコマンドを実行します。
# cat /etc/rc.d/rc3.d/S11setnicspeed
  #!/bin/sh

  /sbin/ethtool -s eth0 speed 100 duplex half autoneg off
  /sbin/ethtool -s eth1 speed 1000 duplex full autoneg on

 注意1: speed を 1000Mbpsに設定する場合、物理層によってオートネゴシエーションの指定が異なります。
  • 1000BASE-T: オートネゴシエーション許可を指定する必要があります。
  • 1000BASE-SX: オートネゴシエーション許可/禁止のどちらでも指定可能です。
 注意2: speed を 10Mbps または 100Mbpsに設定する場合 'autoneg off'(オートネゴシエーション禁止)を指定する必要があります。


 NIC status確認(設定例2の場合)
  ethtoolコマンドで、設定を確認したいデバイス名を指定します。
# ethtool eth0
Settings for eth0:
...
Speed: 100Mb/s


Duplex: Half


Port: Twisted Pair
...

    Link detected: yes



# ethtool eth1
Settings for eth1:
...



Speed: 1000Mb/s


Duplex: Full


Port: Twisted Pair
...



Link detected: yes

SUSE Linux Enterprise 9での設定方法

 SUSE Linux Enterprise 9では YaSTの NIC毎の設定画面でドライバオプションを設定します。同一ドライバで動作する複数の NICに対して設定する場合、下記例の通り同一ドライバで動作する全 NICに対してドライバオプションを設定してください。
eth0(bcm5700 driver) --- auto_speed=100,1000 full_duplex=0,1 auto_speed=0,1
eth1(bcm5700 driver) --- auto_speed=100,1000 full_duplex=0,1 auto_speed=0,1

 なお、NIC毎に個別のドライバオプションを設定することはできません。
  <誤った設定例>
eth0(bcm5700 driver) --- auto_speed=100 full_duplex=0 auto_speed=0
eth1(bcm5700 driver) --- auto_speed=1000 full_duplex=1 auto_speed=1

 YaSTで2つの NIC(bcm5700)にドライバオプションを設定する手順例を示します。
(#1) (#1) "Network Devices" → "Network Card" をクリックします。
  (#2) (#2) "Change"をクリックします。
  (#3) (#3) 設定する NICを選択し、"Edit" をクリックします。
  (#4) (#4) "Detailed settings" → "Advanced" → "Hardware Details" を選択し、ドライバオプション設定画面を出します。
  (#5) (#5) 1つ目の NIC"Options"へドライバオプションを入力します。
  (#6) (#6) #3〜#4で2つ目の NICを選択し、"Options"へドライバオプションを入力します。 YaSTを終了後 rebootします。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項 ウェブマスターに連絡