LinuxとUSB
以前、Mebius MURAMASAが壊れ、電源ユニットのファンがうるさいので使用をやめていた牛デスクトップを直して引っ張り出したという話をしたが、それ以来大きなファイルのコピーでエラーが起きるようになってしまった。
構成は以下の通り。
↑インターネット | 家LAN | | 100BASE-TX | 牛マシン(Vine Linux 4.1、samba) | | USB外付け | ATAハードディスク 320GB(ATA-USB変換ケースに入れてる)
以上のように、牛マシンにUSB接続でハードディスクをつけてSambaで共有しているのだ。
仮説1.RaiserFSが320GBのパーティションをうまくハンドリングできていない。
→MURAMASAの時は問題なかった。
仮説2.牛マシンにはVMware Server Linux版を入れている。そいつの仮想NICがsambaの邪魔をしている。
→samba以外のTCP接続はプロミスキャス切り替えで切断されている様子がない。
冷静に問題の切り分けを行ってみる。
・Samba→WinXPへファイルコピー:大きなファイルでも問題ないが、なんか遅くなったような・・・・。
・WinXP→Sambaへファイルコピー:大体120MB以上でダメ。指定されたネットワーク名は使用できませんとかファイル名が長すぎますとか意味不明なSMBエラーで中断。
う~む・・・・これだけでは何とも言えん。
・Linuxマシンへログインして、USB→内臓IDEへファイルコピー:大きなファイルでも問題ないが遅い。
・内臓IDE→USBへファイルコピー:極端に遅い。大きなファイルでも問題ないか確認する気すら起きない。
以上から、どうもsambaは関係なさそうだ。う~む・・・・ぴーん!
rootになり、lspciとhdparmで確認。あ~わかったー。牛マシンのUSBコントローラがUHCI(USB1.1)なんだ。読み出し300kB/sて・・・・。日暮れの国道をカっとんでUSB2.0PCIカードを買ってくる。玄人志向のUSB2.0N-LP、1280円ナリ。Vine Linux 4.1では何もしなくても認識。Kudzuに設定をまかせ、ハードディスクを内臓USBからこちらにつなぎなおす。
おお、直った。読み出し速度17MB/s。Samba経由でWinXPからのファイルコピーも問題なし。
結局UHCIが悪かったのかどうかは正確には分からない。ひょっとしたら何かパラメータの設定でいけたのかも知れない。しかし、読み出し300kBはさすがに困るので、とりあえずこれでこのままいこう。