小ネタ 2008-022
PLAYSTATION3でトロハブを動かしてみる
PLAYSTATION3のLinuxでトロハブを動かすためのソフトを作ってみた。(2008-08-15)
動作させてみたところ(動画)
・準備するもの
PLAYSTATION3本体
Yellow Dog Linux for PLAYSTATION3
トロハブ
libusb-0.1.12
・トロハブを動かすためのソフト
[ ソースコード toro.tar.gz (download) ]
このソフトの元ネタは、「パロディ版 BSD Magazine 年刊2001 Vol. 1」に掲載されているBSD unix用のトロハブ制御ドライバutoroである。
この記事にはUSBハブマスコットのhackの方法(どのようにhackしたのか)なども載っていた。
記事の情報を参考にして、libUSBを使ったトロハブ制御ソフトを作ってみた。
ついでに、このトロハブ内蔵のUSB-hubの電源制御をテストしたところ、hubのポート毎の電源のオンオフ制御ができたので、この処理もソフトに組み込んだ。
・使い方
PLAYSTATION3にLinuxをインストールしておく。
libusbをインストールしておく。(バイナリパッケージでなく、ソースからビルドしてインストールした)
toro.tar.gzの中に、ソースコードとMakefileが入っているので、makeコマンドでビルドする。実行ファイルtoroが生成される。
トロハブをPLAYSTAION3のUSBポートに接続しておく。
実行ファイルtoroを起動する。root権限で動かすこと。
(後日加筆 2008-08-24)
上記のトロハブを動かすソフトは、プレステ3で無くてもUSBポートを備えたLinuxマシン(あるいはMacOS-X等)で動作させることができる。
Windows版のlibUSBというのもあるのだが、こちらはあまりお薦めできない。
Windows版のlibUSBには、フィルタドライバ版と、デバイスドライバ版と2種類が存在する。Linux版と同じように使うことができるのはフィルタドライバ版なのだが、こちらは安定性に問題があり、うまく動かない場合が多い。
デバイスドライバ版libUSBは、本来のデバイスドライバを外して替わりにlibUSB用の汎用ドライバをインストールするものなので、トロハブの場合にはハブ部分のドライバをlibUSBドライバに差し替えるとハブ機能が失われてしまう。その場合、ハブの内部の隠された3番目のポートに接続されたマスコット制御回路がPCと接続されなくなり、マスコットの制御ができなくなってしまう。
とりあえず、ハブの電源制御の部分のソフトをあきらめて、ハブ部分のドライバは汎用USBハブのドライバのままにして、マスコット制御部分のみlibUSBドライバをインストールしておけば、トロハブのマスコット部分の動作をWindows版libUSBで制御するソフトを作成することができる。