Skip to content

Sending chr changed valued directly with out notification? #123

@stophin

Description

@stophin

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate.
  • Provided a clear description of your suggestion.
  • Included any relevant context or examples.

Issue or Suggestion Description

I'm using nimble as esp-blufi components in esp32c6.
And I'm not using EspBluFi apk: https://github.com/EspressifApp/EspBlufiForAndroid
but created a new apk which follows BlueFi protocol stack: https://github.com/espressif/esp-idf/blob/v4.3/docs/en/api-guides/blufi.rst
and give no notification (say not calling android.bluetooth.BluetoothGatt.setCharacteristicNotification)

I'm not quiet sure, but following the revoking thread it indeed act as the subject of this issue.
ble_att_clt_tx_notify
ble_gatts_notify_custom

1.Any event (like gatt) calls ble_gatts_notify_custom
2.ble_gatts_notify_custom calls ble_att_clt_tx_notify
3.ble_att_clt_tx_notify use BLE_ATT_OP_NOTIFY_REQ(Handle Value Notification PDU(0x1B)) to send notify
4.the whole proceduer can be tested without client sending notification(0x100)!
5.client got the chr changed value with out notification enabled.

I assume there's no CCCD check in nimble (maybe wrong? Please Tell me why and where?)
and need confirmation or some guidance in this issue.
The apk without notification can hardly adapt to other BLE stack utils like bluez5 in linux,
which actually had strong cccd check (see bluez issue: bluez/bluez#2007)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions