2021-02-13 19:33:49

by Kai Krakow

[permalink] [raw]
Subject: Xbox Elite 2 controller stops sending data during inquiries from nearby devices

Hello!

I'm the maintainer of the xpadneo driver for Xbox controllers in
Bluetooth mode. I'm currently testing two different models of the
controllers:

Xbox One S (model 1708)
Xbox Elite Series 2 (model 1797)

With commit 98d2c3e17310 ("Bluetooth: L2CAP: Try harder to accept
device not knowing options") we can finally connect the controllers
without disabling ERTM. Without the patch, all the controllers will
fail to connect most of the time if not always.

Here's what works since ERTM can stay enabled:

With ERTM enabled, the controllers no longer crash in their firmware
when sending rumble packets at specific varying rates. Previously, the
controller tended to stop sending back input data, eventually
rebooting after some time (but not always).

Some history / context about the problems (with ERTM disabled):

That looks like a crash or race condition in the firmware. The results
looked pretty random but consistently between kernel or Bluez versions
so it probably depends on some implementation detail: Sometimes the
controller would stop sending any input data, sometimes at least one
axis still worked, sometimes rumble would still work, or any
combination of those. This problem does not seem to exist when using
the Android bluetooth stack (fluoride?) - tho I didn't really test it
there extensively. At least in Android, the controllers establish the
Bluetooth connection instantly while in Linux, it may take up to 30
seconds to establish the connection / pairing. Often, it would not
exchange the link key, resulting in pairing failing (but still able to
connect manually with `bluetoothctl connect MAC`). But finally, this
seems fixed when we enable ERTM after the patch referenced above is
applied.

Now let's get to the core of this report (after applying the above
referenced patch, and enabling ERTM):

From all what I could test, model 1708 works correctly now with some
quirks: It may take some time / effort pairing the controller.
Usually, it works fine using the KDE GUI client for pairing while it
doesn't using `bluetoothctl` alone. I'm not sure why that is but once
it's paired (with a link key in `/var/lib/bluetooth`, it reconnects
fine in later attempts, tho it may take 20-30s to do that. After this,
the gamepad runs just fine in games, rumble works flawlessly, no input
lag, no loss of input data. Good work.

Model 1797 is a different story: This model now connects instantly,
this is a success. Previously, it would show the same behavior as
model 1708, often taking 20-30s to connect, or failing every once in a
while, often even losing the connection again after being connected
for a few seconds.

But now I'm seeing the following odd behavior: When running `btmon`, I
see a constant flow of input data while moving the sticks in a circle
(thus generating a constant stream of input events). Now, when a
nearby device starts some inquiry, the gamepad stops sending any data
until some time after the inquiry is done. Some of the last events
then get sent back resembling the current state of the device as if
the gamepad flushed some buffers. Often, that's exactly three input
state buffers if you put the gamepad idle on your desk while the
inquiry is running. This observation is repeatable. Also, during
gaming, I may have seen issues where input events of the device may
lag behind several seconds, however, I'm not sure if this was caused
by a nearby device as I didn't log any data with `btmon` (neither I
could associate that on a timeline with lagging events in the game).

