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: CC2640R2 can't establish connection with newer iOS devices

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640,

Hi everybody

I have mostly successful migrated from CC2640 to CC2640R2 but there is one thing which is not working and I really can't figure out whats wrong so I bought a BLE Sniffer and tried to see what happens.

Situation:

  • Code Composer Studio 9..0
  • Ble Stack 3.20.0.21
  • Simple_Peripheral example as base

Android phones do connect just like they did with the old module even does an older iPhone 6.

I think the iPhone wants to change the MTU size, but I am not sure. Can someone give me a hint or a solution?

Kind regards

Mario

  • Hi Mario,

    Assigning an expert to the topic.

  • Hello User,

    Which iPhone phone model and iOS version is this?

    Did you run the Simple_Peripheral example without any modifications?

    The CC2640R2F support max MTU size of 251.

  • Dear Eirik

    I've tested it with an iPhone 8 on iOS 12 and iOS13 as well. We also tried an iPhone X.

    I had to make modifications, because we do use other characteristics and do also use the SPI interface for communication with the main system.

    Do you have any idea, whtats the difference between iOS and Android?

    Thanks and kind regards, Mario

  • Which MTU size did you set on the CC2640R2?

    What happens if you simply connect to the basic Simple_Peripheral example?

    Can you upload the sniffer log?

  • Dear Eirik

    I did invest another few days to try to fix the problem. I just started again from beginning and changed the characteristics to mine in the simple peripheral example. The good news is: iPhone and CC2640R2F do now agree to 65 MTU and I do also get the callback with ATT_MTU_UPDATED_EVENT.

    But there is another problem: The iphone sends a request for "GATT Characteristic Declaration" and receives an "attribute not found" error.

    Do you know this error?

    Android does still connect well.

    iphone11_sniffer_log.zip

  • Are you able to connect with BTool and populate the GATT attribute table?

    dev.ti.com/.../ble_01_basic.html

    Task 2 - Connect and navigate exposed services

    Expand instructions for connecting using BTool

    3. Navigate the Attribute table

  • Dear Eirik

    Sorry for my late reply. I did a complete reset and tried again to make thinks working. The good news: Everything seems to work fine now, the bad one: I can't say what specific error did lead to the behaviour.

    At the end, I think, it was a mix between stack and heap size issues and task synchronisation. I also had to enable "CACHE_AS_RAM" to have enough memory for everything.

    Thank you anyway for the support.