GNU/Linux >> Linux の 問題 >  >> Ubuntu

スリープから再開した後、Bluetoothが機能しない、Ubuntu 18.04 Lts?

Bluetoothイヤホンは寝るまで正常に動作します。ただし、スリープから再開した後、切断する前に少しの間接続しているように見えます。ブルーマンでは、与えられたエラーは一時的にリソースを利用できません。この問題は、18.04LTSに更新した後にのみ発生しました。

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

ベストアンサー

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を手動で切り替えるには、次を実行します(独自のIDに置き換えます):

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

rfkillリスト出力のhci0の横にあるID番号は、サスペンド/レジュームのたびに増加するようです。 BTメニューを使用してBTを無効化/有効化すると、出力が変更されます(メニューを介して無効化されたBTの場合は「ソフトブロック:はい」)が、変更されません。私の推測では、アプレットは間違ったデバイスIDを記憶しているため、存在しなくなったデバイスを有効にしようとしています。

関連:バックアップソフトウェアソース?
Ubuntu
  1. Ubuntu 20.04/21.10から22.04LTSにアップグレードする方法

  2. Debian –BluetoothはDebian10では機能しませんか?

  3. 13.10からUbuntu14.04にアップデートした後、サスペンドが機能しませんか?

  1. Ubuntu 14.04ソフトウェアセンターの同期が機能しませんか?

  2. Ubuntuはウェイク後にSDカードを読みませんか?

  3. Bluetoothの問題Ubuntu18.04Lts?

  1. Ubuntu18.04LTSでソースからBrotliをコンパイルする方法

  2. Ubuntu20.04からUbuntu22.04LTSにアップグレードする方法(ステップバイステップガイド)

  3. Ubuntu20.04LTSおよび21.10からUbuntu22.04LTSにアップグレードする方法