Here's a (rather lengthy) btmon log of such an incident (packets
starting with `a1 01` are input event packets from the controller,
part of the constant stream of input data I generated using the
sticks):
```
... [multiple seconds of big amounts of input data before here]
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1018 [hci0] 14.917844
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 11 8e ff ff 00 00 00 00 00 00 .....y..........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1019 [hci0] 14.927824
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 6c 6b ff ff 00 00 00 00 00 00 .....ylk........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1020 [hci0] 14.937827
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 e5 67 ff ff 00 00 00 00 00 00 .....y.g........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
@ MGMT Command: Start Service Disc.. (0x003a) plen 4 {0x0001} [hci0] 14.946337
Address type: 0x01
BR/EDR
RSSI: invalid (0x7f)
UUIDs: 0
< HCI Command: Inquiry (0x01|0x0001) plen 5 #1021 [hci0] 14.946384
Access code: 0x9e8b33 (General Inquiry)
Length: 10.24s (0x08)
Num responses: 0
> HCI Event: Command Status (0x0f) plen 4 #1022 [hci0] 14.947699
Inquiry (0x01|0x0001) ncmd 1
Status: Success (0x00)
@ MGMT Event: Command Complete (0x0001) plen 4 {0x0001} [hci0] 14.947758
Start Service Discovery (0x003a) plen 1
Status: Success (0x00)
Address type: 0x01
BR/EDR
@ MGMT Event: Discovering (0x0013) plen 2 {0x0001} [hci0] 14.947764
Address type: 0x01
BR/EDR
Discovery: Enabled (0x01)
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1023 [hci0] 14.947929
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 de 4b 58 ff 00 00 00 00 00 00 .....y.KX.......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1024 [hci0] 14.957878
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 1f 48 94 fd 00 00 00 00 00 00 .....y.H........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1025 [hci0] 14.967867
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 68 2c ff f9 00 00 00 00 00 00 .....yh,........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1026 [hci0] 14.977852
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 73 2a 0f e0 00 00 00 00 00 00 .....ys*........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1027 [hci0] 14.987828
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 a2 26 48 de 00 00 00 00 00 00 .....y.&H.......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1028 [hci0] 14.997829
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 40 22 cd da 00 00 00 00 00 00 [email protected]"........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1029 [hci0] 15.017840
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 f2 07 23 c0 00 00 00 00 00 00 .....y..#.......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1030 [hci0] 15.118729
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -71 dBm (0xb9)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 15.118782
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -71 dBm (0xb9)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1031 [hci0] 15.300714
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -82 dBm (0xae)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 15.300795
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -82 dBm (0xae)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1032 [hci0] 15.951737
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -77 dBm (0xb3)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 15.951803
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -77 dBm (0xb3)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1033 [hci0] 16.873673
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -82 dBm (0xae)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 16.873706
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -82 dBm (0xae)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1034 [hci0] 17.034695
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -74 dBm (0xb6)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 17.034747
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -74 dBm (0xb6)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1035 [hci0] 17.074695
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -82 dBm (0xae)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 17.074745
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -82 dBm (0xae)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1036 [hci0] 17.725662
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -72 dBm (0xb8)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 17.725697
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -72 dBm (0xb8)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1037 [hci0] 18.245667
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c7
RSSI: -72 dBm (0xb8)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 18.245699
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -72 dBm (0xb8)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1038 [hci0] 20.628660
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -84 dBm (0xac)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 20.628670
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -84 dBm (0xac)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1039 [hci0] 20.669660
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -74 dBm (0xb6)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 20.669668
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -74 dBm (0xb6)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1040 [hci0] 21.120638
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -74 dBm (0xb6)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 21.120657
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -74 dBm (0xb6)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1041 [hci0] 21.932648
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -84 dBm (0xac)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 21.932670
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -84 dBm (0xac)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1042 [hci0] 22.052643
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -80 dBm (0xb0)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 22.052663
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -80 dBm (0xb0)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1043 [hci0] 22.493650
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -74 dBm (0xb6)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 22.493662
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -74 dBm (0xb6)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1044 [hci0] 22.534661
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -84 dBm (0xac)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 22.534684
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -84 dBm (0xac)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1045 [hci0] 23.035642
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c6
RSSI: -72 dBm (0xb8)
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
@ MGMT Event: Device Found (0x0012) plen 70 {0x0001} [hci0] 23.035660
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -72 dBm (0xb8)
Flags: 0x00000000
Data length: 56
Device ID: Bluetooth SIG assigned (0x0001)
Vendor: STABILO International (1256)
Product: 0x8080
Version: 0.0.0 (0x0000)
Name (complete): [TV]Samsung LED55
16-bit Service UUIDs (complete): 3 entries
Audio Source (0x110a)
A/V Remote Control Target (0x110c)
PnP Information (0x1200)
3D Information Data: 0348
Features: 0x03
Association Notification
Battery Level Reporting
Path Loss Threshold: 72
Company: Broadcom Corporation (15)
Data: 002148
TX power: 0 dBm
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Extended Inquiry Result (0x2f) plen 255 #1046 [hci0] 23.555656
Num responses: 1
Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
Page scan repetition mode: R1 (0x01)
Page period mode: P2 (0x02)
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
Clock offset: 0x70c7
RSSI: -72 dBm (0xb8)
@ MGMT Event: Device Found (0x0012) plen 19 {0x0001} [hci0] 23.555680
BR/EDR Address: C4:57:6E:39:F1:36 (Samsung Electronics Co.,Ltd)
RSSI: -72 dBm (0xb8)
Flags: 0x00000000
Data length: 5
Class: 0x08043c
Major class: Audio/Video (headset, speaker, stereo, video, vcr)
Minor class: Video Display and Loudspeaker
Capturing (Scanner, Microphone)
> HCI Event: Inquiry Complete (0x01) plen 1 #1047 [hci0] 25.197642
Status: Success (0x00)
@ MGMT Event: Discovering (0x0013) plen 2 {0x0001} [hci0] 25.197656
Address type: 0x01
BR/EDR
Discovery: Disabled (0x00)
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1048 [hci0] 25.199137
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 6b 81 f6 7f 00 00 00 00 00 00 .....yk.........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1049 [hci0] 25.207888
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 6b 81 f6 7f 00 00 00 00 00 00 .....yk.........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
> ACL Data RX: Handle 74 flags 0x02 dlen 44 #1050 [hci0] 25.217897
Channel: 65 len 40 [PSM 0 mode Basic (0x00)] {chan 65535}
a1 01 e0 81 ea 79 6b 81 f6 7f 00 00 00 00 00 00 .....yk.........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
```

As you can see, input data is received roughly around every 0.01s
(which seems to be some internal heartbeat of the firmware, around 100
Hz, which matches with the maximum rate of rumble programming we may
send to the controller without crashing it). But when the C4:57:6E
device starts to show up in the log, the controller pauses sending any
more data for multiple seconds. This behavior cannot be observed when
connected to an Android device so we probably cannot say that this is
a bug of the gamepad firmware (tho, it still has a lot of quirks I'd
consider a bug).

Windows users may report similar problems, tho there's no indication
of it being the same problem as there are no logs provided:
https://answers.microsoft.com/de-de/xbox/forum/xba_wowpc-xba_gowpc/xbox-elite-series-2-disconnecting-from-pc/7e5a964a-16cc-4e83-8dec-aa8c858b875c

I've linked some more reports in the xpadneo project:
https://github.com/atar-axis/xpadneo/issues/198

I'd happily provide more data / details to debug this.

Thanks,
Kai