You are not logged in.
Hello,
I have bought a bluetooth adapter to make that server a "bluetooth speaker". Using the configuration below and bluetoothctl and the KDE Plasma bluetooth GUI I could pair phones and play audio. Even playing sound from two phones simultaneously worked (which was a nice surprise). This case is important because it can happen that one device owner forgets to disable bluetooth and it could play a notification sound or something, while the other is still playing music.
So the problem is with one specific device. A Google Pixel 8 with GrapheneOS on it (my main phone unfortunately). This all might be a problem of this device but a commercial Bose bluetooth speaker worked fine on it, so I'm not sure if I have made a mistake in my configuration on the PC or if the Pixel 8 is wonky.
- Pixel 3a: Working
- Samsung Galaxy Tab S6 Lite: Working
- Pixel 8: only works if server initiates connection. See more below
Here's the bluetooth daemon's configuration on the server:
### /etc/bluetooth/main.conf
# This will show a nice 'speaker icon' on your phone/tablet
# Sometimes bluez override this, you can disable it by starting bluetoothd with `-P hostname`
Class = 0x000414
# Make your PC always discoverable
DiscoverableTimeout = 0
# Make your PC always pairable
PairableTimeout = 0
### /etc/bluetooth/audio.conf
[General]
Enable=Source,Sink,Media,Socket This is what happens in bluetoothctl when the Pixel 8 connects and starts to play music. When the server initiates connection (very inconvenient) everything works fine. This is the case where it doesn't work. No audio, just logfiles spamming in a loop.
[CHG] Player /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/avrcp/player0 Track.Duration: 0x00074792 (477074)
[CHG] Player /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/avrcp/player0 Track.Album: Death Magnetic
[CHG] Player /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/avrcp/player0 Track.Artist: Metallica
[CHG] Player /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/avrcp/player0 Position: 0x0001e5f0 (124400)
[CHG] Player /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/avrcp/player0 Position: 0x0001e5f0 (124400)
[CHG] Transport /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/fd0 State: pending transport endpoint not found
... stuff repeating endlesslyhere's a snipped from adb logcat. there's thousands of lines, this is what looked relevant to me
04-25 13:24:11.775 27048 27076 I bluetooth-a2dp: system/btif/src/btif_a2dp.cc:55 btif_a2dp_on_started: ## ON A2DP STARTED ## peer xx:xx:xx:xx:60:27 p_av_start:0x900d744f19bdea0
04-25 13:24:11.775 27048 27076 I bluetooth-a2dp: system/btif/src/btif_a2dp.cc:69 btif_a2dp_on_started: peer xx:xx:xx:xx:60:27 status:0 suspending:false initiator:true
...
04-25 13:24:11.777 27048 27076 I bluetooth-a2dp: system/btif/src/btif_av.cc:2329 ProcessEvent: Peer xx:xx:xx:xx:60:27 : Stream started but reconfiguration pending. Reconfiguring stream
...
04-25 13:24:11.778 27048 27076 I bluetooth-a2dp: system/btif/src/btif_a2dp_source.cc:864 btif_a2dp_source_audio_tx_start_event: starting media encoder timer with interval 9ms
04-25 13:24:11.778 27048 27076 I bluetooth-a2dp: system/stack/a2dp/a2dp_vendor_aptx_hd_encoder.cc:202 aptx_hd_init_framing_params: sleep_time_ns=9000000
04-25 13:24:11.778 27048 27076 I bluetooth-a2dp: system/btif/src/btif_av.cc:2505 ProcessEvent: state=Started peer=xx:xx:xx:xx:60:27 event=BTIF_AV_RECONFIGURE_REQ_EVT(0x26) flags=0x10(PENDING_RECONFIGURE) active_peer=trueHere's bluez log at the moment when phone starts playback.
journalctl -f --lines=10000 -u bluetooth.service
Apr 25 14:01:10 pc bluetoothd[25132]: /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/fd2: fd(62) ready
Apr 25 14:01:10 pc bluetoothd[25132]: profiles/audio/avdtp.c:stream_rej_to_err() Too small packet for stream_rej
Apr 25 14:01:10 pc bluetoothd[25132]: profiles/audio/avdtp.c:session_cb() Unable to parse reject response
Apr 25 14:01:11 pc bluetoothd[25132]: /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/fd0: fd(62) ready
Apr 25 14:01:11 pc bluetoothd[25132]: profiles/audio/avdtp.c:stream_rej_to_err() Too small packet for stream_rej
Apr 25 14:01:11 pc bluetoothd[25132]: profiles/audio/avdtp.c:session_cb() Unable to parse reject response
Apr 25 14:01:13 pc bluetoothd[25132]: profiles/audio/avdtp.c:avdtp_parse_rej() START request rejected: Bad State (49)
Apr 25 14:01:14 pc bluetoothd[25132]: profiles/audio/avdtp.c:avdtp_parse_rej() START request rejected: Bad State (49)When the pc connects and everything works we see just this
Apr 25 14:04:24 pc bluetoothd[25132]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free unit: getpeername: Transport endpoint is not connected (107)
Apr 25 14:05:04 pc bluetoothd[25132]: /org/bluez/hci2/dev_XX_XX_XX_XX_F8_1A/sep4/fd0: fd(64) readyI'd appreciate advice what to try next. Thanks in advance.
Last edited by ethersaga (2026-04-25 12:06:16)
Offline
Tried with an older bluez version bluez-5.85-1-x86_64.pkg.tar.zst, still no luck. I'll keep testing with other devices and reporting back as I have a real need to solve this.
Offline
One more successful test with a friend's vanilla Android phone. I think this could be a problem in GrapheneOS or the Pixel. I will ask there and report back.
Offline