So-net無料ブログ作成

VGC-RM95US QX9650 [VGC-RM95S]

ヤフオクではない中古で 95US (QX9650) が見つかったので、迷わず購入に踏み切った。希望通り、アナログチューナなしだったが PIX-DT012 がついていたので、早々にはずした。B-CAS スロットのダミーもあったので、すべてはずしてすっきりとなった。以前から疑問に思っていた 95S 系の QX9650 は C0 か C1 かという疑問について C0 という結論となった。

HDD は 3TB にすることにした。BIOS では認識していなかったので D: ドライブで使うことにした。 Win7 SP1 のインストーラだと、ストレージドライバを途中で入れる必要がなかった。メモリーは 8GB としてみた。それにしても Intel のマザーボードを使った VAIO は、なかなか壊れない。

2010-05 の RM94S (QX9650) から始まった、オリジナルの RM95US (QX9650) の旅は、これで一区切りをつけることになった。3T の HDD も HP Smart Array のボードにつなげば Boot できるかもしれない。後は DDR2 で 16GB のメモリに挑戦してみることにしよう。なかなか手に入らないのだが。


Android x86 A2DP [VGC-RM95S]

1年以上使っていなかったVGN-FT90S に Android x86 2.2 をいれてみた。あまり期待してなかったのだが、以外にうまくいってしまった。ソフトウェアの規模は元祖 Open Source の MINIX や 386BSD を軽く超えているようだ。

 android-x86-2.2-generic.iso

ハード的には asus eee pc が最も近いのだがNIC が認識されなかったので Generic 版でインストールした。この時点で 2.2 しか選択肢がない。まずは、おまじない。

 mount -o remount,rw /mnt
 ifconfig eth0 192.168.122.199 netmask 255.255.255.0
 route add default gw 192.168.122.254 dev eth0
 setprop net.dns1 192.168.122.49

Wireless スイッチを ON/OFF していると Airplane-mode が OFF にならなくなるので、ここでおまじない。

 Settings->Applications->Manage applications->
   running->settings storage->clear data

これで Bluetooth が ON になりペアリングできる。自動的に SCO と A2DP が 利用できるようになった。YouTube で DuranDuran "Girls On Films" を聞くことが(録音することが)できた。VGN-FT90S  の Sound Chip を認識しないので Bluetooth で聞くしかない。

【気が付いた点】

1. USB マウスは必須だと思う(これがないと、かなりキツイ)
2. A2DP は SCMS-T が OFF となっている
3. SCO は Phone Call の時だけのようである

【基本操作】

F4: Shutdown
Alt+F1: console
Alt+F7: GUI

動画再生はコマ落ちが激しいが、音声は問題なく聞こえる。音量レベルが弱いようだが。386BSD や Linux が登場した時と同じで、実用性がどうこうより、この上にどれだけの世界が広がるかで価値が決まると思う。


Windows Media Player の先読み [VGC-RM95S]

DLNA の配信用 Audio File がリニアPCM のままだとファイルサイズが大きくなってしまう。そのため Media Player 側が Range 指定で先読みをしているようだ。先読みの応答がないと再生が開始されない。

GET /MediaItems/11.wav HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: getIfoFileURI.dlna.org
Accept: */*
Range: bytes=0-

GET /MediaItems/11.wav HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: getIfoFileURI.dlna.org
Accept: */*
Range: bytes=2265088-2270877

さらに複数のトラックがあると、トラック自体を先読みしている。


Bluetooth-DLNA Stack Gateway [VGC-RM95S]

Bluetooth 経由で受信した A2DP, SCO を録音し DLNA で配信する機能を試験してみた。HTTP GET の応答をファイル転送ではなく Wave-Out の Cal Back による再生タイミングで  SOAP(DLNA 配信) している。

Blue-Dlna_sample_01.png

DLNA というか UPnP は、そうとうヘビー級になてきたので Audio だけでもかなり複雑になっている。今回は XML の重たい解析をなくしても SCO や SBC だけというなら特定の Template に書き込むだけで何とかなることが分かった。組み込み機器の DLNA の実装も Template 修正型だと思う。

Blue-Dlna_sample_02.png

WMP12 は、ざっと見ても一曲選択するまでに、かなりの手順を踏んでいる。Vaio Media Plus の実装は、マウス操作のたびに電文がきているのでわかりやすかった。Vaio Media Plus はクセがなくリファレンス的な実装だったのかもしれない。

Blue-Dlna_WMP_002.png

日本語表示も UTF-8 で問題なく表示されている。ある程度のキャッシュで再生がスタートしているので、若干の遅れを認めればリアルタイムの再生も可能かと思う。

AVRCP が利かないケース [VGC-RM95S]

AVRCP ができたりできなかったりを調査した結果、少なくとも以下の2つが判明した。

(1) リモートデスクトップで接続している場合

画面を転送しているがオーディオ関連は リモート側に設定している時に AVCTP の電文応答は Accept が返って来るの だが Play, Stop などが動作しないことが判明した。Toshiba Stack の 5.0, 6.0 までは問題なかった。これ以外の Toshiba 7.0, 8.0, csr plc., Motorola, MS Stack はダメだった。

