Raspberry Pi Zero 2 Wで以前、bluetooth ヘッドフォンを接続していたが、10→11にアップデートしてからは、接続が安定しない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
noizumi@rx7pi:~ $ sudo systemctl status bluetooth.service ● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-08-20 13:43:22 JST; 6min ago Docs: man:bluetoothd(8) Main PID: 1271 (bluetoothd) Status: "Running" Tasks: 1 (limit: 407) CPU: 647ms CGroup: /system.slice/bluetooth.service └─1271 /usr/libexec/bluetooth/bluetoothd 8月 20 13:43:22 rx7pi bluetoothd[1271]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed. 8月 20 13:43:22 rx7pi bluetoothd[1271]: sap-server: Operation not permitted (1) 8月 20 13:43:22 rx7pi bluetoothd[1271]: Failed to set privacy: Rejected (0x0b) 8月 20 13:43:22 rx7pi bluetoothd[1271]: Endpoint registered: sender=:1.71 path=/MediaEndpoint/A2DPSink/sbc 8月 20 13:43:22 rx7pi bluetoothd[1271]: Endpoint registered: sender=:1.71 path=/MediaEndpoint/A2DPSource/sbc 8月 20 13:43:22 rx7pi bluetoothd[1271]: Set device flags return status: Invalid Parameters 8月 20 13:43:30 rx7pi bluetoothd[1271]: Endpoint registered: sender=:1.99 path=/MediaEndpoint/A2DPSink/sbc 8月 20 13:43:30 rx7pi bluetoothd[1271]: Endpoint registered: sender=:1.99 path=/MediaEndpoint/A2DPSource/sbc 8月 20 13:43:30 rx7pi bluetoothd[1271]: src/profile.c:ext_start_servers() RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98) 8月 20 13:43:30 rx7pi bluetoothd[1271]: src/profile.c:ext_start_servers() RFCOMM server failed for Headset unit: rfcomm_bind: Address already in use (98) |
そういや、10の時に、sap server がどーたらで何か設定を変更した憶えがある。
次のページに解決法が書いてあったので実施。
情報源: Raspberry Pi 4のBluetoothから音を鳴らす呪い | hixの日記 | スラド
1 |
noizumi@rx7pi:~ $ sudo systemctl edit --full bluetooth.service |
1 2 |
#ExecStart=/usr/libexec/bluetooth/bluetoothd ExecStart=/usr/libexec/bluetooth/bluetoothd --noplugin=sap |
確か前にこういう設定をした憶えがあったけど、このブログに記録がねーんだよなあ。
1 2 |
noizumi@rx7pi:~ $ sudo systemctl daemon-reload noizumi@rx7pi:~ $ sudo systemctl restart bluetooth.service |
bluetoothd を再起動して、接続テストしたら、切断されず、接続が維持できた。
bluetooth ヘッドフォンの接続をトリガーに、rx7pi の動体検知や、GPSの位置チェックを止めるという処理をしていたが、これで万事OK 🙂