O que estava acontecendo
Quando conectava a Echo Dot no meu Arch Linux, ela aparecia como Gateway, isso significa que o áudio sai do Echo Dot e entra no seu PC, e não o contrário, eu estava ouvindo a “Alexa” na caixa de som do notebook.
Pelo que pesquisei, este é um problema comum de compatibilidade de dispositivos Echo com o PipeWire/WirePlumber atuais.
A solução é forçar o perfil correto (A2DP Sink) usando o MAC Address do dispositivo no arquivo de configuração do WirePlumber.
Como eu resolvi:
Passo 1: Achar o MAC Address da Echo Dot
No GNOME, conecte a Echo Dot via Bluetooth (Definições → Bluetooth).
No terminal, execute:
$ bluetoothctl
(OBS: Caso não tenha instalado, utlize seu gerenciador de pacotes para fazer antes de prosseguir)
Seguindo, dentro do bluetoothctl digite o comando a seguir:
devices
Você verá algo como:
Device XX:XX:XX:XX:XX:XX Echo Dot-XXXX
Anote o MAC da sua Echo Dot.
Para sair digite:
exit
(Caso possua outros dispositivos e queira configurar, anote os MAC dos mesmos, usaremos mais a frente.)
Passo 2: Configurar o arquivo do WirePlumber (por MAC)
O WirePlumber usa um arquivo para definir como o Bluetooth vai se comportar.
Ele fica em:
ls /etc/wireplumber/wireplumber.conf.d/50-bluetooth.conf
Se o diretório não existir, crie:
sudo mkdir -p /etc/wireplumber/wireplumber.conf.d
Após validar que o arquivo existe abra ele no seu editor favorito:
sudo nano /etc/wireplumber/wireplumber.conf.d/50-bluetooth.conf
Estrutura básica do arquivo
O arquivo usa regras baseadas no MAC Address:
lua
monitor.bluez.rules = [
-- Regra para a Echo Dot 4 (exemplo)
{
matches = [
{ device.name = "~bluez_card.XX:XX:XX:XX:XX:XX " }
]
actions = {
update-props = {
bluez5.auto-connect = [ "a2dp_sink" ],
bluez5.a2dp.sbc.quality = "high",
bluez5.a2dp.sbc_xq = true,
bluez5.hfphf.enable = false
}
}
},
-- Aqui você pode adicionar regras para outros dispositivos, neste caso estou deixando para que os demais dispositivos como fones, alto falantes, já usem o perfil com codecs compatíveis.
{
matches = [
{ device.name = "~bluez_card.*" }
]
actions = {
update-props = {
bluez5.auto-connect = [ "a2dp_sink", "a2dp_source", "hfp_hf" ],
bluez5.a2dp.sbc.quality = "high",
bluez5.a2dp.sbc_xq = true,
bluez5.enable-msbc = true
}
}
}
]
api.bluez5.address = "XX:XX:XX:XX:XX:XX ": MAC da sua Echo Dot.bluez5.auto-connect = [ "a2dp_sink" ]: força o dispositivo a usar A2DP Sink (alto‑falante).bluez5.a2dp.sbc.quality = "high": define qualidade alta do codec SBC.
Salve o arquivo com Ctrl+O e saia do Nano com Ctrl+X.
Passo 3: Reiniciar o PipeWire/WirePlumber
Para aplicar a configuração:
sudo systemctl --user restart pipewire{,-pulse,} wireplumber
A lógica por trás do arquivo
- O Ubuntu/Pop!_OS/Debian etc. às vezes usam o perfil de gateway por padrão, fazendo o Echo Dot se comportar como um receptor de áudio, e não como caixa de som.
- No Arch, com WirePlumber, você pode forçar o perfil A2DP por MAC, ignorando o perfil padrão e dizendo ao sistema: “Use esse dispositivo como saída de áudio, não como gateway.”
- Assim, mesmo que o echo dot apareça antes como gateway, depois da nova configuração ele é reconectado como alto‑falante Bluetooth.
Dicas importantes.
- Sempre anote o MAC antes de editar o arquivo.
- Faça backup do arquivo antes de mexer:
Espero que ajude.