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.

CCS/CC2640R2F: Recvd Error Response - Insufficient Resources

Part Number: CC2640R2F

Tool/software: Code Composer Studio

Hi,

SDK:simplelink_cc2640r2_sdk_4_30_00_08 & simplelink_cc2640r2_sdk_3_20_00_21.CCS: Version: 9.0.1.00004 .

After several times of connection to a slave device of CC2640R2F by using mobile APP, it failed to read out the list of services from the slave device. Error Code: Insufficient Resources (0x11) by grabbing the packet.But

this error occurs only on some phones.Please help to analyze the reasons and optimize them.

  • Hello!

    I've assigned this to an expert to comment. Are you using the BLE5 stack or just the BLE stack? Can you summarize what phones and OS versions experience the issue?

    You should enable HEAPMGR_METRICS in your project to watch the amount of memory available as you are likely running out of memory. See related post here: e2e.ti.com/.../794010

  • Hello,

    My project based on BLE5 stack,and the issue occurs in Huawei mobile phone with Android 10 OS,others maybe,but vivo with Android 10 OS worked,iPhone is also running well.When the issue happened,keeping the power on and don not restart it,we just connect  to the slave device with other types of phones,but it worked successfullly and getted the complete service of slave device.Therefore I do not  think the slave device is Insufficient Resources.

  • Hi,

    this is the information of flash and ram

  • Hi Babober,

    I had some clarification questions:

    - Two SDKs were listed, is there a specific one you are working off of?

    - Which example project are you working on?

    - Can you reproduce it in the OoB example?

    From the sniffer log provided, it appears that your iPhone is sending a read by type request before you receive the status insufficient resources response. When the slave device receives a read by type request, it will build a read by type response message with the function gattServApp_buildReadByTypeRsp. This function will return the status insufficient resources if it fails to allocate space for the handle and value pairs. 

    If possible, can you connect to the slave device and monitor the heap by using the HEAPMGR_METRICS as described by Ammar? The following link describes in more detail the HEAPMGR_METRICS variables you can view: https://dev.ti.com/tirex/explore/content/simplelink_cc2640r2_sdk_4_30_00_08/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index.html#debugging-common-heap-issues 

    I do see that you were able to connect another device and actively get the complete service successfully. Can you constantly monitor the heap metric variables and see if it's fluctuating between when you get this insufficient resources status and when you test another phone?

    Thanks!

    Best Regards,

    Jenny

  • Hi Jenny,

    I developmented my program on SDK3.2 based on ble5_simple_peripheral_cc2640r2lp_app of ble5stack,but my customer told me that HuaWei phones can not read the servers after several times of successed connecting(I mean that HuaWei phones may read it`s servers successfully on first time or second time ).And it`s ble5stack would crash after establising link and terminating link with master device on several times ,the behavior of crashing is that CC2640R2F can not advertise ,someone tells me the reason is that ble5stack did not release memory ,therefore I try to transplant my program to SDK4.3,the crashing-problem is resolved, but the servers-problem remains unresolved.

    My agent told me that other people have had the same problem.Then I wiil monitor the heap as you suggest.