Hi Andrey, On Thu, May 7, 2020 at 1:29 PM Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > > Hi Andrey, > > On Wed, May 6, 2020 at 10:32 AM Andrey Semashev > <andrey.semashev@xxxxxxxxx> wrote: > > > > On 2020-05-06 19:56, Andrey Semashev wrote: > > > Hello! > > > > > > I have a problem connecting Sennheiser Momentum True Wireless 2 > > > headphones over Bluetooth. The headphones say "Connected" and then > > > reboot immediately after. After reboot the headphones say "Power on" and > > > try connecting again, and fail the same way, and so on. > > > > > > From the Bluetooth packet dump it looks like the problem happens after > > > bluetoothd sends AVRCP ListPlayerApplicationSettingAttributes message to > > > the headphones. The headphones send Not Implemented response and then > > > reboot. Both in the request and the response Wireshark shows warnings > > > about encoding issues. > > > > > > I'm attaching a packet dump captured from one of the connection > > > attempts. The ListPlayerApplicationSettingAttributes message is in > > > packet 262 and the response is in packet 264. > > > > > > This is on Kubuntu 20.04. I tried bluez 5.53 from Kubuntu and revision > > > 3146b7a0785758be2d4e894d44e99d29c0db983e from git master - the behavior > > > is the same. > > > > > > I've also verified that the headphones do work on Windows 10. On that > > > system, ListPlayerApplicationSettingAttributes is not present in the > > > packet exchange. I can provide the packet dump from Windows, if needed. > > > > > > I hope this is the right place to report problems like this one. If not > > > - sorry, and please point me to the right place. > > > > > > Thank you. > > > > I'll add that I can connect the headphones if I disable AVRCP by adding > > --noplugin=avrcp to bluetoothd command line. > > Weird the ListPlayerApplicationSettingAttributes should only really be > used when the remote device claims to be have target role but I doubt > the headsets would be implementing that so perhaps we are not > detecting this properly, do you have the HCI traces in btsnoop format? > You can collect that with use of btmon. Looks like the device is setting the bit for Category 1: Player/Recorder which is why we are sending player related command, other stacks might not do that because they are not dual-role, cannot act as controllers, even if Player Application Settings is optional for category 1 it still means that we could perhaps list them. It looks like we are not parsing properly the ctype since it appears that it returns AVC_CTYPE_NOT_IMPLEMENTED instead of AVC_CTYPE_REJECTED, is that perhaps causing a crash on bluetoothd? > > -- > Luiz Augusto von Dentz -- Luiz Augusto von Dentz