Se você usa ou acabou de migrar para o ambiente linux, especialmente nas distros Ubuntu ou Mint, derivados do Debian, você pode encontrar problemas com o microfone do seu headset bluetooth.

Especialmente agora durante a pandemia, as famosas call (videoconferência) fazem cada vez mais parte do nosso cotidiano. Então você resolveu comprar aquele fone bluetooth bacana pra usar e quando conectou o seu microfone não funcionou? Não se preocupe, existe uma maneira de conseguir fazer o microfone do seu headset bluetooth funcionar no linux.

Esse tutorial foi testado com fones da JBL e Air Pods, mas ele deverá funcionar para a maioria dos casos.

Ativando o microfone do headset bluetooth

Para que o headset consiga funcionar corretamente com o microfone, você precisará habilitar o perfil de áudio HSP/HFP. Porém, por padrão, o pulseaudio (servidor de som embarcado nessas distribuições do linux) só oferece suporte para o HSP. Para fazer o HSP/HFP funcionar, precisamos habilitar o HFP no pulseaudio e para isso vamos utilizar o serviço ofono.

1. Instale o ofono

$ sudo apt install ofono

2. Configure o pulseaudio para usar o ofono
Edite o arquivo /etc/pulse/default.pa , encontre a linha load-module module-bluetooth-discover e mude para load-module module-bluetooth-discover headset=ofono

3. Adicione o usuário pulse ao grupo bluetooth para que ele tenha as permissões necessárias

$ sudo usermod -aG bluetooth pulse

4. Edite e adicione as permissões no arquivo /etc/dbus-1/system.d/ofono.conf adicione o código abaixo logo antes do fechamento </busconfig>

<policy user="pulse">
    <allow send_destination="org.ofono"/>
</policy>

5. Para fazer o ofono funcionar é necessário fornecer um modem para ele. E para isso vamos instalar um emulador de modem chamado phonesim que será implementado pelo ofono para funcionar. Instale o ofono-phonesim:

$ sudo add-apt-repository ppa:smoser/bluetooth
$ sudo apt-get update
$ sudo apt-get install ofono-phonesim

6. Configure o phonesim adicionando as seguintes linhas no arquivo /etc/ofono/phonesim.conf

[phonesim]
Driver=phonesim
Address=127.0.0.1
Port=12345

Agora, reinicie o serviço ofono:

$ sudo systemctl restart ofono.service

7. Agora precisamos definir e habilitar alguns serviços para iniciar o ofono-phonesim como serviço.

Para executar ofono-phonesim -p 12345 /usr/share/phonesim/default.xml na inicialização do sistema, crie como root o arquivo /etc/systemd/system/ofono-phonesim.service com o seguinte conteúdo:

[Unit]
Description=Run ofono-phonesim in the background

[Service]
ExecStart=ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
Type=simple
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Depois que o ofono-phonesim for executado, você também precisará habilitar e colocar o modem phonesim online.

Para isso vamos usar o código de um repositório git:

$ cd /tmp
$ git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git
$ sudo mv ofono /opt/

Agora você pode habilitar e tornar o modem phonesim online criando outro serviço do que depende do serviço ofono-phonesim.Novamente, crie um novo arquivo de serviço como root o arquivo em /etc/systemd/system/phonesim-enable-modem.service e coloque o seguinte conteúdo:

[Unit]
Description=Enable and online phonesim modem
Requires=ofono-phonesim.service

[Service]
ExecStart=/opt/ofono/test/enable-modem /phonesim
ExecStart=/opt/ofono/test/online-modem /phonesim
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Em seguida, execute os seguintes comandos para habilitar e executar os dois daemons:

$ sudo systemctl daemon-reload
$ sudo systemctl enable ofono-phonesim.service
$ sudo systemctl enable phonesim-enable-modem.service
$ sudo service phonesim-enable-modem start

Verifique se tudo ocorreu como esperado e se o serviço está sendo executado:

$ sudo service phonesim-enable-modem status

8. Por fim, reinicie o pulseuadio:

$ pulseaudio -k.

Agora você já deve conseguir enxergar o seu headset como dispositivo de input na parte de configuração de som. Existe uma certa instabilidade nesse setup, de vez em quando pode ser que o seu fone de uma desconfigurada ou a troca de perfil de áudio não funcione, quando isso ocorrer, reinicie os serviços como descrito acima e também o pulseaudio.

4.6 9 votos
Nota do Artigo
Subscribe
Notify of
guest

22 Comentários
newest
oldest most voted
Inline Feedbacks
View all comments
Matheus Machado
Matheus Machado
10 meses atrás

Olá pessoal, fiz todo procedimento, inclusive, verifiquei se a adição da linha em /etc/dbus-1/system.d/ofono.conf está antes do fechamento da TAG, e está tudo certo. Reiniciando todos os serviços, ainda sim não aparece. Por padrão ele sempre aparece os dois modos de entrada (A2DP) e (HSP/HFP), e alterando para o HFP o dispositivo de entrada não altera, aparecendo apenas o microfone embutido do notebook, meu Fone é um JBL 701 BT e estou usando o Ubuntu 20.04.6 LTS

Matheus Machado
Matheus Machado
10 meses atrás

