Bluetoothイヤホンは、スリープするまで正常に動作します。ただし、スリープから復帰した後、接続を切断する前にしばらく接続しているように見えます。ブルーマンでは、指定されたエラーはリソースが一時的に利用不可です。この問題は、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
18.04には、現時点ではバグのあるbluezパッケージが付属しています。新しいバージョンはこのPPAから入手できます。 https://launchpad.net/~bluetooth/+archive/ubuntu/bluez :
Sudo add-apt-repository ppa:bluetooth/bluez
Sudo apt install bluez
これはおそらく@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を記憶しているため、もはや存在しないデバイスを有効にしようとしています。
私にとって、この問題は次のコマンドを実行することで解決できます。
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
ここで説明するように、bluezの新しいバージョンにアップグレードすると、接続後数秒でBluetooth接続が切断されるという別の問題が解決しました。 Ubuntu 18.04:Lenovo P50 に接続した直後にBluetoothデバイスが切断されます
この回答 に基づく、pulseaudioおよびUbuntu 18の場合
Sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover