Headset bluetooth não funciona

Boa tarde!

Estou com um problema chato de acontece no Ubuntu 25.04 (ocorreu também no Fedora 42), quando utilizo um fone através do bluetooth LDAC ou SBC, ele funciona perfeitamente (sem o microfone, claro). Porém, quando mudo para mSBC para fazer uma chamada ou algo do tipo, o fone fica mudo e o microfone também não funciona.

Procurei em tudo quanto é canto uma solução e até agora não encontrei.
Alguém conseguiria me ajudar?

Obrigado!

  1. Enable mSBC in PipeWire:
  • Open the PipeWire configuration file:

Código

     sudo nano /etc/pipewire/media-session.d/bluez-monitor.conf
  • Ensure the following line is uncommented (or add it if it doesn’t exist) and set to true:

Código

     bluez5.msbc-support = true

Restart PipeWire and related services.

Código

     systemctl --user restart pipewire pipewire-pulse pipewire-media-session
  1. Enable mSBC in PulseAudio (if not using PipeWire):
  • Ensure the module-bluez5-discover module is loaded. You can do this by adding it to the PulseAudio configuration.
  • Restart PulseAudio:

Código

     pulseaudio -k && sudo systemctl restart pulseaudio.service

O bluez-monitor.conf não existe.

Detalhe, o mSBC existe, ele aparece, porém ele não funciona.

Se não existe , crie o arquivo

Eu vi que não existia de fato e que de fato não estava nem instalado o pacote pipewire-media-session… Bom, eu instalei, ele removeu o wireplumber e o pipewire-audio.
Eu prossegui e agora nem o som do pc funciona mais.

O arquivo agora existe e fiz o que estava no que você mandou.

Ok.

Remove o arquivo citado e reinstale o wireplumber

Vou pesquisar com wireplumber

Eu estava olhando a configuração do pipewire e tinha até algumas opções relacionadas ao media-session, eu cheguei a ativar elas mas mesmo assim nada, vou desfazer tudo e reinstalar o wireplumber.

Encontrado no ia do google

To enable mSBC (Wideband Speech) for Bluetooth headsets in WirePlumber on Arch Linux, you need to configure WirePlumber to use the correct profile. This involves creating or modifying a WirePlumber configuration file to enable the mSBC codec.

Steps:

  1. 1. Ensure WirePlumber is installed and running:
  • WirePlumber is the recommended session manager for PipeWire, which is the multimedia framework often used for audio and video on Linux.
  • Install wireplumber if you haven’t already.
  • Verify that WirePlumber is running as a systemd user unit.
  1. 2. Locate or create the configuration file:
  • WirePlumber configuration files are typically located in /usr/share/wireplumber.
  • To customize settings, create a directory wireplumber.conf.d inside /etc/wireplumber or ~/.config/wireplumber.
  • For example, create the file /etc/wireplumber/wireplumber.conf.d/50-bluez-config.lua (or ~/.config/wireplumber/wireplumber.conf.d/50-bluez-config.lua for user-specific settings).
  1. 3. Configure WirePlumber for mSBC:
  • The 50-bluez-config.lua file (or similar) should contain Lua code that defines the BlueZ properties. Here’s an example:

Código

     monitor.bluez.properties = {    
   bluez5 = {         
  profiles = {          
 "headset-head-unit-msbc",       
  },       
},     
}
  • This configuration snippet ensures that the headset-head-unit-msbc profile is enabled for Bluetooth devices.
  1. 1. Restart WirePlumber:
  • After modifying the configuration, restart WirePlumber to apply the changes. You can do this by restarting the systemd user unit, or by using systemctl --user restart wireplumber.service.
  1. 2. Select the mSBC profile:
  • Open your audio settings (e.g., in GNOME Settings, KDE Plasma settings, or using pactl list to list available profiles).
  • Select the Bluetooth headset and choose the “Headset Head Unit (HSP/HFP, codec mSBC)” profile.

Example using pactl:

If you want to verify the current configuration and available profiles using the command line, you can use pactl list. Look for your Bluetooth device under “Card” and check the “Profiles” section. If the headset-head-unit-msbc profile is available, you can then select it using pactl set-card-profile <card_number> headset-head-unit-msbc.

Important notes:

  • Ensure that you have the correct paths and filenames when creating or modifying configuration files.
  • Double-check that the profile name headset-head-unit-msbc is correct for your specific device and configuration.
  • Some devices may require additional configuration steps or have limitations regarding supported codecs.

By following these steps, you should be able to enable mSBC for your Bluetooth headset in WirePlumber on Arch Linux.

Criei o arquivo na pasta indicada (que já existia):


Dentro do arquivo eu adicionei as propriedades indicadas conforme orientado:

Bom, o microfone continua não funcionando e agora os outros profiles sumiram:

Em paralelo a isso, eu estava dando uma lida na documentação do Wireplumber na parte de bluetooth e parece que nas versões mais atualizadas, o padrão de construção desses arquivos está um pouco diferente do indicado.
Em todo caso, eu segui conforme a documentação e mesmo assim, também não tive sucesso. :frowning:

Edit: esqueci de colocar aqui a doc do Wireplumber

Qual o nome do microfone?

Pelo que vi e entendi o suporte já está ok.

Desfaz de novo o processo.

Acho que pelo nome podemos encontrar ou não uma solução

