 |
≫ |
|
|
 |
| revised 30-APR-08 |
 |
本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予め 技術情報、 保証について、ディストリビュータが提供する
WEBサイト等をご覧ください。 |
| 本ページでは、e100, e1000, bcm570X および tg3ドライバでの速度・二重化手動固定方法を、設定例とあわせて説明します。 |
- Red Hat Linux 3 AS QU6
- 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を使用して設定します。設定例はこちらをご覧ください。 |
|
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ドライバのオプション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ドライバは、/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 のみ設定します。 |
|
 |
|
| |
ネゴシエーションの設定は、下記の例のように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では 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) |
"Network Devices" → "Network Card"
をクリックします。 |
| |
 |
(#2) |
"Change"をクリックします。 |
| |
 |
(#3) |
設定する NICを選択し、"Edit" をクリックします。 |
| |
 |
(#4) |
"Detailed settings" → "Advanced"
→ "Hardware Details" を選択し、ドライバオプション設定画面を出します。 |
| |
 |
(#5) |
1つ目の NIC"Options"へドライバオプションを入力します。 |
| |
 |
(#6) |
#3〜#4で2つ目の NICを選択し、"Options"へドライバオプションを入力します。
YaSTを終了後 rebootします。 |
|
|