Broadcomの内部Bluetoothアダプターがあります。モデルですBCM20702A0
(Vendor=0a5c ProdID=21e1 Rev=01.12
)A2DP機能を動作させることはできますが、HSP/HFPモードは動作しません。 /etc/bluetooth/audio.conf
の下で異なるファームウェアと異なる構成を試しましたが、運がありませんでした。誰にも私が何ができるか考えていますか?私はグーグルを検索し、検索し、2時間続くさまざまなことを試しました。グルを試してみようと思いました。以下にシステムの詳細を示します。他に何か必要な場合はお知らせください。
dylan@laptop:~$ uname -a
Linux laptop 3.19.0-20-generic #20-Ubuntu SMP Fri May 29 10:10:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
dylan@laptop:~$ dmesg | grep Bluetooth
[ 4.179038] Bluetooth: Core ver 2.20
[ 4.179051] Bluetooth: HCI device and connection manager initialized
[ 4.179054] Bluetooth: HCI socket layer initialized
[ 4.179056] Bluetooth: L2CAP socket layer initialized
[ 4.179060] Bluetooth: SCO socket layer initialized
[ 5.501272] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 5.501275] Bluetooth: BNEP filters: protocol multicast
[ 5.501281] Bluetooth: BNEP socket layer initialized
[ 5.508181] Bluetooth: RFCOMM TTY layer initialized
[ 5.508188] Bluetooth: RFCOMM socket layer initialized
[ 5.508193] Bluetooth: RFCOMM ver 1.11
USB-DEVICES...
T: Bus=04 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=21e1 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=083E8E9B280C
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
dylan@laptop:~$ dkms status; uname -a
bcmwl, 6.30.223.248+bdcom, 3.19.0-16-generic, x86_64: installed
bcmwl, 6.30.223.248+bdcom, 3.19.0-18-generic, x86_64: installed
bcmwl, 6.30.223.248+bdcom, 3.19.0-20-generic, x86_64: installed
bcmwl, 6.30.223.248+bdcom, 3.19.0-21-generic, x86_64: installed
vboxhost, 4.3.28, 3.19.0-16-generic, x86_64: installed
vboxhost, 4.3.28, 3.19.0-18-generic, x86_64: installed
vboxhost, 4.3.28, 3.19.0-20-generic, x86_64: installed
vboxhost, 4.3.28, 3.19.0-21-generic, x86_64: installed
Linux laptop 3.19.0-21-generic #21-Ubuntu SMP Sun Jun 14 18:31:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
dylan@laptop:~$ dmesg | grep -i bluetooth; dmesg | grep firmware
[ 4.085160] Bluetooth: Core ver 2.20
[ 4.085171] Bluetooth: HCI device and connection manager initialized
[ 4.085175] Bluetooth: HCI socket layer initialized
[ 4.085176] Bluetooth: L2CAP socket layer initialized
[ 4.085181] Bluetooth: SCO socket layer initialized
[ 4.109764] bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-21e1.hcd failed with error -2
[ 4.109773] Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-21e1.hcd not found
[ 5.332794] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 5.332797] Bluetooth: BNEP filters: protocol multicast
[ 5.332803] Bluetooth: BNEP socket layer initialized
[ 5.346411] Bluetooth: RFCOMM TTY layer initialized
[ 5.346419] Bluetooth: RFCOMM socket layer initialized
[ 5.346425] Bluetooth: RFCOMM ver 1.11
[ 4.109764] bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-21e1.hcd failed with error -2
私はこれを試してみます:
wget https://www.dropbox.com/s/owropuric6iz898/BCM20702A0-05ac-21e1.hcd
Sudo cp BCM20702A0-05ac-21e1.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e1.hcd
Sudo modprobe -r btusb
Sudo modprobe btusb
次に、dmesg | tail
で情報を確認します。
Sudo apt-get install linux-headers-$(uname -r) build-essential
wget https://www.dropbox.com/s/xu80svavlazttaf/bluetooth-3.19.tar.gz
tar xpvf bluetooth-3.19.tar.gz
cd bluetooth
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
Sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
Sudo modprobe -r btusb
Sudo modprobe btusb
動作するか確認する
カーネルの更新後、HSP/HFPは失われます。その場合、次のことを行う必要があります。
cd bluetooth
make -C /lib/modules/$(uname -r)/build M=$PWD clean
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
Sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
Sudo modprobe -r btusb
Sudo modprobe btusb
私の推測では、より問題のあるものでない限り、pulseaudioのbtプロファイルの問題です。
インストールしてpavucontrol(apt-get install pavucontrol
)を実行し、最後のページ(設定)に移動して、bluetoothプロファイルが存在するかどうかを確認し、変更してみてください。
私のbtオーディオconfはデフォルトで変更なし(ubuntu 14.04)/etc/bluetooth/audio.conf
さて、bt-headset(a2dpとhsp capabel)を使用してこれらの手順をテストし、動作させました。最善の方法ではありませんが、うまくいきました。
pavucontrol
でプロファイルがHSPであることを確認します。skype
を起動します(知っていますが、テストは簡単です)movesink.sh
スクリプトを実行するpavucontrol
から録音タブを選択し、Bluetoothデバイスに合わせて[Skype input from]を選択します。movesink.sh
を実行しますa)btデバイス名を確認します。
pactl list sinks|grep Name
# or
pactl list sinks|grep card:
b)movesinks.shをその名前で実行します
./movesink.sh bluez_sink.48_C1_AC_C1_C3_85.hsp
# or
./movesink.sh bluez_sink.48_C1_AC_C1_C3_85
そして、これが私が作成したmovesink.shスクリプトです。プログラムサウンド出力をbtデバイスに移動します(これにより、マイクが統合からbt-headsetに自動的に移動しません)。
#!/bin/bash
echo "Setting default sink to: $1";
# where new pa should output sound for new programs
pacmd set-default-sink $1
# get "active" programs and with while read
pactl list sink-inputs short |cut -f1 | while read line
do
echo "Moving input: ";
echo $line
#| cut -f2 -d' ';
echo "to sink: $1";
# move audio to the newly assigned output.
pacmd move-sink-input `echo $line | cut -f2 -d' '` $1
done
うまくいけば、これでセットアップが機能することを確認できます。 (以前はbt-headsetをペアにしてキー入力を行い、入力をそのキーに移動しました。再度使用すると、その設定が元に戻りました。)
以下を使用して、メインオーディオをデフォルトに戻す必要があります。
./movesink.sh alsa_output.pci-0000_00_1b.0.analog-stereo
# or
./movesink.sh alsa_output.pci-0000_00_1b.0