VH7PCとは、SOTEC から販売された、KENWOOD製の安価ながら高品質なCD/ ラジオチューナ付きオーディオコンポです( メーカのページ)。 本ソフトウェアは、この VH7PC を Un*x 環境で、USB 経由にてコマンド ラインから制御するものです。
libusb が動作可能なUSB付きUn*xシステム
vh7pc - Kenwood VH7PC control program, version 0.5
Copyright (C) 2006 GOTO Masanori <gotom@sanori.org>, GPL.
Usage: vh7pc [options] [command]
Omitting command shows the current status
Options:
-i Interactive mode
-v Show additional verbose messages
-h Show help
-r <retry> USB retry max timeout (sec) default=5
-w <time> USB retry wait time (ms) default=0
Control Commands:
help Show help
status Show currnet status (default)
on Power on
off Power off
vol <val> Set volume. val=0..50, up, down
mute Toggle mute
nb Toggle N.B./Tone mode. nbmode=nb1, nb2, tone
cd [cdop] CD operation: play, pause, stop, repeat, prev, next, eject,
random, ff, fb, 1..155
md [mdop] MD operation: play, stop, pause, record, ote, sk_next, sk_prev
ff, fb, alle, tracke, divide, combine, repeat, random, eject
1..155
tuner [op] Tuner operation: band, stereo, next, prev, 1..40
tape [tapeop] Tape operation: fwd, rev, fb, ff, stop, continue, sts
sel <mode> Change input: cd, tuner, md, tape, pc
device Search device and report it.
見れば一目瞭然ですが、簡単に説明。
on off 電源on/off vol <音量> 音量を変更 mute 音量をミュート nb N.B.モード(イコライザ)を変更 cd [op] CDを操作。cd play とすれば CD が演奏。 tuner [op] ラジオチューナを操作。tuner 3とすればチャンネル3を選択。 sel <op> 入力デバイスを切り替える。なお、sel の部分は省略可能。 tape [op] テープを操作。 md [op] MDを操作。
なお、非インタラクティブモード(コマンドラインから指定する場合)、 これらのコマンドを並列に並べることも可能です。ただし、分かりにく いと思うので(例えば通常 cd 単体で sel cd と同等機能を持ちます が、cd status とするとエラーになったりします)、あまりおすすめは しません。「status」を最後につけてどう変更されたかを調べる程度に 使ってください。
> vh7pc status vol 20 sel cd status Power: On Volume: 10 (Mute: Off) Tone: Off Current Input Mode: PC-USB Mode specific information: None Power: On Volume: 20 (Mute: Off) Tone: Off Current Input Mode: CD Mode specific information: CD: Ejected Track: current 0 all 0 State: Stop Time: 00:00 Repeat/Random: None
オプションについて:
-i インタラクティブモードで実行。通常はコマンドライン操作
ですが、このモードに切り替えるとインタラクティブに実行
できます。コマンドは上記と同様。
-v 詳細な動作のメッセージ表示を行います。
-h ヘルプを表示。
-r <リトライ> USBリトライ回数を設定します。
-w <時間> ミリ秒単位でUSBリトライを行う間隔を設定します。
> vh7pc usb_set_configuration: Operation not permitted You are not permitted to control usb, try it with root userLinuxで使用している場合は、/proc/bus/usb が usbfs でマウントされて いる必要があります。mount コマンドを実行して以下の行が表示されれば 問題ないでしょう。
usbfs on /proc/bus/usb type usbfs (rw)
devsearch: 004/028
> ls -l /proc/bus/usb/004/028 -rw-r--r-- 1 root root 36 2006-01-21 11:09 /proc/bus/usb/004/028
> su > chmod a+w /proc/bus/usb/004/028
Submitting a command failed, please retry some few times. If it works after some retries, please change option -w and -r value for your environment.何度実行してもこのメッセージが出て制御がきかない場合は、-w オプ ションを 0 から少しずつ変えていって試してみてください。そのうち うまくいく値が見つかるはずです。現在分かっているところでは:
VH7PCの最大の特徴は、2chで祭りにもなったその価格と、USBを装備して いてPCから操作ができる点です。メーカ以外からも、ユーザの手によって Windows ではいくつかの操作ユーティリティが作られました。詳細は 以下のページが参考になります。
しかし、残念ながらUn*x環境にはこういったソフトウェアがありませんで した。今まで試した方もいるようですが、うまくいかなかったようです。 と言うのも、試しにユーザランド(libusb使用)やカーネルドライバから叩 いても、まれにしかUSBが応答しないからです。原因は良く分かっていま せんが、USBの制御方法に何か問題がありそうです。本ソフトウェアは強 制的に何百回もコマンドを送受信させて、「まれ」の確率を高めることで 無理やり動かしています。