Ну, я часами работал над этим и по какой-то причине не смог подключиться к своему телефону. Однако затем я попробовал на другом компьютере, и простого ввода connect xx:xx:xx:xx:xx:xx
в оболочке bluetoothctl
было достаточно, чтобы подключиться и заставить звук работать. Затем я вернулся к первому компьютеру, запустил remove xx:xx:xx:xx:xx:xx
и снова -спарился, и все заработало.
Единственная вещь, которую я сделал по-другому, это воспроизведение музыки во время сопряжения и подключения в случаях, когда это сработало, в то время как в первом случае я пытался подключиться перед отправкой аудио.
Итак, вкратце для других людей, которые пытаются заставить Bluetooth работать на Arch, вот шаги:
pacman --needed -S pulseaudio-bluetooth bluez-utils bluez-tools rfkill
systemctl enable bluetooth
systemctl start bluetooth
rfkill unblock bluetooth
gpasswd -a `logname` lp
Затем, когда вы сами запустите pulseaudio -k
, выйдите из системы и войдите снова, чтобы попасть в группу lp (, которая предоставляет доступ через Bluetooth ).
Теперь воспроизведите музыку со встроенного -динамика телефона и переведите телефон в режим сопряжения.
Наконец, еще раз запустите как root bluetoothctl
и из утилиты выполните следующие команды:
power on
scan on
pair xx:xx:xx:xx:xx:xx
[confirm pin]
scan off
connect xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx
В этот момент, если все работает, телефон перестанет воспроизводить через динамик, и вы увидите новый ввод в приложении pavucontrol
.
Обратите внимание, что команда trust
необходима, если вы хотите, чтобы ваш телефон автоматически подключался, когда он находится в пределах досягаемости, без необходимости запуска копии bt-agent
для авторизации доступа телефона к вашему звуку. В противном случае вам нужно будет инициировать все подключения с вашего компьютера либо с помощью команды connect
в bluetoothctl
, либо с помощью такой команды:
dbus-send --system --type=method_call --dest=org.bluez \
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Device1.Connect
modules.order
— это файл, который должен находиться по адресу /lib/modules/$(uname -r)/modules.order
. Обычно он генерируется командой depmod
, которая при необходимости должна выполняться как часть нормального запуска -.
Убедитесь, что диск, содержащий каталог /lib/modules
, не заполнен на 100%; при необходимости попробуйте найти способ освободить место.
Затем запустите sudo depmod
, чтобы проверить, выдает ли он какие-либо сообщения об ошибках. Если все пойдет хорошо, он вообще не должен выдавать никаких сообщений. Если он работает успешно, перезагрузите компьютер.