Bem, passei horas trabalhando nisso e, por algum motivo, não consegui me conectar ao meu telefone. No entanto, eu tentei em um computador diferente, e simplesmente digitar connect xx:xx:xx:xx:xx:xx
no shell bluetoothctl
foi o suficiente para conectar e fazer o áudio funcionar. Então voltei para o primeiro computador, executei remove xx:xx:xx:xx:xx:xx
e reemparalei, e então funcionou.
A única coisa que eu fiz de forma diferente foi tocar música durante o emparelhamento e conexão nos casos que funcionavam, enquanto no primeiro caso eu tentei me conectar antes de enviar o áudio.
Então, basicamente, para resumir para outras pessoas que estão tentando fazer o bluetooth trabalhar em arco, estas são as etapas:
pacman --needed -S pulseaudio-bluetooth bluez-utils bluez-tools rfkill
systemctl enable bluetooth
systemctl start bluetooth
rfkill unblock bluetooth
gpasswd -a 'logname' lp
Então, como você executa pulseaudio -k
, efetua logout e efetua login novamente para entrar no grupo lp (que fornece acesso ao bluetooth).
Agora, toque música no alto-falante interno do seu telefone e coloque o telefone no modo de pareamento.
Finalmente, mais uma vez como root run bluetoothctl
, e dentro do utilitário, execute os seguintes comandos:
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
Neste ponto, se as coisas estiverem funcionando, o telefone parará de tocar no alto-falante e você verá uma nova entrada no aplicativo pavucontrol
.
Note que o comando trust
é necessário se você quiser que seu telefone se conecte automaticamente quando estiver ao alcance, sem a necessidade de executar uma cópia de bt-agent
para autorizar o acesso do telefone ao seu som. Caso contrário, você precisará iniciar todas as conexões do seu computador, seja com o comando connect
em bluetoothctl
ou com um comando como este:
dbus-send --system --type=method_call --dest=org.bluez \
/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Device1.Connect