Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First Read of a Secure Characteristic After Pairing Wrongfully Updates Other Secure Characteristics #1461

Open
mdiehl23 opened this issue Nov 17, 2023 · 1 comment
Labels
Backend: WinRT Issues or PRs relating to the WinRT backend more info required Issues does not have a reproducible test case, has insufficent logs or otherwise needs more feedback

Comments

@mdiehl23
Copy link

mdiehl23 commented Nov 17, 2023

  • bleak version: 0.21.1
  • Python version: 3.12.0
  • Operating System: Windows 10
  • BlueZ version (bluetoothctl -v) in case of Linux:

Description

I have multiple secure characteristics in different services that require authentication (pairing) to read. Upon connecting to my device for the first time and pairing, my first subsequent read seems to read all secure characteristics and update their values even though I am only trying to read a single characteristic. This is causing me to lose data. However, if I connect, pair, and disconnect, then connect again and read, my device behaves as expected. I have not had this issue with any other BLE clients, only bleak.

What I Did

 client = BleakClient(dev)

 client.connect()
 client.pair()

 # This value is expected
 client.read_gatt_char(any_secure_uuid)

 # This returns an unexpected value
 client.read_gatt_char(any_other_secure_uuid)

 # This also returns an unexpected value
 client.read_gatt_char(any_other_secure_uuid_2)

 client.disconnect()

Logs

