Bluetooth HSP/HFP, не работающий, но A2DP,

У меня есть Broadcom внутренний адаптер Bluetooth. Это - модель BCM20702A0 (Vendor=0a5c ProdID=21e1 Rev=01.12) Я могу заставить функцию A2DP работать, но не режим HSP/HFP. Я попробовал другое встроенное микропрограммное обеспечение и также различные конфигурации под /etc/bluetooth/audio.conf но не имели никакой удачи. У кого-либо есть какая-либо идея, что я могу сделать? Я искал и искал Google и попробовал различные вещи, идущие на двух часах. Мысль я дал бы Вам гуру попытка. Ниже мои системные детали, сообщите мне, нужно ли Вам что-либо еще.

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
5
задан 20 January 2017 в 14:58

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
5
ответ дан 23 November 2019 в 09:13

Мое предположение - то, что это - купленная проблема профиля с pulseaudio, если это не что-то более проблематичное.

Установка и выполненный pavucontrol (apt-get install pavucontrol) и переходят к последней странице (конфигурация) проверка, если профиль Bluetooth там, и попытайтесь изменить его.

Мое купленное аудио conf является значением по умолчанию withoyt любые изменения (человечность 14.04) /etc/bluetooth/audio.conf

Теперь, Просто протестировал эти шаги с купленной гарнитурой (a2dp и hsp способный) и получил его работа. Не лучший способ, но работал.

  1. Парное купленное устройство
  2. Сверяется pavucontrol, что профиль является HSP от страницы конфигурации.
  3. Запускаются skype (я знаю, но легко протестировать с ним)
  4. Выполнение movesink.sh, сценарий
  5. Запускает проверочный вызов сервиса тестирования в скайпе
  6. вкладка записи Выбора от pavucontrol и избранный "вход Skype от" для соответствия bluetooth-устройству.
  7. Говорят и видят, перемещается ли панель объема.
  8. , Если probles, запустите вызов снова и работайте movesink.sh во время проверочного вызова

купленное имя устройства Проверки a):

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 сценарием, который я сделал. Это перемещает Ваш звук программы, производящий в Ваше купленное устройство (это не перемещает микрометр автоматически с интегрированного на купленную гарнитуру):

#!/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

, Надо надеяться, это проверит, что Ваша установка работает. (Я раньше имел привязку клавиш, которая соединила купленную гарнитуру, перемещенные исходные данные к этому и когда я использовал ее снова, она вернулась та установка.)

необходимо вернуть основное аудио для установки по умолчанию с:

./movesink.sh alsa_output.pci-0000_00_1b.0.analog-stereo
# or
./movesink.sh alsa_output.pci-0000_00_1b.0
1
ответ дан 23 November 2019 в 09:13

Другие вопросы по тегам:

Похожие вопросы: