Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-9893

L2CAP recombination failing in some cases when data length update combines with L2CAP packet

    XMLWordPrintable

Details

    • Bug
    • Status: Accepted
    • Medium
    • Resolution: Unresolved
    • SimpleLink CC2640R2 SDK BLE Stack
    • BLESTACK-3934
    • BLE Stack 3.2.0
    • BLE Stack 3.2.x
    • CC2640R2

    Description

      Git/Installer Release Version: simplelink_cc2640r2_sdk_2_20_00_30_eng

      Application: BTool v1.42.08 (in BLE3 mode), simple_peripheral_oad_offchip ( FlashROM_unsecure configuration)

      Problem Reproducibility: 90%

      Problem Description: When using BTool v1.42.08 in BLE3 mode to perform an over the air download using unsecure off chip images, it appears that the two l2cap packets that are used to send the ATT Prepare Write request for a GATTWriteLong are not being recombined and are thus seen as garbage packets and not sent to ATT. This leads to an ATT timeout.

      I have only been able to replicate this with OAD using the steps below. It appears to have something to do with the timing of the data length update request, potentially as it collides with the GATTWriteLong. I've tried hostTest to hostTest and replicated the exact scenario (data length response from slave occurs on same connection interval as ATT prepare write request from master) but don't see the bug.

       Steps to re-create problem:

      1. Install CC2640R2 SDK simplelink_cc2640r2_sdk_2_20_00_30_eng
      2. Using CCS v8.1, import simple_peripheral_oad_offchip project from the SDK (located at examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_offchip)
      3. Build, the FlashROM_unsecure configuration of the stack
      4. Build the FlashROM_unsecure  configuration of the app
      5. Build the FlashROM_unsecure  configuration of the BIM
      6. Flash the OAD Target (CC2640R2 device) with the simple_peripheral_cc2640r2lp_oad_offchip_app_FlashROM_unsecure_oad_merged.bin and the bim_oad_offchip_cc2640r2lp_app.hex images acquired from building the projects
      7. Flash the host (CC2640R2) device with the prebuilt host image cc2640r2lp_host_test.hex located in examples\rtos\CC2640R2_LAUNCHXL\blestack\hexfiles in the SDK
      8. Launch BTool by running the Run_BTool.bat file located in tools\blestack\btool in the SDK (**it should launch in BLE3 mode) and select the COM port of the device running the host image
      9. Scan and connect to the OAD Target (device running the simple peripheral OAD images)
      10. Select 'Over The Air Download' and click 'Read Image File'
      11. Select the simple_peripheral_cc2640r2lp_oad_offchip_app_FlashROM_unsecure_oad_merged.bin image that was acquired from building the projects
      12. If 'OAD To External Flash' is not checked, check the box
      13. Send the image

      Attachments

        Activity

          People

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: