-
Couldn't load subscription status.
- Fork 332
Description
The Xbox One S gamepad cannot connect even when properly paired already:
# sudo btmon
Bluetooth monitor ver 5.58
= Note: Linux version 5.10.29-gentoo (x86_64) 0.549792
= Note: Bluetooth subsystem version 2.22 0.549798
= New Index: 00:1A:7D:DA:71:15 (Primary,USB,hci0) [hci0] 0.549799
= Open Index: 00:1A:7D:DA:71:15 [hci0] 0.549799
= Index Info: 00:1A:7D:DA:71:15 (Cambridge Silicon Radio) [hci0] 0.549800
@ MGMT Open: bluetoothd (privileged) version 1.18 {0x0001} 0.549801
> HCI Event: Connect Request (0x04) plen 10 #1 [hci0] 10.407345
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Class: 0x000508
Major class: Peripheral (mouse, joystick, keyboards)
Minor class: 0x02
Link type: ACL (0x01)
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7 #2 [hci0] 10.407400
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Role: Master (0x00)
> HCI Event: Command Status (0x0f) plen 4 #3 [hci0] 10.409317
Accept Connection Request (0x01|0x0009) ncmd 1
Status: Success (0x00)
> HCI Event: Role Change (0x12) plen 8 #4 [hci0] 10.568338
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Role: Master (0x00)
> HCI Event: Connect Complete (0x03) plen 11 #5 [hci0] 10.636346
Status: Success (0x00)
Handle: 74
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Link type: ACL (0x01)
Encryption: Disabled (0x00)
< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2 #6 [hci0] 10.636516
Handle: 74
> HCI Event: Page Scan Repetition Mode Change (0x20) plen 7 #7 [hci0] 10.637323
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Page scan repetition mode: R1 (0x01)
> HCI Event: Command Status (0x0f) plen 4 #8 [hci0] 10.638328
Read Remote Supported Features (0x01|0x001b) ncmd 0
Status: Success (0x00)
> HCI Event: Max Slots Change (0x1b) plen 3 #9 [hci0] 10.644367
Handle: 74
Max slots: 5
> HCI Event: Command Status (0x0f) plen 4 #10 [hci0] 10.645327
NOP (0x00|0x0000) ncmd 1
Status: Success (0x00)
> HCI Event: Read Remote Supported Features (0x0b) plen 11 #11 [hci0] 10.650365
Status: Success (0x00)
Handle: 74
Features: 0xbf 0x3a 0x8d 0xfe 0xdb 0xfd 0x7b 0x87
3 slot packets
5 slot packets
Encryption
Slot offset
Timing accuracy
Role switch
Sniff mode
Power control requests
SCO link
HV2 packets
HV3 packets
CVSD synchronous data
Power control
Transparent synchronous data
Broadcast Encryption
Enhanced Data Rate ACL 2 Mbps mode
Enhanced Data Rate ACL 3 Mbps mode
Enhanced inquiry scan
Interlaced inquiry scan
Interlaced page scan
RSSI with inquiry results
Extended SCO link (EV3 packets)
EV4 packets
EV5 packets
AFH capable slave
AFH classification slave
LE Supported (Controller)
3-slot Enhanced Data Rate ACL packets
5-slot Enhanced Data Rate ACL packets
Pause encryption
AFH capable master
AFH classification master
Enhanced Data Rate eSCO 2 Mbps mode
Enhanced Data Rate eSCO 3 Mbps mode
3-slot Enhanced Data Rate eSCO packets
Extended Inquiry Response
Simultaneous LE and BR/EDR (Controller)
Secure Simple Pairing
Encapsulated PDU
Erroneous Data Reporting
Non-flushable Packet Boundary Flag
Link Supervision Timeout Changed Event
Inquiry TX Power Level
Enhanced Power Control
Extended features
< HCI Command: Read Remote Extended Features (0x01|0x001c) plen 3 #12 [hci0] 10.650400
Handle: 74
Page: 1
> HCI Event: Command Status (0x0f) plen 4 #13 [hci0] 10.651326
Read Remote Extended Features (0x01|0x001c) ncmd 1
Status: Success (0x00)
> HCI Event: Link Key Request (0x17) plen 6 #14 [hci0] 10.654340
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
< HCI Command: Link Key Request Reply (0x01|0x000b) plen 22 #15 [hci0] 10.654380
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Link key: 153960c912de4984d57944be45ef4d3c
> HCI Event: Command Complete (0x0e) plen 10 #16 [hci0] 10.658319
Link Key Request Reply (0x01|0x000b) ncmd 1
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
> HCI Event: Read Remote Extended Features (0x23) plen 13 #17 [hci0] 10.659334
Status: Success (0x00)
Handle: 74
Page: 1/3
Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Secure Simple Pairing (Host Support)
< HCI Command: Remote Name Request (0x01|0x0019) plen 10 #18 [hci0] 10.659377
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Page scan repetition mode: R2 (0x02)
Page scan mode: Mandatory (0x00)
Clock offset: 0x0000
< ACL Data TX: Handle 74 flags 0x00 dlen 10 #19 [hci0] 10.659392
L2CAP: Information Request (0x0a) ident 1 len 2
Type: Extended features supported (0x0002)
> HCI Event: Command Status (0x0f) plen 4 #20 [hci0] 10.661327
Remote Name Request (0x01|0x0019) ncmd 1
Status: Success (0x00)
> HCI Event: Number of Completed Packets (0x13) plen 5 #21 [hci0] 10.663318
Num handles: 1
Handle: 74
Count: 1
> ACL Data RX: Handle 74 flags 0x02 dlen 16 #22 [hci0] 10.684089
L2CAP: Information Response (0x0b) ident 1 len 8
Type: Extended features supported (0x0002)
Result: Success (0x0000)
Features: 0x00000010
Streaming Mode
> ACL Data RX: Handle 74 flags 0x02 dlen 12 #23 [hci0] 10.685347
L2CAP: Connection Request (0x02) ident 1 len 4
PSM: 17 (0x0011)
Source CID: 64
@ MGMT Event: Device Connected (0x000b) plen 18 {0x0001} [hci0] 10.685375
BR/EDR Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Flags: 0x00000000
Data length: 5
Class: 0x000508
Major class: Peripheral (mouse, joystick, keyboards)
Minor class: 0x02
< ACL Data TX: Handle 74 flags 0x00 dlen 16 #24 [hci0] 10.685406
L2CAP: Connection Response (0x03) ident 1 len 8
Destination CID: 0
Source CID: 64
Result: Connection refused - security block (0x0003)
Status: No further information available (0x0000)
> HCI Event: Remote Name Req Complete (0x07) plen 255 #25 [hci0] 10.693333
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Name: Xbox Wireless Controller
> HCI Event: Number of Completed Packets (0x13) plen 5 #26 [hci0] 10.694319
Num handles: 1
Handle: 74
Count: 1
> HCI Event: Encryption Change (0x08) plen 4 #27 [hci0] 10.695322
Status: Success (0x00)
Handle: 74
Encryption: Enabled with E0 (0x01)
< HCI Command: Read Encryption Key Size (0x05|0x0008) plen 2 #28 [hci0] 10.695341
Handle: 74
> HCI Event: Command Complete (0x0e) plen 7 #29 [hci0] 10.697321
Read Encryption Key Size (0x05|0x0008) ncmd 1
Status: Success (0x00)
Handle: 74
Key size: 16
< HCI Command: Disconnect (0x01|0x0006) plen 3 #30 [hci0] 14.697590
Handle: 74
Reason: Authentication Failure (0x05)
> HCI Event: Command Status (0x0f) plen 4 #31 [hci0] 14.699382
Disconnect (0x01|0x0006) ncmd 1
Status: Success (0x00)
> HCI Event: Disconnect Complete (0x05) plen 4 #32 [hci0] 14.780365
Status: Success (0x00)
Handle: 74
Reason: Connection Terminated By Local Host (0x16)
@ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0001} [hci0] 14.780387
BR/EDR Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Reason: Connection terminated by local host (0x02)
This repeats in a loop, however, in a tiny percent of retries, the gamepad manages to connect just fine. But often it then will just disconnect again a few seconds (30+) later, and go back into reconnect loop.
This is a successful connection log after it re-looped over the connection retry a few times:
> HCI Event: Connect Request (0x04) plen 10 #65 [hci0] 14.546179
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Class: 0x000508
Major class: Peripheral (mouse, joystick, keyboards)
Minor class: 0x02
Link type: ACL (0x01)
< HCI Command: Accept Connection Request (0x01|0x0009) plen 7 #66 [hci0] 14.546235
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Role: Master (0x00)
> HCI Event: Command Status (0x0f) plen 4 #67 [hci0] 14.548164
Accept Connection Request (0x01|0x0009) ncmd 1
Status: Success (0x00)
> HCI Event: Role Change (0x12) plen 8 #68 [hci0] 14.706203
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Role: Master (0x00)
> HCI Event: Connect Complete (0x03) plen 11 #69 [hci0] 14.714196
Status: Success (0x00)
Handle: 73
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Link type: ACL (0x01)
Encryption: Disabled (0x00)
< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2 #70 [hci0] 14.714395
Handle: 73
> HCI Event: Page Scan Repetition Mode Change (0x20) plen 7 #71 [hci0] 14.715187
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Page scan repetition mode: R1 (0x01)
> HCI Event: Command Status (0x0f) plen 4 #72 [hci0] 14.716187
Read Remote Supported Features (0x01|0x001b) ncmd 0
Status: Success (0x00)
> HCI Event: Max Slots Change (0x1b) plen 3 #73 [hci0] 14.729207
Handle: 73
Max slots: 5
> HCI Event: Command Status (0x0f) plen 4 #74 [hci0] 14.730220
NOP (0x00|0x0000) ncmd 1
Status: Success (0x00)
> HCI Event: Read Remote Supported Features (0x0b) plen 11 #75 [hci0] 14.734204
Status: Success (0x00)
Handle: 73
Features: 0xbf 0x3a 0x8d 0xfe 0xdb 0xfd 0x7b 0x87
3 slot packets
5 slot packets
Encryption
Slot offset
Timing accuracy
Role switch
Sniff mode
Power control requests
SCO link
HV2 packets
HV3 packets
CVSD synchronous data
Power control
Transparent synchronous data
Broadcast Encryption
Enhanced Data Rate ACL 2 Mbps mode
Enhanced Data Rate ACL 3 Mbps mode
Enhanced inquiry scan
Interlaced inquiry scan
Interlaced page scan
RSSI with inquiry results
Extended SCO link (EV3 packets)
EV4 packets
EV5 packets
AFH capable slave
AFH classification slave
LE Supported (Controller)
3-slot Enhanced Data Rate ACL packets
5-slot Enhanced Data Rate ACL packets
Pause encryption
AFH capable master
AFH classification master
Enhanced Data Rate eSCO 2 Mbps mode
Enhanced Data Rate eSCO 3 Mbps mode
3-slot Enhanced Data Rate eSCO packets
Extended Inquiry Response
Simultaneous LE and BR/EDR (Controller)
Secure Simple Pairing
Encapsulated PDU
Erroneous Data Reporting
Non-flushable Packet Boundary Flag
Link Supervision Timeout Changed Event
Inquiry TX Power Level
Enhanced Power Control
Extended features
< HCI Command: Read Remote Extended Features (0x01|0x001c) plen 3 #76 [hci0] 14.734256
Handle: 73
Page: 1
> HCI Event: Command Status (0x0f) plen 4 #77 [hci0] 14.736194
Read Remote Extended Features (0x01|0x001c) ncmd 1
Status: Success (0x00)
> HCI Event: Read Remote Extended Features (0x23) plen 13 #78 [hci0] 14.743201
Status: Success (0x00)
Handle: 73
Page: 1/3
Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Secure Simple Pairing (Host Support)
< HCI Command: Remote Name Request (0x01|0x0019) plen 10 #79 [hci0] 14.743273
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Page scan repetition mode: R2 (0x02)
Page scan mode: Mandatory (0x00)
Clock offset: 0x0000
< ACL Data TX: Handle 73 flags 0x00 dlen 10 #80 [hci0] 14.743298
L2CAP: Information Request (0x0a) ident 1 len 2
Type: Extended features supported (0x0002)
> HCI Event: Link Key Request (0x17) plen 6 #81 [hci0] 14.745061
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
> HCI Event: Command Status (0x0f) plen 4 #82 [hci0] 14.746179
Remote Name Request (0x01|0x0019) ncmd 1
Status: Success (0x00)
< HCI Command: Link Key Request Reply (0x01|0x000b) plen 22 #83 [hci0] 14.746209
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Link key: 153960c912de4984d57944be45ef4d3c
> HCI Event: Number of Completed Packets (0x13) plen 5 #84 [hci0] 14.747180
Num handles: 1
Handle: 73
Count: 1
> ACL Data RX: Handle 73 flags 0x02 dlen 16 #85 [hci0] 14.748433
L2CAP: Information Response (0x0b) ident 1 len 8
Type: Extended features supported (0x0002)
Result: Success (0x0000)
Features: 0x00000010
Streaming Mode
> HCI Event: Command Complete (0x0e) plen 10 #86 [hci0] 14.750175
Link Key Request Reply (0x01|0x000b) ncmd 1
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
> HCI Event: Remote Name Req Complete (0x07) plen 255 #87 [hci0] 14.774172
Status: Success (0x00)
Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Name: Xbox Wireless Controller
@ MGMT Event: Device Connected (0x000b) plen 44 {0x0001} [hci0] 14.774214
BR/EDR Address: C8:3F:26:A9:2D:6C (Microsoft Corporation)
Flags: 0x00000000
Data length: 31
Name (complete): Xbox Wireless Controller
Class: 0x000508
Major class: Peripheral (mouse, joystick, keyboards)
Minor class: 0x02
> HCI Event: Encryption Change (0x08) plen 4 #88 [hci0] 14.779199
Status: Success (0x00)
Handle: 73
Encryption: Enabled with E0 (0x01)
< HCI Command: Read Encryption Key Size (0x05|0x0008) plen 2 #89 [hci0] 14.779238
Handle: 73
> ACL Data RX: Handle 73 flags 0x02 dlen 12 #90 [hci0] 14.779683
L2CAP: Connection Request (0x02) ident 3 len 4
PSM: 17 (0x0011)
Source CID: 64
< ACL Data TX: Handle 73 flags 0x00 dlen 16 #91 [hci0] 14.779737
L2CAP: Connection Response (0x03) ident 3 len 8
Destination CID: 64
Source CID: 64
Result: Connection pending (0x0001)
Status: Authentication pending (0x0001)
> HCI Event: Command Complete (0x0e) plen 7 #92 [hci0] 14.781175
Read Encryption Key Size (0x05|0x0008) ncmd 1
Status: Success (0x00)
Handle: 73
Key size: 16
< ACL Data TX: Handle 73 flags 0x00 dlen 16 #93 [hci0] 14.781212
L2CAP: Connection Response (0x03) ident 3 len 8
Destination CID: 64
Source CID: 64
Result: Connection successful (0x0000)
Status: No further information available (0x0000)
< ACL Data TX: Handle 73 flags 0x00 dlen 23 #94 [hci0] 14.781220
L2CAP: Configure Request (0x04) ident 2 len 15
Destination CID: 64
Flags: 0x0000
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Basic (0x00)
TX window size: 0
Max transmit: 0
Retransmission timeout: 0
Monitor timeout: 0
Maximum PDU size: 0
> HCI Event: Number of Completed Packets (0x13) plen 5 #95 [hci0] 14.784190
Num handles: 1
Handle: 73
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #96 [hci0] 14.785167
Num handles: 1
Handle: 73
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #97 [hci0] 14.786175
Num handles: 1
Handle: 73
Count: 1
> ACL Data RX: Handle 73 flags 0x02 dlen 16 #98 [hci0] 14.787805
L2CAP: Configure Request (0x04) ident 4 len 8
Destination CID: 64
Flags: 0x0000
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 1480
< ACL Data TX: Handle 73 flags 0x00 dlen 18 #99 [hci0] 14.787834
L2CAP: Configure Response (0x05) ident 4 len 10
Source CID: 64
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 1480
> ACL Data RX: Handle 73 flags 0x02 dlen 15 #100 [hci0] 14.789674
L2CAP: Configure Response (0x05) ident 2 len 7
Source CID: 64
Flags: 0x0000
Result: Failure - unknown options (0x0003)
04 .
< ACL Data TX: Handle 73 flags 0x00 dlen 12 #101 [hci0] 14.789711
L2CAP: Configure Request (0x04) ident 3 len 4
Destination CID: 64
Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5 #102 [hci0] 14.792180
Num handles: 1
Handle: 73
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #103 [hci0] 14.794177
Num handles: 1
Handle: 73
Count: 1
> ACL Data RX: Handle 73 flags 0x02 dlen 14 #104 [hci0] 14.799197
L2CAP: Configure Response (0x05) ident 3 len 6
Source CID: 64
Flags: 0x0000
Result: Success (0x0000)
> ACL Data RX: Handle 73 flags 0x02 dlen 12 #105 [hci0] 14.800818
L2CAP: Connection Request (0x02) ident 5 len 4
PSM: 19 (0x0013)
Source CID: 65
< ACL Data TX: Handle 73 flags 0x00 dlen 16 #106 [hci0] 14.800881
L2CAP: Connection Response (0x03) ident 5 len 8
Destination CID: 65
Source CID: 65
Result: Connection pending (0x0001)
Status: Authorization pending (0x0002)
< ACL Data TX: Handle 73 flags 0x00 dlen 16 #107 [hci0] 14.801139
L2CAP: Connection Response (0x03) ident 5 len 8
Destination CID: 65
Source CID: 65
Result: Connection successful (0x0000)
Status: No further information available (0x0000)
< ACL Data TX: Handle 73 flags 0x00 dlen 23 #108 [hci0] 14.801185
L2CAP: Configure Request (0x04) ident 4 len 15
Destination CID: 65
Flags: 0x0000
Option: Retransmission and Flow Control (0x04) [mandatory]
Mode: Basic (0x00)
TX window size: 0
Max transmit: 0
Retransmission timeout: 0
Monitor timeout: 0
Maximum PDU size: 0
> HCI Event: Number of Completed Packets (0x13) plen 5 #109 [hci0] 14.805197
Num handles: 1
Handle: 73
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #110 [hci0] 14.806186
Num handles: 1
Handle: 73
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #111 [hci0] 14.807192
Num handles: 1
Handle: 73
Count: 1
> ACL Data RX: Handle 73 flags 0x02 dlen 16 #112 [hci0] 14.809063
L2CAP: Configure Request (0x04) ident 6 len 8
Destination CID: 65
Flags: 0x0000
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 1480
< ACL Data TX: Handle 73 flags 0x00 dlen 18 #113 [hci0] 14.809100
L2CAP: Configure Response (0x05) ident 6 len 10
Source CID: 65
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 1480
> ACL Data RX: Handle 73 flags 0x02 dlen 15 #114 [hci0] 14.810935
L2CAP: Configure Response (0x05) ident 4 len 7
Source CID: 65
Flags: 0x0000
Result: Failure - unknown options (0x0003)
04 .
< ACL Data TX: Handle 73 flags 0x00 dlen 12 #115 [hci0] 14.810986
L2CAP: Configure Request (0x04) ident 5 len 4
Destination CID: 65
Flags: 0x0000
# the rest will spool some initial input event data we get from the gamepad
However, when I put the gamepad back into pairing mode by holding the connect button for a few seconds (LED starts blinking at 4 Hz), I can run bluetoothctl connect GAMEPAD-MAC to usually connect it just fine (I have no log of this at hand currently).
If I read the first log correctly, the disconnect after sending encryption key size is host initiated. So why does the host sometimes accept the response, and sometimes it doesn't? Is it a timing issue? Because when the host initiates a disconnect, btmon was sitting there for a few seconds with no activity, so maybe some packet is lost? Or something doesn't reply/wait fast enough?