So-net無料ブログ作成

Windows 8 Consumer Preview 64bit [VGC-RM94S]

RM94S に Windows 8 Consumer Preview をいれて Bluetooth のチェックをやってみた。

(1) ペアリングの煩雑さ
デスクトップ側でペアリングをすると Metro 側に切り替わってコード確認となる。Metro 側で Profile の選択をやろうとするが、でてこない。Windows Mobile では出来たいたのに。しょうがないので コントロールパネルのデバイスで Profile  の選択をすることになる。これはいけません。

(2) ヘッドセットプロファイルがでてこない
デバイスマネジャで HSP と HFP が見えているのに デバイスのプロパティで HSP が出てこない。Radiko を AM ラジオの音で聞きたいのにできない。(わがままかもしれないが)

(3) AVRCP 1.3 がサポートされているようだ。再生中のタイトルが見事返ってきた。

(4) A2DP の SCMS-T を指示してもヘッダに乗ってこない。

(5) DTCP-IP は、やはりダメだった。

この状態だと Metro を切って使いたいユーザは泣きをみることになるだろう。SAS の HDD で Smart Array E500 なのだが、何故か時々固まって、しばらくすると戻ってくる。デスクトップと Metro を Subsystem にして切り離してもよかったと思うのだが。

蛇足だが SFU は 機能選択できるようになっているが 推奨しないとなっている。 SFU は Subsystem で動くので、個人的には 3つの Subsystem が Shell に包まれて動くところが見たかった。

Windows 8 Subsystem 化の夢
  (1) Metro
  (2) Desktop
  (3) SFU
  (4) In-Car (Navigator)
  (5) Ubuntu for Win

どうせなら NavReady も Subsystem にできればよいのだが。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

Bluetooth Audio Driver [VGC-RM94S]

Bluetooth のドライバを比較してみたが csr plc のものが、我が家には最もフィットしているようだ。軽いし安定している。一番苦労したのが Vista 64bit のバージョンであった。とりあえず初期インストールしておいて MS の Update Catalog で更新かけるのがよいようだ。

【初期インストール】
Vista_32: CSR_Bluetooth_Pack_vista_v4055.zip
Vista_64: Bluetooth_VT64_080606.zip

Win7_32: E1011907.exe
Win7_64: BLUETOOTH_V5.0.17_WIN7-64_DAR_10WI_A1.EXE

【入手可能なバージョン】
5.0.17
5.0.14
5.0.11
5.0.7
4.0.57
4.0.55
3.0.0.183
2.0.0.140
2.0.0.127
1.0.0.380
1.0.0.376

Windows 7 では 5.0.17 が最新であるが、 Vista の Upate Catalog では 5.0.14 が登録されているようだ。VGC-RM で提供されている Toshiba のものは 5.x と古く Bluetooth の Mouse を使って Sleep から復帰させようとすると出来ないケースが時々あったが、これが解消されてサクサク動くようになった。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

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 でも報告されていた。

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

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

×

この広告は1年以上新しい記事の更新がないブログに表示されております。