You are not logged in.
Hi everyone,
Before dumping all the logs and other relevant information, I will explain to you my situation. I have a bluetooth headset (AKG C50BT) hooked up to my laptop via bluetoothctl + PulseAudio. Everything works correctly for about 10-20 minutes listening to music from MPD, and then the sound quality lags for a very short time and then the sound comes to a full stop. From this point on, nothing has appeared in system logs, bluetoothctl reports that my headset is connected, PulseAudio does not raise red flags. Here's the strange part, so my headset has buttons for volume adjustment/pause/change music, if I press any of these within 30-60 seconds of the sound blackout, the sound restores and things return to normal (until the next sound lag/blackout), and if I delay pressing anything for longer than that, pushing a button on the headset emits a 'disconnect' sound, and this appears in my journalctl:
Jun 28 22:16:17 torus kernel: Bluetooth: hci0 link tx timeout
Jun 28 22:16:17 torus kernel: Bluetooth: hci0 killing stalled connection 34:df:2a:2c:b1:84
Jun 28 22:16:17 torus dbus-daemon[382]: [system] Rejected send message, 1 matched rules; type="method_return", sender=":1.49" (uid=1000 pid=507 comm="/usr/bin/pulseaudio --daemonize=no ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.2" (uid=0 pid=383 comm="/usr/lib/bluetooth/bluetoothd ")
Jun 28 22:16:17 torus bluetoothd[383]: Unable to get io data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
My attempt to diagnose this:
I followed the wiki which suggested the problem could be that PulseAudio is suspending my headset. I commented out "load-module module-suspend-on-idle", but the problem persists.
From reading some other discussions, I thought this could be a power saving issue. I am not running special software for power saving, I've manually configured my power saving. I do NOT have any power saving features for USB devices, so my bluetooth device listed under 'lsusb' appears to be untouched in this case
Any ideas? My headset does not run into this problem when hooked up with my phone. I do not want to keep pressing buttons on my headset to keep it connected to my laptop
More information:
Here are PulseAudio contents regarding the bluetooth headset:
pactl list sinks
Name: bluez_sink.34_DF_2A_2C_B1_84.a2dp_sink
Description: AKG C50BT
Driver: module-bluez5-device.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 25
Mute: no
Volume: front-left: 13107 / 20% / -41.94 dB, front-right: 13107 / 20% / -41.94 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: bluez_sink.34_DF_2A_2C_B1_84.a2dp_sink.monitor
Latency: 56869 usec, configured 45317 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
bluetooth.protocol = "a2dp_sink"
device.description = "AKG C50BT"
device.string = "34:DF:2A:2C:B1:84"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headphone"
bluez.path = "/org/bluez/hci0/dev_34_DF_2A_2C_B1_84"
bluez.class = "0x240418"
bluez.alias = "AKG C50BT"
device.icon_name = "audio-headphones-bluetooth"
Ports:
headphone-output: Headphone (priority: 0, available)
Active Port: headphone-output
Formats:
pcm
My system is up-to-date and MPD is configured with PulseAudio in the same was as the MPD wiki.
NOTE: I will check to see if this problem occurs with other sound sources like Firefox (YouTube), it might be specific to MPD.
UPDATE: This isn't specific to MPD, the issue occurs with other sound sources as well. Added detailed journal log when the headset disconnects.
Last edited by VirtualTorus (2018-06-29 14:51:40)
Offline
AFAIK usb autosuspend is one of the few things enabled by default if not explicitly configured, so try to specifically blacklist your dongle https://wiki.archlinux.org/index.php/Po … utosuspend
Offline
@V1del
I tried out this just now, the problem still persists though (it takes over 15 minutes for the sound to lag/disappear). I defined the blacklist udev rule as specified in the wiki article with the Bluetooth device
# blacklist for usb autosuspend
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0a5c", ATTR{idProduct}=="217f", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"
where the id product and vendor were obtained from lsusb
...
Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
...
To confirm that the udev rule worked as intended, I get
$ cat /sys/bus/usb/devices/1-1.4/power/control
on
where 1-1.4 corresponds to the Bluetooth device (idVendor and idProduct match). I have edited my original post for the journalctl output, the original output used the '-p 3' option. The additional message I included also comes up everytime the journal logs the problem.
Last edited by VirtualTorus (2018-06-29 14:48:00)
Offline
Can you post a complete journalctl -b ? Sometimes just filtering for the lines where the error occurs might lose a lot of relevant context. Are you using WiFi at the same time? That can create interference with the bluetooth connection, if possible try to connect your wifi to a 5Ghz band.
Offline
@V1del
Here is a pastebin of my journalctl -b .
Regarding your question about WiFi, is it enough to set the state of my WiFi device to 'DOWN' and deduce that there is interference (if there are no sound issues when doing this)? I tried this yet I still encounter the sound issue. I'm going to try to see if adding the kernel parameter 'iwlwifi.bt_coex_active=0' has any effect (assuming that WiFi is interfering).
Last edited by VirtualTorus (2018-06-29 22:48:48)
Offline
I know it has been a month, but just to follow up, adding that kernel parameter in the above post does not correct my problem which still persists today.
Last edited by VirtualTorus (2018-07-30 02:56:59)
Offline
I know it has been a month, but just to follow up, adding that kernel parameter in the above post does not correct my problem which still persists today.
Based on your vendor and product ID, we have the same broadcom bluetooth; I also have been through exactly the same steps and even going as far as installing laptop mode tools and attempting to use that to blacklist power saving on the broadcom device, but nothing has worked (infact, laptop mode tools gave me other issues, like freezing from overnight suspending). I suspect the device itself is just bad, or there's some issue buried deeper than we have been able to find.
I'm on a Thinkpad T420; my fix was simply to disable the onboard bluetooth and plugin an ASUSTek bluetooth dongle, which is a Broadcom BCM20702A0 (0B05:17CB), then using Blueman to pair/trust my headset. This one has been working perfectly with my Ghostek Sodrop 2 headset.
This is the one I bought: on amazon
Offline
VirtualTorus wrote:I know it has been a month, but just to follow up, adding that kernel parameter in the above post does not correct my problem which still persists today.
Based on your vendor and product ID, we have the same broadcom bluetooth; I also have been through exactly the same steps and even going as far as installing laptop mode tools and attempting to use that to blacklist power saving on the broadcom device, but nothing has worked (infact, laptop mode tools gave me other issues, like freezing from overnight suspending). I suspect the device itself is just bad, or there's some issue buried deeper than we have been able to find.
I'm on a Thinkpad T420; my fix was simply to disable the onboard bluetooth and plugin an ASUSTek bluetooth dongle, which is a Broadcom BCM20702A0 (0B05:17CB), then using Blueman to pair/trust my headset. This one has been working perfectly with my Ghostek Sodrop 2 headset.
This is the one I bought: on amazon
Thanks for letting me know! Based on what you've written, I would guess it's a firmware issue and/or some sort of incompatibility between the bluetooth device and the software. I'll likely end up using a dongle some time in the future as you suggest.
EDIT: I'm also using a ThinkPad T420 I should have maybe mentioned that somewhere in my original post
Last edited by VirtualTorus (2018-08-21 01:50:56)
Offline