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: Generic Access Service: Read/Write permission of device name and appearance characteritics

Part Number: CC2640R2F

Hi,

We were using the BLE stack 3.02.00.00 of SDK 2.20.00.49. Recently we migrated to BLE stack 3.03.03.00 of SDK 4.10.00.10. We noticed that the device name and appearance characteristics are now writable instead of being readable. It looks it has been done for test purpose.

Here is an extract of the attribute table using BTOOL on stack 3.03.03.00.

Why these characteristics are now writable by default and if this is done on purpose, how do I make them readable only like on BLE stack 3.02.00.00.

Many thanks,

Marc

  • Hi,

    I have assigned someone from the team to comment on this.

    Regards,
    Michael

  • Marc,

    I was able to observe the change in the permissions, too. 

    Please use the function...

    GGS_SetParameter()

    ... to set the following parameters: GGS_W_PERMIT_DEVICE_NAME_ATT and GGS_W_PERMIT_APPEARANCE_ATT.

    Please see their definition on file gapgattserver.h and their sizes. You can also see an example of how to use GGS_SetParameter() by looking at how it is called by function SimplePeripheral_init() to set the device name itself. (I am assuming that you are using simple_peripheral from the blestack folder, and not the one from the ble5stack folder.)

    I hope this helps, but feel free to ask any questions.

    Thanks,

    Luis

  • Hello,

    Thanks for the response.

    Yes I am using something that is dervied from simple_peripheral in the blestack folder.

    I have tested using the following code extract:

    static const uint8 BLE_SRV_genericAccessDeviceName[GAP_DEVICE_NAME_LEN] = CFG_BLE_GENERIC_DEVICE_NAME;
    static const uint8 BLE_SRV_genericAccessPermission =  GATT_PERMIT_READ;
    static const uint16 BLE_SRV_genericAccessAppearence = 0x0000u;
    static const gapPeriConnectParams_t BLE_SRV_genericAccessPreferredConnParam = {
            CFG_BLE_MIN_CONN_INTERVAL,
            CFG_BLE_MAX_CONN_INTERVAL,
            CFG_BLE_SLAVE_LATENCY,
            CFG_BLE_SUPERVISION_TIMEOUT};

    ...

    GGS_SetParameter(GGS_DEVICE_NAME_ATT, sizeof(BLE_SRV_genericAccessDeviceName), &BLE_SRV_genericAccessDeviceName);
    GGS_SetParameter(GGS_W_PERMIT_DEVICE_NAME_ATT, sizeof(BLE_SRV_genericAccessPermission), &BLE_SRV_genericAccessPermission);
    GGS_SetParameter(GGS_APPEARANCE_ATT, sizeof(BLE_SRV_genericAccessAppearence), &BLE_SRV_genericAccessAppearence);
    GGS_SetParameter(GGS_W_PERMIT_APPEARANCE_ATT, sizeof(BLE_SRV_genericAccessPermission), &BLE_SRV_genericAccessPermission);
    GGS_SetParameter(GGS_PERI_CONN_PARAM_ATT, sizeof(BLE_SRV_genericAccessPreferredConnParam), &BLE_SRV_genericAccessPreferredConnParam);

    I still see with BTOOL the device name and appearance characteristics being writable.

    Thanks,

    Marc

  • Marc,

    I tested this myself, too, and got the same results. Unfortunately, this seems to be a functional defect (aka "bug"). I'll notify our dev team immediately and hopefully we can provide a fix on our next release.

    I'll provide you updates on this thread one any developments related to this. If you're satisfied with the response to the inquiry, please mark it "This resolved my issue" (I know, only in some sense!), and stay tuned for when we have a solution.

    Thanks,

    Luis

  • Hi,

    Thanks for the response. I understand the problem. My question is now can this version of BLE stack be used on final BLE product.

    Thanks,

    Marc

  • Hi,

     

    I just want to clarify my last question above. Due to the fact that the device name and appearance characteristics have the write and write without response properties set and the read property not set, can a product with this version of BLE stack be Bluetooth qualified.

     

    Can we have some incompatibilities with iOS or Android because the read property of these 2 characteristics is not set?

     

    Thanks,

     

    Marc

  • Marc,

    I'm actively discussing all of these with my team. I expect to respond in the next two days.

    Thanks for your patience.

    -Luis

  • Marc,

    I'm waiting to gather some more information from my team, but in the meantime, I invite you to check the release notes for relevant information: 

    • The stack is qualified under Bluetooth 5.1 (see Introduction section)
    • This SDK release is covered by QDID 135680 (see Qualification section)

    Also, you can learn how to qualify your BLE product by checking out the document SWRA601C

    I hope this helps. I'll keep you posted.

    -Luis

  • Marc,

    Just a quick update. The issue is the dev team's radar and I expect that they will work on it and fix. I cannot guarantee, however, that it will be fixed in the next release.

    In regards to your question, we are not aware of any incompatibilities with iOS or Android, as we perform IoT testing with multiple smartphones, tablets and other devices before each release.

    Thanks,

    Luis