2023-11-17 15:07:20,705 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:20,810 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:20,811 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:20,915 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:20,928 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:21,037 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,037 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,156 bleak.backends.winrt.scanner MainThread DEBUG: Received DA:49:D9:B9:45:48: .
2023-11-17 15:07:21,287 bleak.backends.winrt.scanner MainThread DEBUG: Received 16:B7:5C:ED:EA:02: .
2023-11-17 15:07:21,389 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,390 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,406 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,407 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,505 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:21,505 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:21,513 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,514 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,515 bleak.backends.winrt.scanner MainThread DEBUG: Received 6D:21:48:0D:EE:C8: .
2023-11-17 15:07:21,520 bleak.backends.winrt.scanner MainThread DEBUG: Received C4:9C:15:8D:8C:F1: .
2023-11-17 15:07:21,525 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,631 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,638 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,639 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,643 bleak.backends.winrt.scanner MainThread DEBUG: Received E6:68:39:F8:7B:FC: .
2023-11-17 15:07:21,648 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:21,738 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,739 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:21,740 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:21,754 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:21,862 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:22,223 bleak.backends.winrt.scanner MainThread DEBUG: Received 35:A4:09:94:2D:BC: .
2023-11-17 15:07:22,230 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,354 bleak.backends.winrt.scanner MainThread DEBUG: Received D4:AD:FC:7B:65:CB: GBK_H619D_65CB.
2023-11-17 15:07:22,459 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:22,460 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:22,469 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,470 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,471 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:22,575 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,576 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,578 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:22,686 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: S7100.
2023-11-17 15:07:22,686 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: .
2023-11-17 15:07:22,694 bleak.backends.winrt.scanner MainThread DEBUG: Received 5C:C1:D7:CB:DF:01: .
2023-11-17 15:07:22,704 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:22,809 bleak.backends.winrt.scanner MainThread DEBUG: Received 53:0E:84:D5:82:55: .
2023-11-17 15:07:22,820 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:22,825 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:22,931 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: S7100.
2023-11-17 15:07:22,931 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: .
2023-11-17 15:07:22,937 bleak.backends.winrt.scanner MainThread DEBUG: Received 6D:21:48:0D:EE:C8: .
2023-11-17 15:07:22,938 bleak.backends.winrt.scanner MainThread DEBUG: Received 6D:21:48:0D:EE:C8: .
2023-11-17 15:07:23,054 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:23,159 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:23,162 bleak.backends.winrt.scanner MainThread DEBUG: Received B8:16:5F:00:3C:E5: .
2023-11-17 15:07:23,163 bleak.backends.winrt.scanner MainThread DEBUG: Received 5E:DB:C5:62:65:B1: .
2023-11-17 15:07:23,171 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: S7100.
2023-11-17 15:07:23,171 bleak.backends.winrt.scanner MainThread DEBUG: Received EC:C2:CC:F4:A3:F7: .
2023-11-17 15:07:23,172 bleak.backends.winrt.scanner MainThread DEBUG: Received 5C:C1:D7:CB:DF:01: .
2023-11-17 15:07:23,181 bleak.backends.winrt.scanner MainThread DEBUG: Received 53:0E:84:D5:82:55: .
2023-11-17 15:07:23,282 bleak.backends.winrt.scanner MainThread DEBUG: Received 35:A4:09:94:2D:BC: .
2023-11-17 15:07:23,415 bleak.backends.winrt.scanner MainThread DEBUG: Received 4E:6C:53:D9:AE:23: .
2023-11-17 15:07:23,416 bleak.backends.winrt.scanner MainThread DEBUG: Received 4E:6C:53:D9:AE:23: .
2023-11-17 15:07:23,417 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:23,424 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:23,425 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:23,426 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:23,438 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:23,439 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:23,519 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:23,520 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:23,521 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:23,636 bleak.backends.winrt.scanner MainThread DEBUG: Received 5C:C1:D7:CB:DF:01: .
2023-11-17 15:07:23,648 bleak.backends.winrt.scanner MainThread DEBUG: Received E6:68:39:F8:7B:FC: .
2023-11-17 15:07:23,749 bleak.backends.winrt.scanner MainThread DEBUG: Received 4C:46:90:5B:7F:6C: .
2023-11-17 15:07:23,761 bleak.backends.winrt.scanner MainThread DEBUG: Received 60:0F:75:02:2A:95: .
2023-11-17 15:07:23,869 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:23,999 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,000 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,001 bleak.backends.winrt.scanner MainThread DEBUG: Received 5E:DB:C5:62:65:B1: .
2023-11-17 15:07:24,013 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:24,014 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:24,106 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:24,107 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:24,110 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,110 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,124 bleak.backends.winrt.scanner MainThread DEBUG: Received 35:A4:09:94:2D:BC: .
2023-11-17 15:07:24,238 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:24,239 bleak.backends.winrt.scanner MainThread DEBUG: Received 71:DD:41:38:5B:99: .
2023-11-17 15:07:24,349 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,349 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,467 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:24,470 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:24,471 bleak.backends.winrt.scanner MainThread DEBUG: Received 08:66:98:A3:72:50: .
2023-11-17 15:07:24,475 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:24,477 bleak.backends.winrt.scanner MainThread DEBUG: Received DF:57:FE:93:E6:1E: .
2023-11-17 15:07:24,588 bleak.backends.winrt.scanner MainThread DEBUG: Received D4:AD:FC:7B:65:CB: GBK_H619D_65CB.
2023-11-17 15:07:24,712 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,712 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,819 bleak.backends.winrt.scanner MainThread DEBUG: Received D4:AD:FC:7B:65:CB: GBK_H619D_65CB.
2023-11-17 15:07:24,942 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:24,944 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:24,949 bleak.backends.winrt.scanner MainThread DEBUG: Received B8:16:5F:00:3C:E5: .
2023-11-17 15:07:25,053 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:25,054 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:25,059 bleak.backends.winrt.scanner MainThread DEBUG: Received B8:16:5F:00:3C:E5: .
2023-11-17 15:07:25,068 bleak.backends.winrt.scanner MainThread DEBUG: Received 35:A4:09:94:2D:BC: .
2023-11-17 15:07:25,071 bleak.backends.winrt.scanner MainThread DEBUG: Received 4E:6C:53:D9:AE:23: .
2023-11-17 15:07:25,072 bleak.backends.winrt.scanner MainThread DEBUG: Received 4E:6C:53:D9:AE:23: .
2023-11-17 15:07:25,079 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:25,080 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:25,176 bleak.backends.winrt.scanner MainThread DEBUG: Received 44:5C:E9:DD:03:0F: .
2023-11-17 15:07:25,178 bleak.backends.winrt.scanner MainThread DEBUG: Received DA:49:D9:B9:45:48: .
2023-11-17 15:07:25,290 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:25,294 bleak.backends.winrt.scanner MainThread DEBUG: Received 6D:21:48:0D:EE:C8: .
2023-11-17 15:07:25,295 bleak.backends.winrt.scanner MainThread DEBUG: Received 6D:21:48:0D:EE:C8: .
2023-11-17 15:07:25,299 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:25,327 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:25,332 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:25,332 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:6D:03:40: ihoment_H6159_0340.
2023-11-17 15:07:25,405 bleak.backends.winrt.scanner MainThread DEBUG: Received A4:C1:38:3C:65:00: ihoment_H6159_6500.
2023-11-17 15:07:25,409 bleak.backends.winrt.scanner MainThread DEBUG: Received 54:0C:50:CF:08:28: .
2023-11-17 15:07:25,412 bleak.backends.winrt.scanner MainThread DEBUG: Received 60:0F:75:02:2A:95: .
2023-11-17 15:07:25,422 bleak.backends.winrt.scanner MainThread DEBUG: Received 24:4F:D2:6C:DF:80: .
2023-11-17 15:07:25,520 bleak.backends.winrt.scanner MainThread DEBUG: Received 44:5C:E9:DD:03:0F: .
2023-11-17 15:07:25,527 bleak.backends.winrt.scanner MainThread DEBUG: Received C4:9C:15:8D:8C:F1: .
2023-11-17 15:07:25,534 bleak.backends.winrt.scanner MainThread DEBUG: Received 5C:C1:D7:CB:DF:01: .
2023-11-17 15:07:25,619 bleak.backends.winrt.scanner MainThread DEBUG: 23 devices found. Watcher status: <BluetoothLEAdvertisementWatcherStatus.STOPPED: 3>.
2023-11-17 15:07:25,628 bleak.backends.winrt.client MainThread DEBUG: Connecting to BLE device @ EC:C2:CC:F4:A3:F7
2023-11-17 15:07:25,652 bleak.backends.winrt.client MainThread DEBUG: getting services (service_cache_mode=<BluetoothCacheMode.UNCACHED: 1>, cache_mode=<BluetoothCacheMode.UNCACHED: 1>)...
2023-11-17 15:07:25,882 bleak.backends.winrt.client Dummy-1 DEBUG: session_status_changed_event_handler: id: BluetoothLE#BluetoothLEe0:2e:0b:89:d5:c7-ec:c2:cc:f4:a3:f7, error: <BluetoothError.SUCCESS: 0>, status: <GattSessionStatus.ACTIVE: 1>
2023-11-17 15:07:25,914 bleak.backends.winrt.client Dummy-2 DEBUG: max_pdu_size_changed_handler: 498
2023-11-17 15:07:26,661 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,718 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,774 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,832 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,886 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,939 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:26,994 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:27,047 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:27,100 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:27,155 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:27,213 bleak.backends.winrt.client Dummy-2 DEBUG: EC:C2:CC:F4:A3:F7: services changed
2023-11-17 15:07:29,391 bleak.backends.winrt.client MainThread INFO: Paired to device with protection level <DevicePairingProtectionLevel.NONE: 1>.
@dlech
Copy link
Collaborator

dlech commented Nov 18, 2023

I would suggest logging Bluetooth packets to see what is different between the working and not working cases.

@dlech dlech added Backend: WinRT Issues or PRs relating to the WinRT backend more info required Issues does not have a reproducible test case, has insufficent logs or otherwise needs more feedback labels Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend: WinRT Issues or PRs relating to the WinRT backend more info required Issues does not have a reproducible test case, has insufficent logs or otherwise needs more feedback
Projects
None yet
Development

No branches or pull requests

2 participants