Skip to content

GattCharacteristic.ProtectionLevel fails #2473

@corby

Description

@corby

I have a BLE device that has several services including one custom service with 2 characteristics.
The CHARs are setup as RX/TX. The RX CHAR receives commands and the TX CHAR sends responses using NOTIFY.
Everything works fine using BluetoothLEDevice to connect and read.
I can also configure the CCCD on the standard CHARs to send nodifications.

Here's the problem:
The custom TX CHAR has AUTHENTICATION_REQUIRED set on the CCCDescriptor.
So when I call. WriteClientCharacteristicConfigurationDescriptorAsync I get an AccessDenied error and a message saying I need to enable Authentication before writing to this attribute.

I've tried the following:

  • DeviceInformationPairing.PairingAsync - Doesn't do anything. protection level set to PLAIN.
  • Custom Pairing - ConfirmOnly with handler. Nothing. Protection level == PLAIN
  • Scan and read in all Chars and set ProtectionLevel.AuthenticationRequired. When I write the CCCD after this I get an UNREACHABLE error

I'm at a loss on how to get this device to read using windows (Linux DBus, MacOSX CoreDevice, and nRF softdevice have no issues)

I'm using python with winrt bindings

Metadata

Metadata

Assignees

Labels

Pri3Topic is in the bottom 50% of page views for the repo or was not created via Feedback control.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions