コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。
Debian Linux を入れる前に色々調査。CPUのGeodeLXは工人舎の小型ノートPC SA-1F にも使われており、祖先はCyrix 6x86。S3 Virge と一緒に使うと色々面倒な奴でした……
何にせよ一応 i686 互換なので、VIA CyrixIII で味わった苦労とも無縁です。
CyrixIIIも IDT WinChip→VIA CyrixIII→C3→C7 と数奇な運命辿ってるよなあ……
ちょっとだけ注意事項があるようですが、まあ BIOS 設定で対処できるなら無問題です。
その間にサーバを Ultimate Boot CD v3.2 で起動し、DocMem RAM Diagnostic v2.1b でメモリチェックしました。
システムは 512MB から画面描画分の 8MB を引いた 504MB のメモリを認識しますが、いざ検査すると 503MB 辺りでエラーでまくり。チェック範囲を 502MB に狭めたら完走したので、GRUB の起動オプションも変更します。
Debian 4.0 (etch) の場合は、/boot/grub/menu.lst の kernel 行に mem=500M と追加。
title Debian GNU/Linux, kernel 2.6.18-5-686 root (hd0,2) kernel /boot/vmlinuz-2.6.18-5-686 mem=500M root=/dev/hda3 ro initrd /boot/initrd.img-2.6.18-5-686 savedefault
サーバ(Albatron KN800)、デスクトップ(ECS AMD690GM-M2)、ハブ全てが 1000base-T 対応にも関わらず、100Mbps でしかリンクしません。
チップはどちらも Realtek の RTL8110SC、いわゆる「蟹」。デスクトップは別のネットワークカード(Intel 1000/MT)を挿すことで回避できますが、サーバはそうも行きません。
いろいろ調べたり、過去の事例をあさってみると……
以上から考えられる理由としては……
書いてて面倒になってきた。探せば miniPCI 用のネットワークカード(SOP-GL1、OPL-GL1、OPL-GL2 等)もあるみたいだし、寸法さえ合えば買っちまってもいいかな。
Realtek のサイトにあった DOS の Diagnostic soft を試してみたところ、サーバPC はあっさり 1000Mbps でリンクしました。蟹うめえ。
デスクトップPC も同様に調べたら Disconnect。もー無視でいーや。蟹うめえ。
次に、Debian 入りの HDD をサーバに繋いで起動しても ifconfig からネットワークカードが見えない(lo インターフェイスしか出てこない)症状について調査。ドライバが対応していないのかと思っていろいろやってみたのですが、結局これはハズレ。ifconfig -a で見ると、eth1 に割り当てられている(けど 動いていない)ことがあっさり判明しました。
grep --recursive eth1 /etc/ とやって検索させると、ネットワークカードと eth* の対応を取ってるファイルが /etc/udev/ の下にありました。インストールのときHDDをデスクトップPCに繋いでいたため、デスクトップPCのネットワークカードが eth0 に割り当てられ、そのまま居座ったようです。
IPアドレスなどの設定(/etc/network/interfaces)も一応確認してリブート。良い感じに動いてくれます。
LinuxのドライバもRealtek のサイトにあります。ドライバは bz2 で圧縮されているので、apt-get install bzip2 した上で tar jxf で解凍。
更にカーネルソースとビルド環境(gcc, make, automake, autoconf, gettext, libtool, libncurses, libncurses5-dev, kernel-package, linux-kernel-2.6.18, linux-headers-2.6.18-6-486 辺り)を apt-get install でがっつり入れます。
あとは 解凍した RTL8169ドライバの ./src/Makefile に書いてある KDIR 変数をカーネルヘッダのある場所(/usr/src/linux-headers-$(KVER)/)に変更し、make clean modules。できた r8169.ko を /lib/modules/linux-2.6.18-6-486/kernel/drivers/net/ にコピーして(オリジナルはどこかに退避させるのが吉)リブートすれば終了です。
apt-get していると、
WARNING: The following packages cannot be authenticated! foo bar baz Install these packages without verification [y/N]?
こんな事をいきなり聞いてくることがあります。グーグル神のお告げにしたがって
apt-get install debian-archive-keyring apt-get update
としておきました。ちゃんちゃん。
heppoko:/etc/network# hdparm -p /dev/sda
/dev/sda: attempting to set PIO mode to 0 HDIO_SET_PIO_MODE failed: Inappropriate ioctl for device heppoko:/etc/network# hdparm -tT /dev/sda
/dev/sda: Timing cached reads: 470 MB in 2.01 seconds = 234.15 MB/sec Timing buffered disk reads: 244 MB in 3.02 seconds = 80.79 MB/sec
特に問題ないようです。
SATA だからか、DMA 設定とかせんでエエのね。スタンバイ禁止だけやっときます。32bit転送は必要かな?
hdparm -S 0 /dev/sda
以前の白箱と同じような実験をやってみました。
まずは、ジャンボフレームを設定しない状態の確認。
Server->PC | samba | 110sec (15.85MB/sec) |
PC->Server | samba | 125sec (13.95MB/sec) |
とりあえずジャンボフレーム行ってみますか。Intel 1000/MT の Windows ドライバはジャンボフレームの項目を 4088, 9014, 16128 にしか設定できないので、まずは 4088 に設定します。
そして、MTU の値を実際に確認しつつ、値を揃えます。
Windows ドライバで 4088 に設定したときの SIZE 最大値は 4046 なので、MTU は 4074となります。Linux 側からも 4046 の時に実際の送信パケットサイズが最大となりました。
Server->PC | mtu=4088/4074, rwin=8192 | samba | 90sec (19.38MB/sec) |
PC->Server | mtu=4088/4074, rwin=8192 | samba | 108sec (16.15MB/sec) |
Server->PC | mtu=4088/4088, rwin=8192 | samba | 90sec (19.38MB/sec) |
PC->Server | mtu=4088/4088, rwin=8192 | samba | 126sec (13.84MB/sec) |
Server->PC | mtu=4088/6000, rwin=8192 | samba | 94sec (18.60MB/sec) |
PC->Server | mtu=4088/6000, rwin=8192 | samba | 115sec (15.20MB/sec) |
Server 側の MTU を 4088, 6000 にすると速度が落ちていますので、mtu=4088/4074 は妥当と言えるでしょう。
なお、Linux の起動時に MTU を設定するには /etc/network/interfaces を変更します(下の太字部分)。
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.254 # dns-* options are implemented by the resolvconf package, if installed\ dns-nameservers 192.168.0.254 dns-search yuzohome.fumo.jp # Added by user for jumbo frame up ifconfig eth0 mtu 4074
次は samba のバッファを WindowsXP の RWIN 値に揃えてみましょう。RWIN 値は 16384 とか、Windows2000 なら
socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
Server->PC | mtu=4088/4074, rwin=16384 | samba | 91sec (19.16MB/sec) |
PC->Server | mtu=4088/4074, rwin=16384 | samba | 91sec (19.16MB/sec) |
Server->PC | mtu=4088/4088, rwin=16384 | samba | 85sec (20.51MB/sec) |
PC->Server | mtu=4088/4088, rwin=16384 | samba | 90sec (19.38MB/sec) |
うーん、mtu=4088/4088 の方が早いのか? 微妙だ。
更に
Server->PC | mtu=4088/4074, rwin=16136 | samba | 93sec (18.80MB/sec) |
PC->Server | mtu=4088/4074, rwin=16136 | samba | 91sec (19.16MB/sec) |
Server->PC | mtu=4088/4074, rwin=32272 | samba | 91sec (19.16MB/sec) |
PC->Server | mtu=4088/4074, rwin=32272 | samba | 88sec (19.81MB/sec) |
Server->PC | mtu=4088/4074, rwin=48408 | samba | 91sec (19.16MB/sec) |
PC->Server | mtu=4088/4074, rwin=48408 | samba | 88sec (19.81MB/sec) |
Server->PC | mtu=4088/4074, rwin=64544 | samba | 91sec (19.16MB/sec) |
PC->Server | mtu=4088/4074, rwin=64544 | samba | 86sec (20.27MB/sec) |
思ったより変化が無いものの、おおむね予想通りかな?
mtuを変更してみればRWIN の効果も大きくなるかもしれないと思ったので、すこし弄ってみました。
Server->PC | mtu=4088/4088, rwin=16192 | samba | 93sec (18.75MB/sec) |
PC->Server | mtu=4088/4088, rwin=16192 | samba | 中止したら落ちた |
Server->PC | mtu=9014/4096, rwin=65536 | samba | 86sec (20.28MB/sec) |
PC->Server | mtu=9014/4096, rwin=65536 | samba | 82sec (21.27MB/sec) |
Server->PC | mtu=9014/4136, rwin=16192 | samba | 送信途中でハングアップ |
ハングアップはいただけません。
ドライバを自分でビルドしたモノから戻していなかったので、これを戻して再度実験してみます。
Server->PC | mtu=4088/4074, rwin=16384 | samba | 90sec (19.38MB/sec) |
PC->Server | mtu=4088/4074, rwin=16384 | samba | 89sec (19.59MB/sec) |
Server->PC | mtu=4088/4074, rwin=32272 | samba | 90sec (19.38MB/sec) |
PC->Server | mtu=4088/4074, rwin=32272 | samba | 83sec (21.01MB/sec) |
Server->PC | mtu=4088/4074, rwin=64544 | samba | 送信途中でハングアップ |
またもハングアップ。「所詮は蟹」なのか、設定が悪いのか。とりあえず MTU=4088/4074, RWIN=32272 辺りで様子を見ることにしましょう。
FONの暗号を強化しようと設定してたら魔空空間に迷い込んでしまいました。
壊れそうなクズばかり集めてしまうガラスの三十代ですかね。
緊急対策として大きなヒートシンクを付けてみたのですが、夕飯食いに行ってる間に熱暴走してやがったので、ファン付きヒートシンクをさっくり注文しちまいました。
FONと値段かわらねえよ……
Before...
削除Bobby Ethel [削除http://in1drugs.daviesscountychamber.com/legal-place-to-..]
削除Russall Ruberg [削除http://payday-loans.santafeproductions.com/instant-appro..]
削除Janet Boutte [削除http://cilias.mexicanfoodpasadena.com/cialis-overnight-c..]