Bluetooth não funciona após sair do modo de suspensão, Ubuntu 18.04 LTS

27

Os fones de ouvido Bluetooth funcionam bem até dormir. Depois de retomar o sono, eles parecem se conectar por um breve momento antes de desconectar. No blueman, o erro fornecido é Recurso temporariamente indisponível. Esse problema surgiu somente após a atualização para o 18.04 LTS.

Aqui está a saída do terminal para lsusb:

Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 1bcf:0002 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 04f2:b477 Chicony Electronics Co., Ltd 
Bus 002 Device 002: ID 0a5c:21f1 Broadcom Corp. HP Portable Bumble Bee
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Nikhil Sadasivan
fonte
1
Eu tenho o mesmo problema com o alto-falante JBL Go e uma nova instalação do 18.04. Nada como reiniciar bluetooth.serviceou remover o btusbmódulo e reinseri-lo novamente funcionou. Eu tive que reiniciar .
SolsTiCe
Eu tenho o mesmo problema, sempre que sair do modo de suspensão, há uma chance de o ubuntu agir como se não houvesse bluetooth (portanto, por que reiniciar o serviço não funciona). Dormir e retomar novamente às vezes resolve.
Freguglia
@ K7AAY por algum motivo, o hibernate não funciona, então não posso verificar isso.
Nikhil Sadasivan
Por favor, edite para incluir resultados do terminal paralsusb
Jeremy31 /
Mesmo problema aqui. Tenho que reiniciar para que os alto-falantes funcionem novamente.
User1945827

Respostas:

27

atualize o bluez para> = 5.28.2

O 18.04 vem com um pacote de buggy bluez por enquanto; A versão mais recente está disponível neste PPA: https://launchpad.net/~bluetooth/+archive/ubuntu/bluez :

sudo add-apt-repository ppa:bluetooth/bluez
sudo apt install bluez

solução alternativa para o miniaplicativo Bluetooth com erros (específico do Unity?)

Este é provavelmente o problema mencionado pelo solstício - o miniaplicativo de menu BT não me permite ativar o Bluetooth depois de voltar do modo de suspensão. Não importa se a chave seletora está desligada ou ligada, o ícone BT está desativado e a saída rfkill não muda:

$ rfkill list
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
12: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

Você pode alternar manualmente o BT executando (substitua seu próprio ID):

rfkill block 12
rfkill unblock 12

e o applet BT deve buscá-lo corretamente agora. Neste ponto, você deve conseguir se conectar aos seus dispositivos. Por enquanto, eu o hackeei usando um script que faz isso automaticamente após o resumo:

$ cat /lib/systemd/system-sleep/bt
#!/bin/sh

case $1 in
  post)
    sleep 5
    rfkill block `rfkill list | grep hci | cut -d: -f1`
    sleep 1
    rfkill unblock `rfkill list | grep hci | cut -d: -f1`
    ;;
esac

O número de ID ao lado de hci0 na saída da lista rfkill parece aumentar após cada suspensão / retomada. Desativar / ativar o BT usando o menu BT deve alterar a saída ('soft bloqueado: sim' para o BT desativado via menu), mas não o faz. Meu palpite é que o applet se lembra do ID do dispositivo errado e, portanto, está tentando habilitar um dispositivo que não existe mais.

lubomir.brindza
fonte
1
A atualização do pacote bluez fez isso por mim, obrigado!
Nikhil Sadasivan
A mesma atualização bluez funcionou como um encanto!
Sanketh Katta 18/05/19
1
Atualização: funcionou apenas por 1 ciclo de sono. No entanto, após vários, estou de volta ao mesmo problema.
Sanketh Katta 18/05/19
A menos que o bug já tenha sido corrigido por uma atualização, a atualização bluez funcionou para mim.
User1945827 19/0518
O uso do applet blueman ( sudo apt install blueman) e bluez atualizado (do ppa) está funcionando bem para mim.
Mark
4

Para mim, esse problema pode ser resolvido executando

sudo service bluetooth restart

depois de acordar do sono

trts
fonte
2

Tente em um terminal (nenhuma raiz é necessária)

btnum=`rfkill list|grep hci0| cut -f 1 -d ':'`
rfkill block $btnum
rfkill unblock $btnum

Isso pode estar relacionado a um bug no gnome-control-center. Não tenho certeza. Eu descobri que isso funcionava com o referido bug e pode ser seu também.

solstício
fonte
Infelizmente, isso não resolve o problema para mim. Obrigado por compartilhar!
Nikhil Sadasivan
2

Eu executo 19.04 e tenho esse problema. Eu tenho um mouse BT, então é realmente irritante.

Para uma resposta melhorada do @hinxnz:

Abra um novo arquivo:

sudo nano /lib/systemd/system-sleep/bt

Cole neste script:

#!/bin/sh

case $1 in
  post)
    modprobe -r btusb
    sleep 1
    service bluetooth restart
    sleep 1
    modprobe btusb
    ;;
esac

Um finalmente torná-lo executável

chmod +x /lib/systemd/system-sleep/bt
Laurent
fonte
1

Isto é o que eu fiz para fazê-lo funcionar em 18.04 LTS

Bluetooth atualizado:

sudo add-apt-repository ppa:bluetooth/bluez
sudo apt install bluez

Crie um novo arquivo:

sudo nano /lib/systemd/system-sleep/bt

Escreva e salve:

#!/bin/sh

sudo modprobe -r btusb
sleep 1
sudo service bluetooth restart
sleep 1
sudo modprobe btusb

Permissões alteradas:

sudo chmod 777 /lib/systemd/system-sleep/bt
hinxnz
fonte
1
Usar o chmod + x seria uma solução mais segura se você quiser apenas tornar esse executável. Fazer isso permitiria a qualquer usuário no sistema executar qualquer coisa como root apenas substituindo o conteúdo desse arquivo.
Steeve McCauley 29/03
Depois de salvar esse script, meu Dell XPS (18.04lts) não entra no modo de suspensão. parece que vai dormir e 2 segundos depois acorda, e é isso.
razor
Não chmod 777, nunca. A menos que você saiba exatamente o que está fazendo. Você deve agrupar esse script case $1 in post)para que ele seja executado somente após a ativação. Também sudo não é necessário no script.
Laurent
0

Com base nesta resposta , para pulseaudio e Ubuntu 18

sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
surfealokesea
fonte
0

No meu caso, laptop-mode-toolsfoi o culpado:

$ sudo apt remove laptop-mode-tools

Kolypto
fonte
Por favor, não publique a mesma resposta em muitas postagens. Em vez disso, se as postagens forem semelhantes o suficiente, sinalize as outras postagens como duplicatas de uma das outras. Simplesmente reposicionar a mesma resposta para várias perguntas é muito barulhento.
Thomas Ward