Bluetooth не работает после выхода из спящего режима, Ubuntu 18.04 LTS

Bluetooth наушники работают нормально до сна. Однако после выхода из спящего режима они на короткое время подключаются, а затем отключаются. На blueman выдана ошибка: Ресурс временно недоступен. Эта проблема возникла только после обновления до 18.04 LTS.

Вот вывод терминала для 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

9 ответов

Решение

обновить bluez до> = 5.28.2

18.04 поставляется с багги пакетом bluez; более новая версия доступна из этого PPA: https://launchpad.net/~bluetooth/+archive/ubuntu/bluez:

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

Обходной путь для глючного апплета Bluetooth (для Unity?)

Вероятно, это упомянутая проблема @solstice - апплет меню BT не позволяет мне включить Bluetooth после выхода из спящего режима. Независимо от того, выключен тумблер или выключен, значок BT отключен, и вывод rfkill не изменяется:

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

Вы можете переключать BT вручную, запустив (замените свой собственный идентификатор):

rfkill block 12
rfkill unblock 12

и BT-апплет должен правильно его поднять. На этом этапе вы сможете подключиться к своим устройствам. Сейчас я взломал его вместе, используя скрипт, который делает это автоматически после возобновления:

$ 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

Идентификационный номер рядом с hci0 в выводе списка rfkill, похоже, увеличивается после каждого приостановления / возобновления. Отключение / включение BT с помощью меню BT должно изменить выход ("программно заблокировано: да" для BT, отключенного через меню), но это не так. Я предполагаю, что апплет запоминает неправильный идентификатор устройства и, таким образом, пытается включить устройство, которое больше не существует.

Для меня эту проблему можно решить, запустив

sudo service bluetooth restart

после пробуждения

Я бегу 19.04 и имею эту проблему. У меня есть мышь BT, так что это действительно раздражает.

На расширенный ответ @hinxnz:

Откройте новый файл:

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

Вставьте в этот скрипт:

#!/bin/sh

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

И, наконец, сделать его исполняемым

chmod +x /lib/systemd/system-sleep/bt

Попробуй в терминале (рут не нужен)

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

Это может быть связано с ошибкой в ​​gnome-control-center. Точно сказать не могу. Я нашел это, чтобы обойти эту ошибку и может быть вашим тоже.

Это то, что я сделал, чтобы заставить его работать на 18.04 LTS

Обновлен Bluetooth:

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

Создать новый файл:

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

Написать и сохранить:

#!/bin/sh

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

Изменены разрешения:

sudo chmod 777 /lib/systemd/system-sleep/bt

Мне помогла замена адаптера bluetooth на другой USB-порт. Через мгновение после пробуждения я услышал, что гарнитура отключилась. Мой USB на передней панели имеет короткое время отключения питания во время пробуждения, а также отключает и удаляет устройства.

Основываясь на этом ответе, для pulseaudio & Ubuntu 18

sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover

Решение о переходе на более новую версию bluez решило еще одну проблему для меня - отключение Bluetooth-соединения через несколько секунд после подключения, как описано здесь: Ubuntu 18.04: Bluetooth-устройство отключается сразу после подключения на Lenovo P50

В моем случае, laptop-mode-tools был виновником

$ sudo apt удалить инструменты для ноутбука

Другие вопросы по тегам