2007/04/09
FedoraCore6 i386の環境でIEEE1394を利用したTCP/IP通信を実現するeth1394インタフェースを利用可能にします。
これにより従来の100MbpsLANより高速な400MbpsのLANが利用可能になります。
WindowsクライアントPC | |
---|---|
OS | Windows XP Home Edition SP2 |
CPU | Athlox XP 2500+ (1.83GHz) |
MotherBoard | ASUS A7N8X rev2.0 (NVIDIA nForce2) |
Network Card 1 | NVIDIA nForce Networking Controller |
Network Card 2 | Creative SoundBlaster Audigy IEEE1394 port(バルク品) |
LinuxサーバーPC(FedoraCore6) | |
---|---|
OS | FedoraCore6 i386(i686用 2.6系カーネル) |
CPU | Duron 1.80GHz (applebredコア) |
MotherBoard | ASUS A7N266(NVIDIA nForce) |
Network Card 1 | 3Com 3C905CX-TX-M |
Network Card 2 | Buffalo IFC-ILP4(PCI IEEE1394 400Mbps) |
もともとLinuxサーバーのFedoraCore6を入れたPCにはIEEE1394ボードを取り付けていなかったのですが、
昔Windows XPと2000で同様のチャレンジをしようとしたことがあり、結果2000が非対応であきらめたのですが、
その当時の余り物になってしまったIEEE1394ボードで、FedoraCore6でネットワークが組めないか調べてみたのが始まりでした。
もともとeth0にPCIの100M LANが認識されていた状態で、途中からIEEE1394ボードを追加しているので、
IEEE1394ボードとLANを搭載した状態での初期設定だと手順が異なるかもしれないが、初期状態ではIEEE1394でのLANは認識されないので
おそらく同様の手順でも使えるのではないかと思います。
まず、modprobe.conf.distの内容を検索し、
install eth1394 /bin/true
となっている行を探し、先頭に#を付けてコメントアウトします。
#install eth1394 /bin/true
lsmodを実行し、eth1394が認識されていないことを確認します。(ieee1394やohci1394は必要です)
modprobe -v eth1394を実行します。
# modprobe -v eth1394
実行後、lsmodを実行し、eth1394がインストールされたことを確認します。
insmod /lib/modules/2.6.20-1.2933.fc6/kernel/drivers/ieee1394/eth1394.ko
% lsmod | grep eth1394
のような表示が出ることを確認します。
eth1394 19525 0
ifconfig -aを実行し、見慣れないeth1のインターフェースが見つかれば成功です。
ここでは説明を簡略化するため、GUI環境(ここではGnome)を用いた方法を紹介します。
FedoraCore6にローカル端末かVNC等を用いてログインします。
画面上部のメニューからシステム→管理→ネットワークを選択します。
まだeth1394はイーサネットデバイスとして動作してないので、新規追加する必要があります。
画面上の新規アイコンをクリックします。
イーサネット接続を選択し、進むをクリックします。
デバイスの選択でeth1394(eth1)を選択し、進むをクリックします。
IPアドレスを割り当てます。ここではWindows側のIPアドレスとネットワークをそろえる必要があります。
ただし、既存のLANとは異なるネットワークを割り当てます。
一通り設定が完了したら、適用をクリックします。
設定完了後は設定したデバイスは起動していません。
デバイスを起動させるためeth1を選択し、起動をクリックします。
ダイアログが表示されるので「はい」を選択します。
続いて「OK」をクリックします。
これでFedoraCore6側の設定は完了です。
システムを再起動しても自動でeth1(eth1394)が利用可能になります。
SoundBlaster Audigyはサウンドカードですが、Live!まで搭載されていたゲームポートを廃止した代わりに
IEEE1394ポート(400Mbps TI製チップ)が搭載されています。
おそらくデフォルトでネットワーク接続の設定を見ると"1394 接続"というものがあると思います。
無効になっていた場合は右クリックして有効にします。
有効になっている状態で、右クリックからプロパティを開きます。
TCP/IPのプロパティを開き、FedoraCore6に割り当てたIPアドレスと同じネットワークに属するIPアドレスを入力します。
ここではIPアドレスを192.168.10.1、サブネットマスクを255.255.255.0とします。
このとき、既存の100M LANとネットワークを重複させないようにします。
FedoraCore6およびWindows XPを起動させておきます。
また、テストの前に6ピンのIEEE1394ケーブルで両者のIEEE1394ポートを接続します。
Buffalo IFC-ILP4には背面に3ポート(内部1ポート)ありますが、どこに接続してもかまいません。(ただし、同時使用は3ポートまで)
私の場合、FedoraCore6にキーボードやディスプレイを接続していないため、Windows側からテストします。
Windows XPのコマンドプロンプトを開き、ping 192.168.10.2を実行し、pingが返ってくるか確認します。
ここでpingが返ってくれば動作確認完了です。
実際にWindows XP側から100M LANとIEEE1394接続でFedoraCore6にアクセスし、ファイルのダウンロード速度を見てみます。
速度テスト | ||
---|---|---|
アプリケーション | FastEther 100M LAN | IEEE1394 400M LAN |
FFFTP | 4700KB/s | 10000~20000KB/s |
WinSCP(SFTP-blowfish) | 1900KB/s | 6200KB/s |
Windowsファイル共有(Samba) | 7000KB/s | 18000KB/s |
100M LANに対してIEEE1394接続 400Mはおよそ2~3倍程度の速度を出していることを確認しました。
ただ、FFFTPでのIEEE1394接続は速度が不安定であったため、かなりアバウトな数値となっています。
それに対して、WinSCPやWindowsファイル共有(Samba)は非常に安定した速度を維持していました。
当初、私の環境ではIEEE1394接続のWindowsファイル共有で速度が全然出ませんでした。
そのため、ウィルスバスターのファイアウォールを利用し、100M LAN側のTCP/UDPの137-139と445ポートをふさいでみたところ、
Windowsファイル共有でも問題なく速度が出るようになりました。
速度が出ない方は試してみるといいかもしれません。
今回の作業については次のページを参考にさせていただきました。
と言うか、もろパクリかもしれません。orz
togeの日記 2006/07/26
ページの管理人にはこの場を借りて感謝の意を表したいと思います。
私のFedoraCore6は常時稼働のサーバーではないため、しばらくホコリをかぶっていたわけですが、
先日(2007/06/04)サーバーを起動してIEEE1394ネットワークからVNC接続しようとしたらつながらなくなっていました。
Windows側のファイアウォールにブロックした形跡はなく、ルーターが不正パケットをブロックしたログも残っていません。
FedoraCore6側のログを調べていると、/var/log/messagesに何やら変なものが出ているようです。
kernel: ieee1394: ether1394 rx: sender nodeid lookup failure: 0-01:1023
どうやら参考にしたサイトの方と同様のトラブルに見舞われた様子。
FedoraCore6をインストールして間もなくはトラブル無く動き、しばらく期間が経つと発症する辺りがよく似ています。
検索してみると海外のサイトでIEEE1394ネットワークのバグみたいな話が出ていましたが、
検索に出てくる数自体が少ないため、参考になるのかならないのかさっぱり分かりません。
ひとまず、上記のやり方だとしばらくして使えなくなることがあることに注意が必要のようです。
・・・と思っていたら、ソフトウェアアップデートを実行したら無事につながるようになりました。
カーネルのアップデートが含まれていたからなのか、FedoraCore6の起動前にWindowsの1394接続を有効にしておいたからなのか
はっきりとした原因は分かりませんでしたが、なぜかつながりました。
つながらない場合はソフトウェアアップデートをするか、Windowsの1394接続を有効にした状態でFedoraCore6を再起動すると
もしかしたら問題が改善するかもしれません。