This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Follow up to: Generic Access Service: Read/Write permission of device name and appearance characteristics

Part Number: CC2640R2F

Tool/software:

In this thread https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/906677/cc2640r2f-generic-access-service-read-write-permission-of-device-name-and-appearance-characteritics

from 5 years ago, it was acknowledged that there was a bug in the Blestack where the permissions for device name and appearance characteristics were showing up as writable, and couldnt be changed via the parameters GGS_W_PERMIT_DEVICE_NAME_ATT and GGS_W_PERMIT_APPEARANCE_ATT

Is this still unresolved? I do not see it as being tracked as a known issue for the stack in when the SDK was re-issued in 2024, but I also see the same issue in my application. So I'm unclear as to whether I'm doing something wrong or not.

  • Hi !

    According to our internal issue tracking tool, we have fixed this issue in July 2020. Here is what the engineer who fixed the issue had to say :

    I checked this issue and I think that GGS_SetParameter() works as it should for these reasons:
    GGS_W_PERMIT_DEVICE_NAME_ATT and GGS_W_PERMIT_APPEARANCE_ATT should be with read permission as the spec states, therefore the app cannot change the read permissions, only the write permissions which are optional.
    The customer tried to add read permission, but this option is not supported because we work by the spec and it should be readable at all time. (we fixed the default permission to be read,write and write_no_response).
    Note: if one wants to disable the write permission, he should make the call like this:
    GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT , ..., 0);

    You should be able to disable writes to the device name and appearance by calling GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT , 0, 0);

    Kind regards,
    Maxence

  • You should be able to disable writes to the device name and appearance by calling GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT , 0, 0);

    This did not disable the write. GGS_SetParameter returned a non-zero value using this code. 

    The correct solution was:

    static const uint8_t s_write_permit_device_name = 0;

    GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT , 1, &s_write_permit_device_name );