Olá pessoal, fiz todo procedimento, inclusive, verifiquei se a adição da linha em /etc/dbus-1/system.d/ofono.conf está antes do fechamento da TAG, e está tudo certo. Reiniciando todos os serviços, ainda sim não aparece. Por padrão ele sempre aparece os dois modos de entrada (A2DP) e (HSP/HFP), e alterando para o HFP o dispositivo de entrada não altera, aparecendo apenas o microfone embutido do notebook, meu Fone é um JBL 701 BT

Tony
1 ano atrás

Então. Funcionou. Ubuntu 22.04.
Mas precisa escolher entre ouvir áudio bom ou funcionar o microfone.
Pro som ficar bom tem que usar A2DP, mas com A2DP não funciona mic.
Já com HSP/HSF funciona o mic, mas a qualidade eh horrível do som (de ouvir)

Algum workaround pra isso?

lourivan
lourivan
Reply to  Tony
1 ano atrás

onde vc encontrou o ofono-phone ? adicionando o ppa dele nao consigo instalar.

Tony
1 ano atrás

Então. Funcionou. Ubuntu 22.04.
Mas precisa escolher entre ouvir áudio bom ou funcionar o microfone.

Pro som ficar bom tem que usar A2DP, mas com A2DP não funciona mic.

Já com HSP/HSF funciona o mic, mas a qualidade eh horrível do som (de ouvir)

Rana
Rana
1 ano atrás

Não entendi o passo 2, onde está esse arquivo??

Alexandre
Alexandre
2 anos atrás

Cara, não apenas não funcionou no Pop OS! 21.10, como agora o som não vai nem pro HDMI mais ):

Nuvem Carregada
2 anos atrás

Muito obrigado por esse Post !!!!!
Fiz aqui no Mint 20.2
E meu Headset Anker Soundcore Q30 agora funciona perfeitamente

phono.png
Junior Lima
Junior Lima
2 anos atrás

Olá, estou com tendo problema com meu JBL Tune 500. Uso ubuntu 20.04. tentando resolver usando esse procedimento, mas não conisgo intalar o pacote ofono, aparece a seguinte mensagem: E: Impossível encontrar o pacote ofono

Wilson
2 anos atrás

Muito bom, funcionou legal, usei uma caixinha de som bluetooth, só faltou mostrar a porcentagem de bateria dela como já vi em outros sistemas.

Jean H S Arouck
Jean H S Arouck
2 anos atrás

fiz a instalação eu o microfone foi reconhecido, porém ao usá-lo não consigo manter no modo de alta fidelidade A2DP. Alguém sabe como resolver?

wendell
wendell
Reply to  Jean H S Arouck
2 anos atrás

O perfil A2DP não permite entrada de audio. Não é um problema e sim uma caracteristica dele pra manter a alta qualidade do audio

Julio Damato
Julio Damato
2 anos atrás

Uso o mint 18.04. Executei a instalação deste artigo, porém não funcionou e ainda impediu a instalação antiga de som de funcionar. Fiz o retorno aos parâmetros antigos e consegui retornar o funcionamento.

Last edited 2 anos atrás by Julio Damato
João Mello
João Mello
2 anos atrás

Na configuração do som já tem HSP/HFP, mudo para ela mas não fica. Ubuntu 20.04
Job for phonesim-enable-modem.service failed because the control process exited with error code.

phonesim-enable-modem.service – Enable and online phonesim modem
   Loaded: loaded (/etc/systemd/system/phonesim-enable-modem.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2021-05-04 16:12:16 -03; 42s ago
  Process: 4342 ExecStart=/opt/ofono/test/enable-modem /phonesim (code=exited, status=1/FAILURE)
  Main PID: 4342 (code=exited, status=1/FAILURE)

Pedro
Pedro
Reply to  João Mello
2 anos atrás

Deu o mesmo erro aqui pra mim, porém fechei e abri o terminal, e rodei novamente os seguintes comandos e funcionou:

$ sudo systemctl daemon-reload
$ sudo systemctl enable ofono-phonesim.service
$ sudo systemctl enable phonesim-enable-modem.service
$ sudo service phonesim-enable-modem start
fabio
fabio
Reply to  Pedro
1 ano atrás

Funcionou no ubunto 20.04 após esses comandos

Matheus Machado
Matheus Machado
Reply to  Pedro
10 meses atrás

Olá pessoal, fiz todo procedimento, inclusive, verifiquei se a adição da linha em /etc/dbus-1/system.d/ofono.conf está antes do fechamento da TAG, e está tudo certo. Reiniciando todos os serviços, ainda sim não aparece. Por padrão ele sempre aparece os dois modos de entrada (A2DP) e (HSP/HFP), e alterando para o HFP o dispositivo de entrada não altera, aparecendo apenas o microfone embutido do notebook, meu Fone é um JBL 701 BT e estou usando o Ubuntu 20.04.6 LTS

Ezequiel
Ezequiel
Reply to  João Mello
2 anos atrás

Deu o mesmo erro :/

Tiago
Tiago
Reply to  Ezequiel
1 ano atrás

to com o mesmo erro ai…

Caio
Caio
Reply to  João Mello
1 ano atrás

Pessoas podem estar tendo problemas aqui

<

policy

user

=

"pulse"

>
    

<

allow

send_destination

=

"org.ofono"

/>
</

policy

>

tem que colocar antes do fechamento da tag </busconfig>
na leitura do tutorial passa a impressão que é depois da tag, mas o correto é dentro. ficando assim

<code><policy user="pulse"></code>

   <allow send_destination=”org.ofono”/>
</policy>
</busconfig>

22
0
Would love your thoughts, please comment.x