Windows7 64bit + Logitech LBT-UAN04C1BK + Sony DRC-BTN40

今まで使っていたSony VGP-BRM1のバッテリーがヘタってきたのでワイヤレスオーディオ環境を一新した。BluetoothドングルはLogitec LBT-UA200C1を使っていた。

新しい環境はLogitech LBT-UAN04C1BK + Sony DRC-BTN40の組み合わせ。何故こうしたのかは割愛するが、これが音が出るまでの作業が一筋縄ではなかった。

CSR社製スタックの出来の悪さは事前調査で知っていたので、スタックのインストールは特に問題なく終わった。
しかしいざDRC-BTN40とペアリングしようとするとBluetoothステレオオーディオドライバとBluetoothオーディオコントローラドライバのインストールに失敗してしまう。
画面に表示されるのは「デバイスインストール中にエラーが発生しました。その名前はサービス名 またはサービス表示として既に使われています。」。名前とはいったい何なんだ!?不親切すぎてなにがなんだか全くわからない。
調べると"C:\Windows\inf\setupapi.dev.log"ファイルに詳細な情報がでていた。

     inf:                               {Install Inf Section [AVFilter.NT.Services]}
     inf:                                    AddService=csr_bthav,0x00000002,csr_bthav_Service_Inst  (csrbthav.inf line 108)
     inf:                                    ServiceType=1  (csrbthav.inf line 112)
     inf:                                    StartType=3  (csrbthav.inf line 113)
     inf:                                    ErrorControl=1  (csrbthav.inf line 114)
     inf:                                    ServiceBinary=C:\Windows\system32\drivers\csrbthav.sys  (csrbthav.inf line 115)
     inf:                                    DisplayName="Bluetooth AVプロファイル"  (csrbthav.inf line 111)
!!!  dvi:                                    Add Service: Failed to create service 'csr_bthav'.
!!!  dvi:                                    Error 1078: The name is already in use as either a service name or a service display name.
!!!  inf:                               {Install Inf Section [AVFilter.NT.Services] exit(0x00000436)}
!!!  inf:                               Error 1078: The name is already in use as either a service name or a service display name.
!!!  dvi:                               Error while installing services.
!!!  dvi:                               Error 1078: The name is already in use as either a service name or a service display name.
!!!  dvi:                               Cleaning up failed installation
!!!  dvi:                               Error 1078: The name is already in use as either a service name or a service display name.

(略)

     inf:                               {Install Inf Section [csravrcp_DDI.NT.Services]}
     inf:                                    Addservice=csravrcp,0x00000002,csravrcp_Service  (csravrcp.inf line 57)
     inf:                                    ServiceType=0x00000001  (csravrcp.inf line 63)
     inf:                                    StartType=0x3  (csravrcp.inf line 64)
     inf:                                    ErrorControl=0x00000001  (csravrcp.inf line 65)
     inf:                                    ServiceBinary=C:\Windows\system32\DRIVERS\csravrcp.sys  (csravrcp.inf line 66)
     inf:                                    DisplayName="Bluetooth AVRCPプロファイル"  (csravrcp.inf line 62)
     inf:                                    LoadOrderGroup="Extended Base"  (csravrcp.inf line 67)
!!!  dvi:                                    Add Service: Failed to create service 'csravrcp'.
!!!  dvi:                                    Error 1078: The name is already in use as either a service name or a service display name.
!!!  inf:                               {Install Inf Section [csravrcp_DDI.NT.Services] exit(0x00000436)}
!!!  inf:                               Error 1078: The name is already in use as either a service name or a service display name.
!!!  dvi:                               Error while installing services.
!!!  dvi:                               Error 1078: The name is already in use as either a service name or a service display name.
!!!  dvi:                               Cleaning up failed installation
!!!  dvi:                               Error 1078: The name is already in use as either a service name or a service display name.

どうやらcsr_bthavとcsravrcpという名前の2つのドライバ登録に失敗している模様。
というわけで音が出るまでに行った作業は以下の通り。

1.作業を失敗した時のために「システムイメージの作成」でWindowsをバックアップ
2.今まで通りVGP-BRM1を接続
3.管理者権限でコマンドプロンプトを起動して以下のコマンドを実行

set devmgr_show_nonpresent_devices=1
start devmgmt.msc

4.デバイスマネージャが表示されるのでメニューから「非表示のデバイスの表示」を選択
5.表示されるデバイスの中からBluetoothと名の付く物を片っ端から削除
6.VGP-BRM1の電源Off、LBT-UAN04C1BKを抜く
7.Windows再起動
8.LBT-UAN04C1BK付属のCDからCSR社製スタックをインストール
9.DRC-BTN40をペアリング→ドライバのインストールに失敗→無視
10.レジストリから

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\csr_a2dp
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BthAvrcp

をキーごと削除
11.以下のレジストリを読み込ませて手動でドライバ登録

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\csr_bthav]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
  72,00,69,00,76,00,65,00,72,00,73,00,5c,00,63,00,73,00,72,00,62,00,74,00,68,\
  00,61,00,76,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Bluetooth AVプロファイル"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\csravrcp]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,63,00,73,00,72,00,61,00,76,00,72,\
  00,63,00,70,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Bluetooth AVRCPプロファイル"
"Group"="Extended Base"

12.DRC-BTN40電源断
13.Windows再起動
14.デバイスマネージャからびっくりマークの付いているデバイスのドライバを再インストール(自動)させる
15.DRC-BTN40電源入

音が出るようになった後は、勝手に登録されたアドインが原因でOutlook等のMS Officeがクラッシュするようになったのでアドインを無効にしが、その程度では効果が無いので削除した。

追記 2013/05/13 15:36
Outlookがまたしてもクラッシュするようになったので調べたら原因はBluetoothによるセキュリティ解除機能だった。レジストリ

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{5355DA8C-FE32-49b4-A567-A67535C86592}

を削除することで対応。

※この記事をみてデバイスの削除やらレジストリの操作をする方は自己責任で。