Problem ATTERR_APP_BEGIN in NRF Connect app

Hello,

I would like to know wich step I forget to do to send more than 20 bytes in NRF Connect app to a BL652. I followed some talks and subjects about it but it's doesn't work

I changed the NRF_SDH_BLE_GATT_MAX_MTU_SIZE by 64 in the sdk_config.h.

I saw in "BL652 Data Length Extension.pdf", if I changed this parameter I must changed the NRF_SDH_BLE_GAP_DATA_LENGTH parameter (NRF_SDH_BLE_GATT_MAX_MTU_SIZE +  4)

That's true?

Next, I increased NRF_SDH_BLE_GAP_EVENT_LENGTH to 10.

I modified accordingly the RAM START and SIZE in option.

After this modifications, I don't understand why my characteristic doesn't work with more 20 bytes.

Thanks for your help.

CME

  • Hi

    I'm sorry, but can you show me the log from the nRFConnect app that prints this error? I haven't seen a ATTERR_APP_BEGIN message here before. Also, are you using nRFConnect for Desktop's BLE application and a DK or the nRFConnect for Mobile app to communicate  with the BL652 device?

    Is there a connection parameter update in the connection between the devices setting MTU size at all? And are you certain that the device you're communicating with supports packets larger than 23 bytes?

    Best regards,

    Simon

    PS: We will be short on staff during the Holiday period, and delayed replies must be expected. We will be back to full staff on January 3rd. Happy holidays and happy new year!

  • The first picture shows a connection with 20 useful data. The sending is right.

    The second picture is a sending with one more useful byte.

    For this test, I use a nrf51 Dongle which identified in the first picture and the desktop app of NRF Connect.

    PS : My softdevice is a S132.

    Best Regards,

    CME

  • Hi

    The MTU size is changed based on a negotiation between master and slave devices in an ATT exchange MTU request/response, where the lowest value in the negotiation is chosen. Your BL652 module supports larger MTU sizes, but the SoftDevices for nRF51 series devices (S110, S120, S130) only support an MTU_SIZE of 23, which limits the user data to 20 bytes because of the 3 byte overload required.

    Best regards,

    Simon

Related