* [PATCH BlueZ 0/1] input/hog: set notify bit for paired peripherals
@ 2018-07-25 20:07 Simon Schubert
2018-07-25 20:07 ` [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection Simon Schubert
0 siblings, 1 reply; 4+ messages in thread
From: Simon Schubert @ 2018-07-25 20:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Simon Schubert
My Microsoft Bluetooth Mobile Mouse 3600 only works on the first
connection after starting bluetoothd, or on the first connection when
pairing as a new device. The mouse pointer/buttons will not work when
switching the mouse off and on again without restarting bluetoothd.
I've tracked this down to the mouse forgetting the CCC (notify bit)
state across disconnects.
For now, the solution I could come up with is to run the same CCC read
& set notify bit procedure that happens on the first connection to a
device.
btmon logs before and after patch
For the already paired and trusted mouse, this is a btmon log of
unpatched hog-lib when switching the mouse on and off (note the lack
of notify data on handle 0x0016):
Bluetooth monitor ver 5.49
= Note: Linux version 4.17.8-1-ARCH (x86_64) 0.082300
= Note: Bluetooth subsystem version 2.22 0.082302
= New Index: 00:28:F8:25:AA:34 (Primary,USB,hci0) [hci0] 0.082303
= Open Index: 00:28:F8:25:AA:34 [hci0] 0.082304
= Index Info: 00:28:F8:25:AA:34 (Intel Corp.) [hci0] 0.082305
@ MGMT Open: bluetoothd (privileged) version 1.14 {0x0001} 0.082306
@ MGMT Open: btmon (privileged) version 1.14 {0x0002} 0.082323
> HCI Event: LE Meta Event (0x3e) plen 12 #1 [hci0] 4.307405
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable directed - ADV_DIRECT_IND (0x01)
Address type: Random (0x01)
Address: E1:F3:0C:DC:CD:85 (Static)
Data length: 0
RSSI: -45 dBm (0xd3)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #2 [hci0] 4.307482
Scanning: Disabled (0x00)
Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #3 [hci0] 4.312398
LE Set Scan Enable (0x08|0x000c) ncmd 2
Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25 #4 [hci0] 4.312502
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Filter policy: White list is not used (0x00)
Peer address type: Random (0x01)
Peer address: E1:F3:0C:DC:CD:85 (Static)
Own address type: Public (0x00)
Min connection interval: 7.50 msec (0x0006)
Max connection interval: 7.50 msec (0x0006)
Connection latency: 60 (0x003c)
Supervision timeout: 3000 msec (0x012c)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4 #5 [hci0] 4.313386
LE Create Connection (0x08|0x000d) ncmd 2
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19 #6 [hci0] 4.320542
LE Connection Complete (0x01)
Status: Success (0x00)
Handle: 3585
Role: Master (0x00)
Peer address type: Random (0x01)
Peer address: E1:F3:0C:DC:CD:85 (Static)
Connection interval: 7.50 msec (0x0006)
Connection latency: 60 (0x003c)
Supervision timeout: 3000 msec (0x012c)
Master clock accuracy: 0x00
@ MGMT Event: Device Connected (0x000b) plen 13 {0x0002} [hci0] 4.320632
LE Address: E1:F3:0C:DC:CD:85 (Static)
Flags: 0x00000000
Data length: 0
@ MGMT Event: Device Connected (0x000b) plen 13 {0x0001} [hci0] 4.320632
LE Address: E1:F3:0C:DC:CD:85 (Static)
Flags: 0x00000000
Data length: 0
< HCI Command: LE Read Remote Used F.. (0x08|0x0016) plen 2 #7 [hci0] 4.320801
Handle: 3585
> HCI Event: Command Status (0x0f) plen 4 #8 [hci0] 4.321409
LE Read Remote Used Features (0x08|0x0016) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 12 #9 [hci0] 4.330401
LE Read Remote Used Features (0x04)
Status: Success (0x00)
Handle: 3585
Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
LE Encryption
< HCI Command: LE Start Encryption (0x08|0x0019) plen 28 #10 [hci0] 4.330607
Handle: 3585
Random number: 0x5434e71113742647
Encrypted diversifier: 0x6f4c
Long term key: ca7a1e3cacd797c1edcad7efe07d692d
> HCI Event: Command Status (0x0f) plen 4 #11 [hci0] 4.331387
LE Start Encryption (0x08|0x0019) ncmd 1
Status: Success (0x00)
> HCI Event: Encryption Change (0x08) plen 4 #12 [hci0] 4.404539
Status: Success (0x00)
Handle: 3585
Encryption: Enabled with AES-CCM (0x01)
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #13 [hci0] 4.404739
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 517
> HCI Event: Number of Completed Packets (0x13) plen 5 #14 [hci0] 4.412444
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #15 [hci0] 4.419288
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 23
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #16 [hci0] 4.419595
ATT: Read Request (0x0a) len 2
Handle: 0x0003
> HCI Event: Number of Completed Packets (0x13) plen 5 #17 [hci0] 4.427451
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 23 #18 [hci0] 4.434579
ATT: Read Response (0x0b) len 18
Value: 426c7565746f6f74684d6f75736533363030
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #19 [hci0] 4.434904
ATT: Read Request (0x0a) len 2
Handle: 0x0005
> HCI Event: Number of Completed Packets (0x13) plen 5 #20 [hci0] 4.442595
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #21 [hci0] 4.449289
ATT: Read Response (0x0b) len 2
Value: c203
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #22 [hci0] 4.449513
ATT: Read Request (0x0a) len 2
Handle: 0x000d
> HCI Event: Number of Completed Packets (0x13) plen 5 #23 [hci0] 4.457413
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 12 #24 [hci0] 4.464450
ATT: Read Response (0x0b) len 7
Value: 025e0416090001
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #25 [hci0] 4.464686
ATT: Read Request (0x0a) len 2
Handle: 0x0010
> HCI Event: Number of Completed Packets (0x13) plen 5 #26 [hci0] 4.472454
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 6 #27 [hci0] 4.479219
ATT: Read Response (0x0b) len 1
Value: 64
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #28 [hci0] 4.479458
ATT: Read Request (0x0a) len 2
Handle: 0x000d
> HCI Event: Number of Completed Packets (0x13) plen 5 #29 [hci0] 4.487449
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 12 #30 [hci0] 4.494295
ATT: Read Response (0x0b) len 7
Value: 025e0416090001
< ACL Data TX: Handle 3585 flags 0x00 dlen 11 #31 [hci0] 4.494588
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x0001-0xffff
Attribute group type: Primary Service (0x2800)
> HCI Event: Number of Completed Packets (0x13) plen 5 #32 [hci0] 4.502592
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 24 #33 [hci0] 4.509431
ATT: Read By Group Type Response (0x11) len 19
Attribute data length: 6
Attribute group list: 3 entries
Handle range: 0x0001-0x0007
UUID: Generic Access Profile (0x1800)
Handle range: 0x0008-0x0008
UUID: Generic Attribute Profile (0x1801)
Handle range: 0x0009-0x000d
UUID: Device Information (0x180a)
< ACL Data TX: Handle 3585 flags 0x00 dlen 9 #34 [hci0] 4.509695
ATT: Write Request (0x12) len 4
Handle: 0x0011
Data: 0100
> HCI Event: Number of Completed Packets (0x13) plen 5 #35 [hci0] 4.517440
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 5 #36 [hci0] 4.524394
ATT: Write Response (0x13) len 0
< ACL Data TX: Handle 3585 flags 0x00 dlen 11 #37 [hci0] 4.524717
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x000e-0xffff
Attribute group type: Primary Service (0x2800)
> HCI Event: Number of Completed Packets (0x13) plen 5 #38 [hci0] 4.532413
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 18 #39 [hci0] 4.539364
ATT: Read By Group Type Response (0x11) len 13
Attribute data length: 6
Attribute group list: 2 entries
Handle range: 0x000e-0x0011
UUID: Battery Service (0x180f)
Handle range: 0x0012-0xffff
UUID: Human Interface Device (0x1812)
> ACL Data RX: Handle 3585 flags 0x02 dlen 8 #40 [hci0] 7.289940
ATT: Handle Value Notification (0x1b) len 3
Handle: 0x0010
Data: 64
> HCI Event: Disconnect Complete (0x05) plen 4 #41 [hci0] 21.166456
Status: Success (0x00)
Handle: 3585
Reason: Remote User Terminated Connection (0x13)
@ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0002} [hci0] 21.166522
LE Address: E1:F3:0C:DC:CD:85 (Static)
Reason: Connection terminated by remote host (0x03)
@ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0001} [hci0] 21.166522
LE Address: E1:F3:0C:DC:CD:85 (Static)
Reason: Connection terminated by remote host (0x03)
< HCI Command: LE Set Scan Paramet.. (0x08|0x000b) plen 7 #42 [hci0] 21.182661
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Public (0x00)
Filter policy: Accept all advertisement (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #43 [hci0] 21.183445
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #44 [hci0] 21.183500
Scanning: Enabled (0x01)
Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #45 [hci0] 21.184449
LE Set Scan Enable (0x08|0x000c) ncmd 2
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 40 #46 [hci0] 21.389478
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Public (0x00)
Address: 30:FD:38:B3:DE:78 (Google, Inc.)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 02466c59327977336e414d6700000164d2bda061
RSSI: -80 dBm (0xb0)
> HCI Event: LE Meta Event (0x3e) plen 40 #47 [hci0] 21.511487
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Random (0x01)
Address: 57:79:AE:EF:8D:FC (Resolvable)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 0000000000000000000000000000000000000000
RSSI: -68 dBm (0xbc)
> HCI Event: LE Meta Event (0x3e) plen 27 #48 [hci0] 21.574478
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: B8:78:2E:47:B4:F3 (Apple, Inc.)
Data length: 15
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Apple TV (9)
Data: 0300c0a80102
RSSI: -95 dBm (0xa1)
> HCI Event: LE Meta Event (0x3e) plen 27 #49 [hci0] 21.616614
LE Advertising Report (0x02)
Num reports: 1
Event type: Non connectable undirected - ADV_NONCONN_IND (0x03)
Address type: Random (0x01)
Address: 3D:90:6E:0B:65:4C (Non-Resolvable)
Data length: 15
Flags: 0x1b
LE Limited Discoverable Mode
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Apple TV (9)
Data: 030f0a000083
RSSI: -95 dBm (0xa1)
> HCI Event: LE Meta Event (0x3e) plen 26 #50 [hci0] 21.727470
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: 08:66:98:9D:EF:F3 (Apple, Inc.)
Data length: 14
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Unknown (16)
Data: 011033e269
RSSI: -87 dBm (0xa9)
> HCI Event: LE Meta Event (0x3e) plen 40 #51 [hci0] 21.942578
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Random (0x01)
Address: 62:54:CF:2B:06:CA (Resolvable)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 0000000000000000000000000000000000000000
RSSI: -87 dBm (0xa9)
> HCI Event: LE Meta Event (0x3e) plen 40 #52 [hci0] 23.013633
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Random (0x01)
Address: 5B:2C:57:46:EB:21 (Resolvable)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 0000000000000000000000000000000000000000
RSSI: -94 dBm (0xa2)
> HCI Event: LE Meta Event (0x3e) plen 27 #53 [hci0] 23.052634
LE Advertising Report (0x02)
Num reports: 1
Event type: Non connectable undirected - ADV_NONCONN_IND (0x03)
Address type: Random (0x01)
Address: 18:F1:F4:A4:3F:AF (Non-Resolvable)
Data length: 15
Flags: 0x1b
LE Limited Discoverable Mode
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Apple TV (9)
Data: 0395c0a80002
RSSI: -91 dBm (0xa5)
> HCI Event: LE Meta Event (0x3e) plen 26 #54 [hci0] 25.493582
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Random (0x01)
Address: 5F:43:B8:1B:8F:52 (Resolvable)
Data length: 14
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Unknown (16)
Data: 0b1089aa65
RSSI: -98 dBm (0x9e)
> HCI Event: LE Meta Event (0x3e) plen 23 #55 [hci0] 26.083613
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: D0:D2:B0:9D:38:E3 (Apple, Inc.)
Data length: 11
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Unknown (16)
Data: 0100
RSSI: -95 dBm (0xa1)
For the already paired and trusted mouse, this is a btmon log of
patched hog-lib when switching the mouse on and off:
Bluetooth monitor ver 5.49
= Note: Linux version 4.17.8-1-ARCH (x86_64) 0.235878
= Note: Bluetooth subsystem version 2.22 0.235880
= New Index: 00:28:F8:25:AA:34 (Primary,USB,hci0) [hci0] 0.235881
= Open Index: 00:28:F8:25:AA:34 [hci0] 0.235882
= Index Info: 00:28:F8:25:AA:34 (Intel Corp.) [hci0] 0.235882
@ MGMT Open: bluetoothd (privileged) version 1.14 {0x0001} 0.235883
@ MGMT Open: btmon (privileged) version 1.14 {0x0002} 0.235978
> HCI Event: LE Meta Event (0x3e) plen 12 #1 [hci0] 3.106945
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable directed - ADV_DIRECT_IND (0x01)
Address type: Random (0x01)
Address: E1:F3:0C:DC:CD:85 (Static)
Data length: 0
RSSI: -31 dBm (0xe1)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #2 [hci0] 3.107067
Scanning: Disabled (0x00)
Filter duplicates: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #3 [hci0] 3.110986
LE Set Scan Enable (0x08|0x000c) ncmd 2
Status: Success (0x00)
< HCI Command: LE Create Connection (0x08|0x000d) plen 25 #4 [hci0] 3.111094
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Filter policy: White list is not used (0x00)
Peer address type: Random (0x01)
Peer address: E1:F3:0C:DC:CD:85 (Static)
Own address type: Public (0x00)
Min connection interval: 7.50 msec (0x0006)
Max connection interval: 7.50 msec (0x0006)
Connection latency: 60 (0x003c)
Supervision timeout: 3000 msec (0x012c)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4 #5 [hci0] 3.112906
LE Create Connection (0x08|0x000d) ncmd 2
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 19 #6 [hci0] 3.114940
LE Connection Complete (0x01)
Status: Success (0x00)
Handle: 3585
Role: Master (0x00)
Peer address type: Random (0x01)
Peer address: E1:F3:0C:DC:CD:85 (Static)
Connection interval: 7.50 msec (0x0006)
Connection latency: 60 (0x003c)
Supervision timeout: 3000 msec (0x012c)
Master clock accuracy: 0x00
@ MGMT Event: Device Connected (0x000b) plen 13 {0x0002} [hci0] 3.115022
LE Address: E1:F3:0C:DC:CD:85 (Static)
Flags: 0x00000000
Data length: 0
@ MGMT Event: Device Connected (0x000b) plen 13 {0x0001} [hci0] 3.115022
LE Address: E1:F3:0C:DC:CD:85 (Static)
Flags: 0x00000000
Data length: 0
< HCI Command: LE Read Remote Used F.. (0x08|0x0016) plen 2 #7 [hci0] 3.115181
Handle: 3585
> HCI Event: Command Status (0x0f) plen 4 #8 [hci0] 3.115813
LE Read Remote Used Features (0x08|0x0016) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 12 #9 [hci0] 3.127804
LE Read Remote Used Features (0x04)
Status: Success (0x00)
Handle: 3585
Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
LE Encryption
< HCI Command: LE Start Encryption (0x08|0x0019) plen 28 #10 [hci0] 3.128065
Handle: 3585
Random number: 0x5434e71113742647
Encrypted diversifier: 0x6f4c
Long term key: ca7a1e3cacd797c1edcad7efe07d692d
> HCI Event: Command Status (0x0f) plen 4 #11 [hci0] 3.128798
LE Start Encryption (0x08|0x0019) ncmd 1
Status: Success (0x00)
> HCI Event: Encryption Change (0x08) plen 4 #12 [hci0] 3.201934
Status: Success (0x00)
Handle: 3585
Encryption: Enabled with AES-CCM (0x01)
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #13 [hci0] 3.202174
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 517
> HCI Event: Number of Completed Packets (0x13) plen 5 #14 [hci0] 3.209805
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #15 [hci0] 3.216823
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 23
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #16 [hci0] 3.217098
ATT: Read Request (0x0a) len 2
Handle: 0x0010
> HCI Event: Number of Completed Packets (0x13) plen 5 #17 [hci0] 3.224842
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 6 #18 [hci0] 3.231933
ATT: Read Response (0x0b) len 1
Value: 64
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #19 [hci0] 3.232320
ATT: Read Request (0x0a) len 2
Handle: 0x000d
> HCI Event: Number of Completed Packets (0x13) plen 5 #20 [hci0] 3.239841
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 12 #21 [hci0] 3.246885
ATT: Read Response (0x0b) len 7
Value: 025e0416090001
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #22 [hci0] 3.247143
ATT: Read Request (0x0a) len 2
Handle: 0x0003
> HCI Event: Number of Completed Packets (0x13) plen 5 #23 [hci0] 3.254811
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 23 #24 [hci0] 3.262141
ATT: Read Response (0x0b) len 18
Value: 426c7565746f6f74684d6f75736533363030
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #25 [hci0] 3.262478
ATT: Read Request (0x0a) len 2
Handle: 0x0005
> HCI Event: Number of Completed Packets (0x13) plen 5 #26 [hci0] 3.269846
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #27 [hci0] 3.276949
ATT: Read Response (0x0b) len 2
Value: c203
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #28 [hci0] 3.277228
ATT: Read Request (0x0a) len 2
Handle: 0x0017
> HCI Event: Number of Completed Packets (0x13) plen 5 #29 [hci0] 3.284936
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #30 [hci0] 3.291859
ATT: Read Response (0x0b) len 2
Value: 0000
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #31 [hci0] 3.292071
ATT: Read Request (0x0a) len 2
Handle: 0x001b
> HCI Event: Number of Completed Packets (0x13) plen 5 #32 [hci0] 3.299935
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #33 [hci0] 3.306845
ATT: Read Response (0x0b) len 2
Value: 0000
< ACL Data TX: Handle 3585 flags 0x00 dlen 7 #34 [hci0] 3.307123
ATT: Read Request (0x0a) len 2
Handle: 0x001f
> HCI Event: Number of Completed Packets (0x13) plen 5 #35 [hci0] 3.314855
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 7 #36 [hci0] 3.321935
ATT: Read Response (0x0b) len 2
Value: 0000
< ACL Data TX: Handle 3585 flags 0x00 dlen 11 #37 [hci0] 3.322200
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x0001-0xffff
Attribute group type: Primary Service (0x2800)
> HCI Event: Number of Completed Packets (0x13) plen 5 #38 [hci0] 3.329810
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 24 #39 [hci0] 3.336982
ATT: Read By Group Type Response (0x11) len 19
Attribute data length: 6
Attribute group list: 3 entries
Handle range: 0x0001-0x0007
UUID: Generic Access Profile (0x1800)
Handle range: 0x0008-0x0008
UUID: Generic Attribute Profile (0x1801)
Handle range: 0x0009-0x000d
UUID: Device Information (0x180a)
< ACL Data TX: Handle 3585 flags 0x00 dlen 9 #40 [hci0] 3.337217
ATT: Write Request (0x12) len 4
Handle: 0x0011
Data: 0100
> HCI Event: Number of Completed Packets (0x13) plen 5 #41 [hci0] 3.344954
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 5 #42 [hci0] 3.351938
ATT: Write Response (0x13) len 0
< ACL Data TX: Handle 3585 flags 0x00 dlen 9 #43 [hci0] 3.352243
ATT: Write Request (0x12) len 4
Handle: 0x0017
Data: 0100
> HCI Event: Number of Completed Packets (0x13) plen 5 #44 [hci0] 3.359800
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 5 #45 [hci0] 3.366696
ATT: Write Response (0x13) len 0
< ACL Data TX: Handle 3585 flags 0x00 dlen 9 #46 [hci0] 3.367127
ATT: Write Request (0x12) len 4
Handle: 0x001b
Data: 0100
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #47 [hci0] 3.367587
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001000000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #48 [hci0] 3.374524
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100000000000000
> HCI Event: Number of Completed Packets (0x13) plen 5 #49 [hci0] 3.374792
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 5 #50 [hci0] 3.381701
ATT: Write Response (0x13) len 0
< ACL Data TX: Handle 3585 flags 0x00 dlen 9 #51 [hci0] 3.381918
ATT: Write Request (0x12) len 4
Handle: 0x001f
Data: 0100
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #52 [hci0] 3.382846
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100000000000000
> HCI Event: Number of Completed Packets (0x13) plen 5 #53 [hci0] 3.389840
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 5 #54 [hci0] 3.396810
ATT: Write Response (0x13) len 0
< ACL Data TX: Handle 3585 flags 0x00 dlen 11 #55 [hci0] 3.397069
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x000e-0xffff
Attribute group type: Primary Service (0x2800)
> HCI Event: Number of Completed Packets (0x13) plen 5 #56 [hci0] 3.404803
Num handles: 1
Handle: 3585
Count: 1
> ACL Data RX: Handle 3585 flags 0x02 dlen 18 #57 [hci0] 3.411936
ATT: Read By Group Type Response (0x11) len 13
Attribute data length: 6
Attribute group list: 2 entries
Handle range: 0x000e-0x0011
UUID: Battery Service (0x180f)
Handle range: 0x0012-0xffff
UUID: Human Interface Device (0x1812)
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #58 [hci0] 3.434395
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #59 [hci0] 3.539439
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #60 [hci0] 3.546878
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000060000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #61 [hci0] 3.554510
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #62 [hci0] 3.577108
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000feff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #63 [hci0] 3.584546
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000feff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #64 [hci0] 3.592066
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #65 [hci0] 3.636933
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00feff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #66 [hci0] 3.644581
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fbff030000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #67 [hci0] 3.652060
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00ffff010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #68 [hci0] 3.711936
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #69 [hci0] 3.981934
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #70 [hci0] 4.034620
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #71 [hci0] 4.042037
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #72 [hci0] 4.386934
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000feff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #73 [hci0] 4.394964
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000eeff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #74 [hci0] 4.402039
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #75 [hci0] 4.522069
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #76 [hci0] 4.529433
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #77 [hci0] 4.536898
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #78 [hci0] 4.566902
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #79 [hci0] 5.557009
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00ffff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #80 [hci0] 5.564959
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f2ff080000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #81 [hci0] 5.572041
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00eeff0a0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #82 [hci0] 5.579461
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f3ff090000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #83 [hci0] 5.587093
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f2ff0a0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #84 [hci0] 5.601828
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f3ff090000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #85 [hci0] 5.602625
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00faff040000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #86 [hci0] 5.609396
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f2ff0c0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #87 [hci0] 5.616932
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f4ff0a0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #88 [hci0] 5.624432
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f4ff0d0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #89 [hci0] 5.631931
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f4ff0d0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #90 [hci0] 5.639409
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f6ff100000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #91 [hci0] 5.647101
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f8ff0f0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #92 [hci0] 5.654600
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f7ff0e0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #93 [hci0] 5.662064
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f9ff0f0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #94 [hci0] 5.669440
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fbff0e0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #95 [hci0] 5.677104
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fcff0d0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #96 [hci0] 5.684537
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00feff0b0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #97 [hci0] 5.691931
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00feff0b0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #98 [hci0] 5.699404
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00feff0a0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #99 [hci0] 5.707055
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 0000000a0000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #100 [hci0] 5.714622
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000090000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #101 [hci0] 5.721930
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000200080000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #102 [hci0] 5.729441
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000300080000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #103 [hci0] 5.737109
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000200070000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #104 [hci0] 5.744564
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000200060000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #105 [hci0] 5.751936
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000300040000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #106 [hci0] 5.759445
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000200030000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #107 [hci0] 5.767823
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000200020000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #108 [hci0] 5.789437
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #109 [hci0] 5.797050
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #110 [hci0] 5.804466
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000300000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #111 [hci0] 5.811938
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000500000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #112 [hci0] 5.819437
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000600ffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #113 [hci0] 5.827050
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000b00fcff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #114 [hci0] 5.834592
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000c00fbff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #115 [hci0] 5.842110
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000f00faff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #116 [hci0] 5.849426
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001000f8ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #117 [hci0] 5.856939
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001200f8ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #118 [hci0] 5.864426
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001200f7ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #119 [hci0] 5.872042
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001200f6ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #120 [hci0] 5.879437
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 001100f6ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #121 [hci0] 5.886935
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000f00f6ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #122 [hci0] 5.894614
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000d00f7ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #123 [hci0] 5.902113
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000c00f7ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #124 [hci0] 5.909400
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000900f8ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #125 [hci0] 5.916934
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000700f6ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #126 [hci0] 5.924436
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000300f9ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #127 [hci0] 5.932059
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100f9ff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #128 [hci0] 5.939438
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100fbff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #129 [hci0] 5.947102
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000faff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #130 [hci0] 5.954409
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fffffbff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #131 [hci0] 5.961938
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fffffbff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #132 [hci0] 5.969933
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fcfffaff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #133 [hci0] 5.976990
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fcfffcff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #134 [hci0] 5.984548
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00faffffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #135 [hci0] 5.991942
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f8ffffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #136 [hci0] 5.999404
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f8ff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #137 [hci0] 6.007109
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00f8ffffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #138 [hci0] 6.014619
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00faffffff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #139 [hci0] 6.021931
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00faff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #140 [hci0] 6.029434
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00fcff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #141 [hci0] 6.037101
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00feff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #142 [hci0] 6.044410
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00ffff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 8 #143 [hci0] 6.045163
ATT: Handle Value Notification (0x1b) len 3
Handle: 0x0010
Data: 64
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #144 [hci0] 6.052066
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 00ffff000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #145 [hci0] 6.067065
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #146 [hci0] 6.089399
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #147 [hci0] 6.134567
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #148 [hci0] 6.141898
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #149 [hci0] 6.149435
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #150 [hci0] 6.157103
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100020000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #151 [hci0] 6.164613
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #152 [hci0] 6.172404
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100010000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #153 [hci0] 6.179409
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100000000000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #154 [hci0] 6.187049
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000100fdff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #155 [hci0] 6.194588
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000feff00000000
> ACL Data RX: Handle 3585 flags 0x02 dlen 16 #156 [hci0] 7.499393
ATT: Handle Value Notification (0x1b) len 11
Handle: 0x0016
Data: 000000000000000000
> HCI Event: Disconnect Complete (0x05) plen 4 #157 [hci0] 7.514938
Status: Success (0x00)
Handle: 3585
Reason: Remote User Terminated Connection (0x13)
@ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0002} [hci0] 7.515020
LE Address: E1:F3:0C:DC:CD:85 (Static)
Reason: Connection terminated by remote host (0x03)
@ MGMT Event: Device Disconnected (0x000c) plen 8 {0x0001} [hci0] 7.515020
LE Address: E1:F3:0C:DC:CD:85 (Static)
Reason: Connection terminated by remote host (0x03)
< HCI Command: LE Set Scan Paramet.. (0x08|0x000b) plen 7 #158 [hci0] 7.542679
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Public (0x00)
Filter policy: Accept all advertisement (0x00)
> HCI Event: Command Complete (0x0e) plen 4 #159 [hci0] 7.543806
LE Set Scan Parameters (0x08|0x000b) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Scan Enable (0x08|0x000c) plen 2 #160 [hci0] 7.543861
Scanning: Enabled (0x01)
Filter duplicates: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4 #161 [hci0] 7.544810
LE Set Scan Enable (0x08|0x000c) ncmd 2
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 26 #162 [hci0] 7.679838
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: 08:66:98:9D:EF:F3 (Apple, Inc.)
Data length: 14
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Unknown (16)
Data: 011033e269
RSSI: -88 dBm (0xa8)
> HCI Event: LE Meta Event (0x3e) plen 27 #163 [hci0] 7.684951
LE Advertising Report (0x02)
Num reports: 1
Event type: Non connectable undirected - ADV_NONCONN_IND (0x03)
Address type: Random (0x01)
Address: 18:F1:F4:A4:3F:AF (Non-Resolvable)
Data length: 15
Flags: 0x1b
LE Limited Discoverable Mode
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Apple TV (9)
Data: 0395c0a80002
RSSI: -88 dBm (0xa8)
> HCI Event: LE Meta Event (0x3e) plen 40 #164 [hci0] 7.786954
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Random (0x01)
Address: 57:79:AE:EF:8D:FC (Resolvable)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 0000000000000000000000000000000000000000
RSSI: -77 dBm (0xb3)
> HCI Event: LE Meta Event (0x3e) plen 40 #165 [hci0] 7.792944
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Public (0x00)
Address: 30:FD:38:B3:DE:78 (Google, Inc.)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 02466c59327977336e414d6700000164d2bda061
RSSI: -83 dBm (0xad)
> HCI Event: LE Meta Event (0x3e) plen 40 #166 [hci0] 8.832945
LE Advertising Report (0x02)
Num reports: 1
Event type: Scannable undirected - ADV_SCAN_IND (0x02)
Address type: Random (0x01)
Address: 51:49:C5:53:C3:25 (Resolvable)
Data length: 28
16-bit Service UUIDs (complete): 1 entry
Google (0xfe9f)
Service Data (UUID 0xfe9f): 0000000000000000000000000000000000000000
RSSI: -85 dBm (0xab)
> HCI Event: LE Meta Event (0x3e) plen 27 #167 [hci0] 9.285967
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: B8:78:2E:47:B4:F3 (Apple, Inc.)
Data length: 15
Flags: 0x1a
LE General Discoverable Mode
Simultaneous LE and BR/EDR (Controller)
Simultaneous LE and BR/EDR (Host)
Company: Apple, Inc. (76)
Type: Apple TV (9)
Data: 0300c0a80102
RSSI: -88 dBm (0xa8)
Simon Schubert (1):
input/hog-lib: set notify bit on every connection
profiles/input/hog-lib.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--
2.18.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection
2018-07-25 20:07 [PATCH BlueZ 0/1] input/hog: set notify bit for paired peripherals Simon Schubert
@ 2018-07-25 20:07 ` Simon Schubert
2018-07-26 8:40 ` Luiz Augusto von Dentz
0 siblings, 1 reply; 4+ messages in thread
From: Simon Schubert @ 2018-07-25 20:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Simon Schubert
At least the Microsoft Bluetooth Mobile Mouse 3600 does not persist
the CCC. To work around this bug, we check and process the CCC like
we would do for an initial discovery.
---
profiles/input/hog-lib.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
index d9ed80689..d3439b8ba 100644
--- a/profiles/input/hog-lib.c
+++ b/profiles/input/hog-lib.c
@@ -1610,10 +1610,10 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt)
for (l = hog->reports; l; l = l->next) {
struct report *r = l->data;
- r->notifyid = g_attrib_register(hog->attrib,
- ATT_OP_HANDLE_NOTIFY,
- r->value_handle,
- report_value_cb, r, NULL);
+ if (r->type == HOG_REPORT_TYPE_INPUT) {
+ read_char(r->hog, r->hog->attrib,
+ r->ccc_handle, ccc_read_cb, r);
+ }
}
return true;
--
2.18.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection
2018-07-25 20:07 ` [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection Simon Schubert
@ 2018-07-26 8:40 ` Luiz Augusto von Dentz
2018-07-26 23:50 ` Simon Schubert
0 siblings, 1 reply; 4+ messages in thread
From: Luiz Augusto von Dentz @ 2018-07-26 8:40 UTC (permalink / raw)
To: Simon Schubert; +Cc: linux-bluetooth
Hi Simon,
On Wed, Jul 25, 2018 at 11:07 PM, Simon Schubert <2@0x2c.org> wrote:
> At least the Microsoft Bluetooth Mobile Mouse 3600 does not persist
> the CCC. To work around this bug, we check and process the CCC like
> we would do for an initial discovery.
> ---
> profiles/input/hog-lib.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
> index d9ed80689..d3439b8ba 100644
> --- a/profiles/input/hog-lib.c
> +++ b/profiles/input/hog-lib.c
> @@ -1610,10 +1610,10 @@ bool bt_hog_attach(struct bt_hog *hog, void *gatt)
> for (l = hog->reports; l; l = l->next) {
> struct report *r = l->data;
>
> - r->notifyid = g_attrib_register(hog->attrib,
> - ATT_OP_HANDLE_NOTIFY,
> - r->value_handle,
> - report_value_cb, r, NULL);
> + if (r->type == HOG_REPORT_TYPE_INPUT) {
> + read_char(r->hog, r->hog->attrib,
> + r->ccc_handle, ccc_read_cb, r);
> + }
There is a task to convert bt_hog instance to use bt_gatt_client
instead of GAttrib, that would fix this problem since
bt_gatt_client_register_notify always write to the CCC for the first
subscription.
> }
>
> return true;
> --
> 2.18.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection
2018-07-26 8:40 ` Luiz Augusto von Dentz
@ 2018-07-26 23:50 ` Simon Schubert
0 siblings, 0 replies; 4+ messages in thread
From: Simon Schubert @ 2018-07-26 23:50 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
On 2018-07-26 04:40, Luiz Augusto von Dentz wrote:
> There is a task to convert bt_hog instance to use bt_gatt_client
> instead of GAttrib, that would fix this problem since
> bt_gatt_client_register_notify always write to the CCC for the first
> subscription.
Do you have a link? Given that this present patch is much less involved
than rewriting bt_hog to use bt_gatt_client, I'd prefer to process this
patch first before getting into larger rewrites.
cheers
simon
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-07-26 23:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-25 20:07 [PATCH BlueZ 0/1] input/hog: set notify bit for paired peripherals Simon Schubert
2018-07-25 20:07 ` [PATCH BlueZ 1/1] input/hog-lib: set notify bit on every connection Simon Schubert
2018-07-26 8:40 ` Luiz Augusto von Dentz
2018-07-26 23:50 ` Simon Schubert
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.