GNU/Linux >> Znalost Linux >  >> Ubuntu

Bluetooth po obnovení z režimu spánku nefunguje, Ubuntu 18,04 Lts?

Bluetooth sluchátka fungují dobře až do spánku. Po obnovení z režimu spánku se však zdá, že se na krátkou chvíli připojily, než se odpojily. Na blueman je uvedena chyba Resource dočasně nedostupný. Tento problém nastal až po aktualizaci na 18.04 LTS.

Zde je výstup terminálu pro 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

Nejlepší odpověď

aktualizovat bluez na>=5.28.2

18.04 se prozatím dodává s buggy bluez balíčkem; novější verze je k dispozici z tohoto PPA:https://launchpad.net/~bluetooth/+archive/ubuntu/bluez:

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

řešení pro chybný aplet Bluetooth (specifický pro Unity?)

Toto je pravděpodobně problém, o kterém se zmiňuje @solstice – aplet nabídky BT mi neumožňuje povolit Bluetooth po obnovení z režimu spánku. Bez ohledu na to, zda je přepínač vypnutý nebo zapnutý, ikona BT je deaktivována a výstup rfkill se nezmění:

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

BT můžete přepnout ručně spuštěním (nahraďte své vlastní ID):

rfkill block 12
rfkill unblock 12

a applet BT by to měl nyní správně vybrat. V tomto okamžiku byste měli být schopni se připojit ke svým zařízením. Prozatím jsem to hacknul pomocí skriptu, který to dělá automaticky po obnovení:

$ 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

Zdá se, že ID číslo vedle hci0 ve výstupu seznamu rfkill se zvyšuje po každém pozastavení/obnovení. Zakázání/povolení BT pomocí nabídky BT by mělo změnit výstup (‚měkké blokováno:ano‘ pro BT zakázáno prostřednictvím nabídky), ale ne. Můj odhad je, že si aplet pamatuje nesprávné ID zařízení, a tak se pokouší aktivovat zařízení, které již neexistuje.

Související:Zálohování zdrojů softwaru?
Ubuntu
  1. Jak zkompilovat Brotli ze zdroje na Ubuntu 18.04 LTS

  2. Jak upgradovat z Ubuntu 20.04/21.10 na 22.04 LTS

  3. Debian – Bluetooth nefunguje v Debianu 10?

  1. Synchronizace softwarového centra Ubuntu 14.04 nefunguje?

  2. Ubuntu nečte SD kartu po probuzení?

  3. Problém s Bluetooth Ubuntu 18.04 Lts?

  1. Jak upgradovat z Ubuntu 20.04 na Ubuntu 22.04 LTS (průvodce krok za krokem)

  2. Jak upgradovat na Ubuntu 22.04 LTS z Ubuntu 20.04 LTS a 21.10

  3. Co dělat po instalaci Ubuntu 16.04 LTS