Bluetooth не працює після відновлення зі сну, Ubuntu 18.04 LTS


27

Навушники 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

1
У мене те саме питання із динаміком JBL Go та новою установкою 18.04. Нічого подібного до перезавантаження bluetooth.serviceабо видалення btusbмодуля та його повторного встановлення знову не працювало. Довелося перезавантажуватися .
solsTiCe

У мене така ж проблема, коли кожного разу після відновлення в режимі сну є шанс ubuntu діяти так, що Bluetooth взагалі немає (отже, чому перезапуск служби не працює). Сон і відновлення знову вирішує це іноді.
Freguglia

@ K7AAY чомусь сплячий не працює взагалі, тому я не можу це перевірити.
Нікіл Садасіван

Будь ласка, відредагуйте, щоб включити результати з терміналу дляlsusb
Jeremy31

Тут же проблема. Мені доведеться перезавантажувати систему, щоб знов працювати динаміки.
користувач1945827

Відповіді:


27

оновити 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, слід змінити вихід ("soft заблоковано: так" для BT вимкнено через меню), але це не відбувається. Я здогадуюсь, що аплет пам'ятає неправильний ідентифікатор пристрою і, таким чином, намагається включити пристрій, якого більше не існує.


1
Просто оновлення пакету bluez зробило це для мене, дякую!
Нікхіл Садасіван

Ті ж оновлення bluez спрацювали як шарм!
Санкет Катта

1
Оновлення: воно працювало лише протягом 1 циклу сну. Однак після декількох я повертаюся до тієї ж проблеми.
Санкет Катта

Якщо помилку вже не виправлено оновленням, оновлення bluez працювало для мене.
користувач1945827

Використання аплета blueman ( sudo apt install blueman) та оновленого bluez (від ppa) для мене добре працює.
Марк

4

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

sudo service bluetooth restart

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


2

Спробуйте в терміналі (корінь не потрібен)

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

Це може бути пов’язано з помилкою в gnome-control-center. Не впевнений. Я знайшов це, щоб вирішити цю помилку, і може бути і вашим.


На жаль, це не вирішує проблему для мене. Дякуємо, що поділилися!
Нікіл Садасіван

2

Я бігаю 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

1

Це те, що я зробив, щоб він працював 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

1
Використання chmod + x було б більш безпечним рішенням, якщо ви просто хочете зробити це виконуваним файлом. Це дозволить будь-якому користувачеві в системі запустити що-небудь як root, просто замінивши вміст цього файлу.
Стів Макколі

після збереження цього сценарію мій Dell XPS (18.04lts) не вийде спати. схоже, він лягає спати, а 2 сек пізніше прокидається, і все.
бритва

Не chmod 777 ніколи. Якщо ви точно не знаєте, що робите. Ви повинні обернути цей сценарій, case $1 in post)щоб він запускався лише після пробудження. Також сценарій не потрібен у сценарії.
Лоран



0

У моєму випадку laptop-mode-toolsвинуватець:

$ sudo apt видалити інструменти для режиму ноутбука


Будь ласка, не публікуйте однакову відповідь у багатьох публікаціях. Натомість, якщо публікації досить схожі між собою, позначте інші публікації як дублікати одного з інших. Просто розмістити одну й ту ж відповідь на кілька запитань дуже шумно.
Thomas Ward
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.