1

Я бы хотел, чтобы мой телефон воспроизводил музыку через динамики моего домашнего сервера. Этот домашний сервер представляет собой безголовую коробку OrangePi, на которой установлен Debian (и с ключом Bluetooth в одном из его портов USB).

Я следовал за https://wiki.debian.org/BluetoothUser для первых шагов, и кажется, что все работает хорошо для парной части: мой USB-ключ распознается, я могу включить его, сделать его доступным для обнаружения, он появляется на моем телефон, и я смог соединиться с ним.

Но теперь мой телефон, похоже, не считает, что мой сервер может воспроизводить аудио. bt-device -i <phone> говорит мне: ... UUIDs: [..., AudioSource, ..., HeadsetAudioGateway, ...] что, как я понимаю, означает, что мой телефон может использовать эти два профиля для отправки аудио. Но bt-adapter -i не перечисляет их (или что-то подобное), что, как я понимаю, означает, что мне как-то нужно научить мой сервер, как получать звук с Bluetooth. Я установил pulseaudio-module-bluetooth но простая установка, похоже, не имела никакого значения, и я не уверен, что еще я мог сделать.

[Кстати, я упоминаю pulseaudio, потому что мой поиск привел меня к тому, что он является частью потенциального решения, но решение, которое не использует pulseaudio, также подойдет. ]

1 ответ1

2

Я пытался сделать то же самое с ноутбуком Debian-Jessie. Следующее решило это для меня:

sudo apt-get install -y bluetooth bluez bluez-tools rfkill blueman

# https://tttwrites.wordpress.com/2014/11/09/resolved-bluetooth-loading-patch-failed-in-debian-wheezy/
if [ $(lsusb|grep Blue|grep Atheros|wc -l) -eq 1 ]; then sudo apt-get install -y firmware-atheros; fi

# To fix the errors:
#  Sap driver initialization failed.
#  sap-server: Operation not permitted (1)
# https://askubuntu.com/a/802345/155829
sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover # not sure we need this line
modprobe ath3k
modprobe btusb
modprobe bluetooth

# https://wiki.archlinux.org/index.php/bluetooth#Using_your_computer.27s_speakers_as_a_bluetooth_headset
echo '[General]
Enable=Source,Sink,Media,Socket' > /etc/bluetooth/audio.conf

sudo service bluetooth restart || sudo systemctl restart bluetooth
if [ $(ps awuxf|grep blueman-app|wc -l) -lt 2 ]; then blueman-applet; fi

Стоит научиться использовать bluetoothctl, так как мне нужно было ввести PIN-код

Когда это работает:

lsmod |grep -i blue|awk '{print $1}'

показывает мне

bluetooth    
ecdh_generic 
rfkill       
crc16        

и однажды в паре с телефоном

ls -la /sys/bus/usb/drivers/btusb|grep dev

имеет символическую ссылку на -> ../../../../devices/pci0000:00/enjYOUR DEVICE} и

cat /sys/bus/usb/drivers/btusb/{remove_id,new_id}|wc -c

Должен вернуть return 0 (ноль), где раньше было положительное значение, когда оно не работало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .