スリープから復帰した後、Bluetoothが機能しない、Ubuntu 18.04 LTS


27

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

1
JBL Goスピーカーにも同じ問題があり、18.04の新規インストールがあります。モジュールを再起動bluetooth.serviceまたは削除しbtusbて、再び挿入することは機能しませんでした。私がしなければならなかったのリブート
solsTiCe

私は同じ問題を抱えており、スリープから再開するたびに、Bluetoothがまったくないようにubuntuが動作する可能性があります(そのため、サービスの再起動が機能しない理由)。寝て再開すると、時々それが解決します。
フレグリア

何らかの理由で@ K7AAYは休止状態がまったく機能しないため、確認できません。
ニキルサダシヴァン

ターミナルからの結果を含めるように編集してくださいlsusb
Jeremy31

ここで同じ問題。スピーカーを再び動作させるには、再起動する必要があります。
user1945827

回答:


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を手動で切り替えることができます(独自の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を記憶しているため、もはや存在しないデバイスを有効にしようとしています。


1
bluezパッケージを更新するだけでそれができました、ありがとう!
ニキルサダシヴァン

同じ更新bluezは魅力のように働いた!
サンケスカッタ

1
更新:1スリープサイクルでのみ機能しました。しかし、複数回行った後、私は同じ問題に戻りました。
サンキースカッタ

バグが既に更新によって修正されていない限り、bluezの更新はうまくいきました。
user1945827

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を使用する方が安全です。これを行うと、このファイルの内容を置き換えるだけで、システム上のすべてのユーザーがルートとして何でも実行できます。
スティーブマッコーリー

このスクリプトを保存した後、Dell XPS(18.04lts)はスリープ状態になりません。スリープ状態になり、2秒後に起動するように見えますが、それだけです。
カミソリ

777をchmodしないでください。何をしているのか正確にわからない限り。このスクリプトはcase $1 in post)、ウェイクアップ後にのみ実行されるようにラップする必要があります。また、スクリプトではsudoは必要ありません。
ローラン



0

私の場合、laptop-mode-tools犯人は次のとおりです。

$ sudo apt remove laptop-mode-tools


多くの投稿に同じ回答を投稿しないでください。代わりに、投稿が互いに十分に類似している場合は、他の投稿のいずれかの複製として他の投稿にフラグを付けます。同じ答えを複数の質問に単純に再投稿するのは非常に騒がしいです。
トーマスウォード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.