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 🙂
