[pulseaudio-discuss] Bluetooth connection disconnects every few minutes

Julian Sikorski belegdol at gmail.com
Sun Aug 12 15:49:18 UTC 2018


W dniu 01.08.2018 o 19:46, Julian Sikorski pisze:
> W dniu 09.07.2018 o 18:51, Julian Sikorski pisze:
>> W dniu 08.07.2018 o 19:46, Georg Chini pisze:
>>> On 08.07.2018 15:21, Julian Sikorski wrote:
>>>> W dniu 02.07.2018 o 20:09, Julian Sikorski pisze:
>>>>> W dniu 02.07.2018 o 18:04, Georg Chini pisze:
>>>>>> On 02.07.2018 17:58, Julian Sikorski wrote:
>>>>>>> W dniu 29.06.2018 o 21:47, Julian Sikorski pisze:
>>>>>>>> Hi list,
>>>>>>>>
>>>>>>>> I have noticed that the bluetooth connection between my laptop (Intel
>>>>>>>> 7260) and my headphones (Sennheiser Momentum Wirelless) is very
>>>>>>>> unreliable. While under Windows 10 devices stay connected for
>>>>>>>> hours on
>>>>>>>> end, under Fedora 28 the connection is lost every few minutes at
>>>>>>>> most.
>>>>>>>> Often the connection will be reestablished only to be lost again.
>>>>>>>> bluetoothd shows messages like:
>>>>>>>>
>>>
>>>>>>>> I am not sure where to look further. Does it look like an issue with
>>>>>>>> pulseaudio, or a deeper problem with linux bluetooth stack? Thanks
>>>>>>>> for
>>>>>>>> your input in advance!
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Julian
>>>>>>> This is what is logged by pulseaudio at the time the connection is
>>>>>>> lost:
>>>>>>>
>>>>>>> ( 118.064|  34.694) I: [bluetooth] module-bluez5-device.c: FD error:
>>>>>>> POLLERR POLLHUP
>>>>>>> ( 118.064|   0.000) I: [bluetooth] bluez5-util.c: Transport
>>>>>>> /org/bluez/hci0/dev_00_1B_66_81_8D_76/fd27 auto-released by BlueZ or
>>>>>>> already released
>>>>>>> ( 118.064|   0.000) I: [pulseaudio] backend-native.c: Lost RFCOMM
>>>>>>> connection.
>>>>>>>
>>>>>>>
>>>>>>  From what you are writing, it looks to me as if the issue is in the
>>>>>> USB
>>>>>> stack and the BT dongle keeps disconnecting/connecting. Have you
>>>>>> tried another dongle?
>>>>> Hi,
>>>>>
>>>>> I unfortunately do not own any other dongles. I tried getting some
>>>>> useful info with btmon but the log seems flooded with way too many
>>>>> messages to make anything out.
>>>>>
>>>> Hi Georg,
>>>>
>>>> it looks like the problem is more related to how the dongle interacts
>>>> with this specific headphone model. I have recently bought another one
>>>> for running (AfterShokz Trekz Air) and it works perfectly, connecting
>>>> automatically, staying connected and even switching profiles
>>>> automatically without issues so far.
>>>> The hci0: last event is not cmd complete (0x0f) message seems harmless
>>>> as it spams the dmesg output regardless of the device connected (and
>>>> also when no device is connected at all.
>>>> It appears that whatever is happening it makes the dongle reconnect:
>>>>
>>>> [nie lip  8 15:14:12 2018] usb 2-1.4: USB disconnect, device number 6
>>>> [nie lip  8 15:14:12 2018] usb 2-1.4: new full-speed USB device number 7
>>>> using ehci-pci
>>>> [nie lip  8 15:14:12 2018] usb 2-1.4: New USB device found,
>>>> idVendor=8087, idProduct=07dc, bcdDevice= 0.01
>>>> [nie lip  8 15:14:12 2018] usb 2-1.4: New USB device strings: Mfr=0,
>>>> Product=0, SerialNumber=0
>>>> [nie lip  8 15:14:12 2018] Bluetooth: hci0: read Intel version:
>>>> 3707100180012d0d2a
>>>> [nie lip  8 15:14:12 2018] Bluetooth: hci0: Intel device is already
>>>> patched. patch num: 2a
>>>>
>>>> Where would you recommend to look for reasons for this behaviour? btmon?
>>>> Thank you for the pointers!
>>>>
>>>> Best regards,
>>>> Julian
>>>>
>>>>
>>> Hi Julian,
>>>
>>> sorry, I have no further ideas. Maybe Luiz can help you to investigate.
>>> To me it looks like the headphone is sending something that makes the
>>> dongle reset.
>>>
>>> Regards
>>>             Georg
>>
>> Hi Georg,
>>
>> no worries - hopefully Luiz will find some time to look into this.
>> In the meantime I have been getting acquainted with btmon. I have
>> managed to pinpoint the exact moment during which sound stops coming
>> through the headphones and starts coming through the laptop speakers. In
>> the below testcase, it happens at 18:42:58:
>>
>> < ACL Data TX: Handle 256 flags 0x02 dlen 850
>>                               #1825 [hci0] 18:42:58.908586
>>       Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
>> < ACL Data TX: Handle 256 flags 0x02 dlen 850
>>                               #1826 [hci0] 18:42:58.928877
>>       Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
>> @ MGMT Event: Class Of Device Changed (0x0007) plen 3
>>                            {0x0002} [hci0] 18:43:00.653578
>>         Class: 0x000000
>>           Major class: Miscellaneous
>>           Minor class: 0x00
>> @ MGMT Event: Class Of Device Changed (0x0007) plen 3
>>                            {0x0001} [hci0] 18:43:00.653578
>>         Class: 0x000000
>>           Major class: Miscellaneous
>>           Minor class: 0x00
>> @ MGMT Event: New Settings (0x0006) plen 4
>>                            {0x0002} [hci0] 18:43:00.653609
>>         Current settings: 0x00000ada
>>           Connectable
>>           Discoverable
>>           Bondable
>>           Secure Simple Pairing
>>           BR/EDR
>>           Low Energy
>>           Secure Connections
>> @ MGMT Event: New Settings (0x0006) plen 4
>>                            {0x0001} [hci0] 18:43:00.653609
>>         Current settings: 0x00000ada
>>           Connectable
>>           Discoverable
>>           Bondable
>>           Secure Simple Pairing
>>           BR/EDR
>>           Low Energy
>>           Secure Connections
>> = bluetoothd: Unable to get io data for Headset Voice gateway:
>> getpeername: Transport endpoint is not connected..   18:43:00.654133
>> = Close Index: 7C:5C:F8:B2:DF:08
>>                                     [hci0] 18:43:00.678348
>> @ MGMT Event: Index Removed (0x0005) plen 0
>>                            {0x0002} [hci0] 18:43:00.678372
>> @ MGMT Event: Index Removed (0x0005) plen 0
>>                            {0x0001} [hci0] 18:43:00.678372
>> = Delete Index: 7C:5C:F8:B2:DF:08
>>                                     [hci0] 18:43:00.678377
>> = bluetoothd: Endpoint unregistered: sender=:1.1492
>> path=/MediaEndpoint/A2DPSource
>> 18:43:00.678966
>> = bluetoothd: Endpoint unregistered: sender=:1.1492
>> path=/MediaEndpoint/A2DPSink
>> 18:43:00.678984
>>
>> I am copying linux-bluetooth, maybe someone there will have an idea as
>> well. Thank you for all your help in advance!
>>
>> Best regards,
>> Julian
> 
> Hi all,
> 
> I tried to get more information using hcidump, but it does not appear
> very interesting. I am attaching it here just in case. The last entry
> appearing - command complete (read encryption key size) - appears upon
> successful connection, not when the connection is dropped. How else
> could I try to figure out what is being sent at the time of
> disconnection? Thank you!
> 
> Best regards,
> Julian

Hi list,

I just realised I never attached the full btmon dump. Here it goes, the
connection drops at 17:32:04:

< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1340 [hci0] 17:32:04.774611
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
> HCI Event: Number of Completed Packets (0x13) plen 5
                              #1341 [hci0] 17:32:04.783175
        Num handles: 1
        Handle: 256
        Count: 1
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1342 [hci0] 17:32:04.794981
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
> HCI Event: Number of Completed Packets (0x13) plen 5
                              #1343 [hci0] 17:32:04.803054
        Num handles: 1
        Handle: 256
        Count: 1
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1344 [hci0] 17:32:04.815326
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
> HCI Event: Number of Completed Packets (0x13) plen 5
                              #1345 [hci0] 17:32:04.823198
        Num handles: 1
        Handle: 256
        Count: 1
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1346 [hci0] 17:32:04.835578
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1347 [hci0] 17:32:04.856093
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1348 [hci0] 17:32:04.876186
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1349 [hci0] 17:32:04.896454
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
< ACL Data TX: Handle 256 flags 0x02 dlen 850
                              #1350 [hci0] 17:32:04.916869
      Channel: 450 len 846 [PSM 25 mode 0] {chan 2}
@ MGMT Event: Class Of Device Changed (0x0007) plen 3
                           {0x0002} [hci0] 17:32:06.637019
        Class: 0x000000
          Major class: Miscellaneous
          Minor class: 0x00
@ MGMT Event: Class Of Device Changed (0x0007) plen 3
                           {0x0001} [hci0] 17:32:06.637019
        Class: 0x000000
          Major class: Miscellaneous
          Minor class: 0x00
@ MGMT Event: New Settings (0x0006) plen 4
                           {0x0002} [hci0] 17:32:06.637034
        Current settings: 0x00000ada
          Connectable
          Discoverable
          Bondable
          Secure Simple Pairing
          BR/EDR
          Low Energy
          Secure Connections
@ MGMT Event: New Settings (0x0006) plen 4
                           {0x0001} [hci0] 17:32:06.637034
        Current settings: 0x00000ada
          Connectable
          Discoverable
          Bondable
          Secure Simple Pairing
          BR/EDR
          Low Energy
          Secure Connections
= Close Index: 7C:5C:F8:B2:DF:08
                                    [hci0] 17:32:06.654087
@ MGMT Event: Index Removed (0x0005) plen 0
                           {0x0002} [hci0] 17:32:06.654114
@ MGMT Event: Index Removed (0x0005) plen 0
                           {0x0001} [hci0] 17:32:06.654114
= Delete Index: 7C:5C:F8:B2:DF:08
                                    [hci0] 17:32:06.654120
= bluetoothd: Unable to get io data for Headset Voice gateway:
getpeername: Transport endpoint is not connected..   17:32:06.654352
= bluetoothd: Endpoint unregistered: sender=:1.750
path=/MediaEndpoint/A2DPSource
17:32:06.654796
= bluetoothd: Endpoint unregistered: sender=:1.750
path=/MediaEndpoint/A2DPSink
17:32:06.654836

I tried sending the btmon capture as attachment but it appears to be too
large for the list, so I uploaded it here instead:

https://belegdol.fedorapeople.org/btmon-aug.log

Best regards,
Julian








More information about the pulseaudio-discuss mailing list