suspend 後に bluetooth デバイスを再ロードする

2021-04-11
Ubuntu

Linux デスクトップを Focal (20.04) にアップグレードしたところ、今まで出来なかった suspend が出来るようになりました。とても嬉しいのですが、一つ問題がありまして、 bluetooth デバイスが未接続状態になってしまうため、入出力機器が使えなくなってしまいます。バグっぽいのですが、とりあえずのワークアラウンドを見つけたので共有。

解決策

suspend から復帰したあと、bluetooth を強制再起動します。

1
2
$ sudo vi /lib/systemd/system-sleep/bt
$ sudo chmod +x /lib/systemd/system-sleep/bt

中身

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

case $1 in
post)
modprobe -r btusb
sleep 1
service bluetooth restart
sleep 1
modprobe btusb
;;
esac

このやり方を真似すれば、suspend から復帰した時の大半の不具合には対応できそう。

参考にした情報

Bluetooth doesn’t work after resuming from sleep, Ubuntu 18.04 LTS - Ask Ubuntu