USB Server for Linuxの評価
INCENTIVES ProのUSB Server for Linuxを評価してみた。
以下、
- ローカルのPCでUSBデバイスを直接接続している方をサーバー
- リモートのPCでネットワーク越しにデバイスを接続している方をクライアント
と表記する。
USB server client 1.5.2β
現在の所、唯一(?)Linuxのクライアントのある実装。
環境
- サーバー:RHEL5.2(kernel-2.6.18-92)、USB server client 1.5.2β
- クライアント:RHEL5.2(kernel-2.6.18-92)、USB server client 1.5.2β
- ネットワーク環境:クロスケーブル
インストール
USB server client 1.5.2βのダウンロード
ダウンロードしてLinux上で展開すると、usbsrvd, usbsrv, usbclntというデーモンとコマンドはビルドされている。
但し、tusbd.koというカーネル・モジュールをカーネルのソースを使ってコンパイルする必要がある。
今回、kernel-2.6.18-92なのでソースをダウンロードしてきてインストールした。
以下、kernel-2.6.18-92のソースをインストールした後からの手順。
% cd /usr/src
% tar xf redhat/SOURCES/linux-2.6.18.tar.bz2
% ln -s linux-2.6.18 linux ← /usr/src/linuxで参照できるように
% cd linux
% make oldconfig
% make prepare
% make modules
% cd <usb-server-client>/modules/src/tusbd
% make →これでtusbd.koがビルドされる
続いてインストールする手順だが、付属のinstall.shを流すだけでよい。
% cd <usb-server-client>
% ./install.sh install
install.shが行っているのは、
- /usr/local/usb-server以下にプログラム(usbsrbd, usbsrv, usbclnt)とtusbd.koをコピー
- insmod tusbd.koでモジュールの登録
- usbsrvdを起動
だけであった。
このため、一箇所でtusbd.koをビルドしてしまえば、他のPCには/usr/local/usb-server/以下をコピーして、insmod tusbd.koして、usbsrvdを起動すればよい。
動作確認
まずサーバー、クライアントの両方で、tusbd.koがinsmodされて、usbsrvdが起動されていることを確認する。
usbsrvdはポート32032で待っているのでFirewall設定をしている場合、ポート32032へのtcp通信の許可が必要となる。
サーバー側でUSBデバイスを接続したら、usbsrvdに認識されたかを確認してみる。
サーバー側では常にusbsrvコマンドを使う。
認識されていたら、クライアントでConnectできるようにShareしてやる。
% usbsrv -s -h xxxx-xxxx -d x-x
(-hでhwid、-dでbusidを指定する)
次にクライアント側でUSBをShareしてくれているサーバーを登録する。
クライアント側では常にusbclntコマンドを使う。
% usbclnt -a <サーバーIP>:32032
クライアント側で-lしてみると、サーバー側でShareしたUSBデバイスがリストされるはずである。
% usbclnt -l
y: USB Server on <サーバーIP>:32032 status: [connected]
'--> z: USB Device: USB Memory
busid: x-x hwid: xxxx-xxxx
speed: [high] status: [device is available for connection]
最後にクライアント側でConnectする。
% usbclnt -c y-z
(yはサーバーの番号、zはデバイスの番号を示す)
以上の手順でクライアント側でサーバー側のUSBデバイスが接続されたはずである。
USB server 1.9.1とUSB Redirector
最新版だがLinuxクライアントがない。
このため、クライアント側はWindowsとしてみた。
環境
- サーバー:RHEL5.2(kernel-2.6.18-92)、USB server client 1.9.1
- クライアント:WindowsXP、USB Redirector
- ネットワーク環境:クロスケーブル
インストール
動作確認
まずサーバー側でtusbd.koがinsmodされて、usbsrvdが起動されていることを確認する。
usbsrvdはポート32032で待っているのでFirewall設定をしている場合、ポート32032へのtcp通信の許可が必要となる。
サーバー側でUSBデバイスを接続したら、usbsrvdに認識されたかを確認してみる。
認識されていたら、クライアントでConnectできるようにShareしてやる。
次にクライアント側でUSBをShareしてくれているサーバーを登録し、
サーバー側のUSBデバイスが見えたらConnectする。
GUIなので操作は簡単である。
まとめ
どちらのバージョンもクライアント側でのConnectまで可能であった。
ただ手元にUSBデバイスがUSBメモリとWillcomのPHSしかなかったのでこの2種類しか接続確認できていない。
USBメモリは中身を参照したりできたが、PHSはConnectできただけでそこから先どう使えるのかまで確認していない。
ただ、1.9.1とRedirectorの組み合わせでは、PHSをConnectしたらWindowsがPHSのドライバをインストールし始めたので、正常に認識されているように感じた。
ちなみにバージョン間の相性があり、
- 1.5.2βのサーバー(Linux)にRedirector(Windows)のクライアントは接続不可
- 1.9.1(Linux)のサーバーに1.5.2β(Linux)のクライアントは接続不可
となっている。
最終更新:2009年02月20日 03:04