Bom, eu tenho três fones e com os três acontecem a mesma coisa.


São esses três, o aúdio funciona ok (apesar de que desconfio que o LDAC do AilyBuds não está ok) mas ainda assim, quando preciso para fazer alguma chamada de aúdio onde usa os perfis “handsfree”, não vai.

Levando em conta que usa Fedora

Veja isso

Okay the issue really stems from trying to enable aptX support, which was only available with legacy audio stuff.

Because if I remove/reset the overrides (of pipewire-pulseaudio wireplumber), it works. I only have A2DP/AAC codec then, which makes it impossible to use for input and output of audio (as the bandwidth is way too small).

Thankfully I found a solution using the new wireplumber, because rpm-fusion now apparently has a wireplumber-aptx plugin that is even easier to use than before! No overrides needed anymore!

After you have added rpmfusion as usual, it is as easy as doing:

rpm-ostree install pipewire-codec-aptx

That’s it! Now you can use aptX.

(That said, I can still not use the headet as an input device at the same time, as the codec then automatically switches to very ugly HSP/HFP/mSBC but at least it works as it worked in F35, great!)

Fonte

Cara, é Ubuntu que estou usando… No Fedora os profiles nem trocavam rs

To get aptX codec support with PipeWire on Ubuntu, you’ll need to install a specific PPA that provides the necessary packages. Ubuntu 22.04 and later include PipeWire, but it might not have aptX enabled by default. The pipewire-extra-bt-codecs PPA adds support for aptX, LDAC, and AAC codecs.

Here’s how to install it:

  1. Enable required repositories:

Código

   sudo add-apt-repository universe 
  sudo add-apt-repository multiverse 
  sudo apt update
  1. Add the PPA:

Código

   sudo add-apt-repository ppa:aglasgall/pipewire-extra-bt-codecs 
  sudo apt update
  1. Install the codecs:

Código

   sudo apt install libspa-0.2-bluetooth
  1. Optional: Prevent updates to the codec package:

Código

    sudo apt-mark hold libspa-0.2-bluetooth
  1. Reboot or restart PipeWire:

Código

   sudo systemctl --user restart pipewire  
 or   
sudo reboot

This will provide the necessary codecs, and you should be able to use aptX with your Bluetooth devices when connected to your Ubuntu system.

Peguei via ia.

Veja se está correto os repositórios.

Esse pacote já está instalado, eu já segui esse passo a passo antes

Depois de muito tempo, eu consegui restaurar os perfis,era um package que eu havia instalado que estava conflitando com o wireplumber.

Olhando o systemctl do pipewire, me chamou atenção que ele dá um erro que eu não consigo localizar a fonte:

❯ systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Fri 2025-06-27 09:53:19 -03; 14min ago
 Invocation: f11d50d5dcf14478910cc19a6bdb0678
TriggeredBy: ● pipewire.socket
   Main PID: 1753 (pipewire)
      Tasks: 3 (limit: 18845)
     Memory: 19.9M (peak: 25M)
        CPU: 2.047s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1753 /usr/bin/pipewire

jun 27 10:03:52 jose-ms7c52 pipewire[1753]: pw.node: (-87) xrun state:0x741177379008 pending:2/2 s:643681762547 a:643676460649 f:643676462643 waiting:18446744073704249718 process:1994 status:triggered (0 suppressed)
jun 27 10:04:10 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) graph xrun not-triggered (12 suppressed)
jun 27 10:04:10 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) xrun state:0x7411778a7008 pending:14/15 s:659361851138 a:659361947640 f:659361948862 waiting:96502 process:1222 status:triggered
jun 27 10:05:11 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) graph xrun not-triggered (0 suppressed)
jun 27 10:05:11 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) xrun state:0x7411778a7008 pending:14/15 s:683815811307 a:683815902091 f:683815903353 waiting:90784 process:1262 status:triggered
jun 27 10:05:16 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) graph xrun not-triggered (1 suppressed)
jun 27 10:05:16 jose-ms7c52 pipewire[1753]: pw.node: (Dummy-Driver-30) xrun state:0x7411778a7008 pending:14/15 s:723595703199 a:723595805886 f:723595806868 waiting:102687 process:982 status:triggered
jun 27 10:07:52 jose-ms7c52 pipewire[1753]: pw.node: (bluez_input_internal.84_AC_60_2F_A9_4C.0-169) running -> error (Received error event)
jun 27 10:07:52 jose-ms7c52 pipewire[1753]: pw.node: (bluez_output.84_AC_60_2F_A9_4C.1-134) suspended -> error (Received error event)
jun 27 10:07:52 jose-ms7c52 pipewire[1753]: pw.link: 0x5cb49f693210: one of the nodes is in error out:error in:suspended

Ok.

Se resolveu, coloque como solucionado.

:+1:

E informe o pacote que deu problema.

Não resolveu, o problema inicial continua não solucionado.

Quando mudo para o perfil HSP/HFP, não tenho som e o microfone não funciona, me impedindo de fazer chamadas.

Edit: o pacote que havia dado conflito era o pulseaudio-utils

Por desencargo de consiência, eu tirei o escorpião do bolso e comprei um outro dongle bluetooth (Tp-Link UB500) e ele funcionou!

O dongle anterior era um Kapabom KA-1188, uma porcaria rs

2 curtidas

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.