Ubuntu24.04で下記の設定でBluetooth接続していても、syslogに wireplumber で error 24 のログが出て Bluetoothの再接続が発生すると、接続が SUSPEND になってしまいます。
Ubuntu24.04でcron等のログインシェルでは無い環境からBluetooth再生する | パソコン鳥のブログUbuntu24.04でBluetooth接続が切れる場合の対処 | パソコン鳥のブログ
この再接続は、どうもBluetoothプロトコルの L2CAP のバグで、回避策も無さそうなので修正を待たなくてはいけないです。
この現象発生時でもBluetooth再生すると SUSPEND から IDEL状態になり、以降はアイドル状態が維持されます。
そこで、以降の方法で、syslog を監視し、モジュール wireplumber で error 24 のログが出たら無音音声を再生するようにさせます。無音音声の再生で、接続をアイドル状態にできます。
次の内容でスクリプト wireplumber_error24.sh を作成します。
#!/bin/bash
tail -F /var/log/syslog | grep --line-buffered -iE "wireplumber.*error 24" | while read -r line; do
XDG_RUNTIME_DIR=/run/user/$(id -u) mplayer nosound.wav
done
実行権限をつけます
chmod +x wireplumber_error24.sh
スクリプト中の nosound.wav は無音音声ファイルです。次の箇所からダウンロードして、wireplumber_error24.sh と同じ場所に置いてください。
https://pcvogel.sarakura.net/pub/files/nosound.wav
cronで次のように書きます。システム起動時に、wireplumber_error24.sh が実行されるようになります。
@reboot ./wireplumber_error24.sh
再起動後は、wireplumber で error 24 のエラーでBluetooth再接続が発生しても、すぐ接続がアイドル状態になるようになります。
コメント