(2) リモコン操作用の OS 側ドライバがない場合

Bluetooth Stack をあれこれ入れ替えていると AVRCP が利かなくなる。この現象にあったら IR リモコンの受信側 USB を差し込んで OS 側で必要なドライバを甦らせる。WMP など Player を最終的に叩くのは IR も Bluetooth も共通のドライバになっているからのようである。いずれも、ググってもあまり見かけなかった現象なのでマイナーな問題かもしれないが、この記事が役に立てばと思う。

それにしても csr plc. は AVRCP 1.3 の電文の雛形は返ってくるのだが中身が空っぽであった。マニュアルにもうまくいく場合もあるといったニュアンスで書いている。Motorola Stack はオーディオの切り替えがさくっといくし AVRCP 接続で A2DP の2つのセッションを自動的に張りに来てくれる。Toshiba の 8.0 は重すぎる。


Bluetooth 3.0 と 2.0+EDR の接続 [VGC-RM95S]

Bluetooth 3.0 Motorola Stack と VGC-RM95S の ALPS/CSR 2.0 EDR MS Stack の接続についてまとめてみる。3.0 同士はサクっとつながるし 2.1 もペアリングコードをいれればつながる。ところが 2.0 EDR では以下のようにしないとダメだった。

(1) 3.0 側の "My Bluetooth" でサービスの接続をおこなうか 2.0 側から個別サービス接続をおこなう
(2) 次に 2.0 側からペアリングコードなしで接続をおこなう

手順の (1) をやらないと (2) でペアリングエラーとなってしまう。これで見かけ上うまくいったことになる。少なくとも HSP と A2DP はこれでいけた。

Motorola_stereo.pngMotorola_headset.png

2.0 からのAVRCP は接続が拒否されているように見える。本来なら 3.0 に「リモート制御」なるサービスが見えて、これを選択する必要がある。それにしても A2DP SRC 側が 3.0 だと文句なしに安定している。

SCMS-T [VGC-RM95S]

A2DP のオプションとして SCMS-T と AVRCP としてみた。

scms_t.png

SCMS-T はイメージとしては難しそうだが、データ転送では1バイトがヘッダに付与されるだけである。ネゴシエーションも以下のようにするだけである。

  // 1
  cap_scms_resp.serv_cap=MEDIA_TRANSPORT_CATEGORY;
  cap_scms_resp.serv_cap_len=0;
  // 4
  cap_scms_resp.cp_type = MEDIA_CONTENT_PROTECTION;
  cap_scms_resp.cp_type_length = 2;
  cap_scms_resp.cp_type_lsb = (CP_TYPE_SCMS_T & 0xFF);
  cap_scms_resp.cp_type_msb = (CP_TYPE_SCMS_T >> 8) & 0xFF;
  // 7
  cap_scms_resp.cap_type=MEDIA_CODEC;
  cap_scms_resp.cap_type_length=6;

ところが VAIO の WIDCOMM の A2DP については、このネゴシエーション以前に何かきている。Toshiba のスタックや CSR のスタックでは、まったく問題ない。

AVRCP [VGC-RM95S]

Windows 7 MS Stack で AVRCP の表示ができたり、できなかったりしている。MS STack の問題というより SDP のレコードの解釈がバラバラということのようである。そもそも、どのように表示されるか分からなかったので RedHat 6.0 がどのように応答しているかを見てみた。

 AVRCP.png

上の段が Target をサポートしている場合、下段が Controller をサポートしている場合である。Controller の場合は SDP に登録していない場合が多いので見えない場合がある。また ヘッドセット側が Target になっていて Play, Pause などを逆に発行する場合もあるようだ。メーカのカタログには、どちらをサポートしているか明記すべきだと思う。

ちなみに AVRCP は RFCOMM ではなく L2CAP 上なので MS Stack の場合、簡単なドライバが必要になる。

skype crash [VGC-RM95S]

"bcdedit -debug on" の状態で skype をインストールすると、起動時に Kernel から応答がなくなることが判明した。同様の現象が tomshareware.com でも報告されていた。

リバースエンジニアリングのブロックかもしれないが、純粋にドライバを開発している技術者にとっては、不快感を感じる。同様の現象を体験された方の参考になればと思う。

Bluetooth Feature Pack 5.0.14 [VGC-RM95S]

CSR Plc. の Bluetooth Feature Pack 5.0.14 64bit 版を VGC-RM95US に入れてみた。これで A2DP の Source 側になるので Streams Jockey をいれた VGC-RM95S が A2DP の Sink 側になり、さらに VGC-RM94S のスピーカで流してみた。

csr_help.png

VGC-RM95S がオーディオ出力 Bluetooth Audio Renderer のデフォルトとして設定できる。

A2DP_sink.png

これで Radiko の音声や YouTube のサウンドを 44.1kHz Stereo で録音できることになる。

streams_jockey_003.png

我が Streams Jockey は、この Feature Pack の反対の機能を実現しているこになるので試験相手としてちょうどよい。Skype は HFP でうまくいかなかったので HSP でやってみよう。応用範囲が広がってきた。

続きを読む


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。