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.

CC2652R: Intermittent Missing Scan Request

Part Number: CC2652R


From Customer:

We are using SDK version 3.40.00.02 and Host Test application for this testing. Testing done using CC2652 Launchpad with both UART TX and UART RX data get log in file. We monitor these log file as well as RF link using RF log detector to oscilloscope (time domain). We placed multiple BLE devices, one near to CC2652 Launchpad and other far away.

Command send and receive structure we define as UART TX (PC to CC2652 launchpad) UART RX (CC2652 launchpad to PC)

 

UART TX => 01 1d fc 01 00

UART RX <= 04 ff 05 1d 04 00 1d fc

 

UART TX => 01 00 fe 08 08 00 00 00 00 00 00 00

UART RX <= 04 ff 06 7f 06 00 00 fe 00 04 ff 2c 00 06 00 8d 74 6a 03 ee 04 ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ba 4e 0b 0e 08 2e 3c ab c0 16 99 da ff 28 91 29

 

UART TX => 01 53 fe 06 01 01 40 06 40 06

UART RX <= 04 ff 06 7f 06 00 53 fe 00

 

UART TX => 01 55 fe 02 06 00

UART RX <= 04 ff 06 7f 06 00 55 fe 00

 

UART TX => 01 60 fe 04 01 01 20 03

UART RX <= 04 ff 06 7f 06 00 60 fe 00

 

UART TX => 01 60 fe 04 01 00 20 03

UART RX <= 04 ff 06 7f 06 00 60 fe 00

 

UART TX => 01 51 fe 06 00 00 f4 01 28 00

UART RX <= 04 ff 06 7f 06 00 51 fe 00 04 ff 07 13 06 00 00 00 01 00

After this we received the data packets from CC2652 to PC (UART RX) loaded in as per the scan capture log .txt file. (see attached file)

 

When we do this sometimes we do not have scan response package from the BLE device which supports scan request and scan response. We also monitor the RF link using RF log detector with oscilloscope, we found there is no scan request sent by CC2652 once in a while. So, this indicate, from CC2652 there is no scan request sent to other advertising BLE device, even though CC2652 received the advertisement packet. This is very random behavior. Not always happen but happen once in a while.

Is there some explanation that you know of for the intermittent missing scan response?

scan capture log.txt

  • After we perform steps described above, we proceed with the following steps. Now, above issue and following issue is may or may not occur together.

    Command A

    UART TX => 01 55 fe 02 06 01

    UART RX <= 04 ff 06 7f 06 00 55 fe 00

     

    Command B

    After this we keeps on sent below command and wait for our require BLE device’s advertisement and scan response packet

    UART TX => 01 51 fe 06 00 00 f4 01 28 00

     

    Command C

    After we received, require BLE device’s advertisement and scan response packet we send below command to stop scanning

    UART TX => 01 52 fe 00

     

    After we get response of above Command C, we proceed with Command B. This loops of commands keeps going on.

    Now the issue is response of

    UART TX => 01 52 fe 00

    Command should be with acknowledgement as well as event. So, we should receive 2 responses from CC2652. Which are as follows

     

    [Response 1] UART RX <= 04 ff 06 7f 06 00 52 fe 00

    [Response 2] UART RX <= 04 ff 09 13 06 00 00 00 02 00 00 03

    < here don’t consider underlined value>

    Once in a while we did not receive above Response 2.

    Please refer to attached log file Multiple Sending Command log.txt contains what we send to CC2652 and Multiple Receiving Command log.txt contains what we received from CC2652.

    At the last you will see, we received 04 ff 06 7f 06 00 52 fe 00 from CC2652 but we didn’t get the second response. when this issue occur, any command to CC2652 does not provide any response or acknowledgement.

    Can you explain why these responses are missing intermittently?  

    Multiple Receiving Command log.txtMultiple Sending Command log.txt

  • Hi,

    As you know, the order of packets is ADV packet (advertiser) -> Scan Req (scanner) -> Scan Response (Advertiser). In order for the scanner to send a scan request it needs to receive the adv packet, .e. it needs to be actively scanning on the same channel as the adv packet is sent on. So my first theory would be that the scanner device is not scanning or scanning on a different channel than the advertisement.

    Can you attach a debug session to the unresponsive CC2652 and check what kind of state it is in (E.g. waiting, CPU exception...) Please see this thread for instructions on attaching a debug session to a running device: 

  • hi Marie,

    I can see processor is not hang. But, application layer is not receiving anything from PC.

    Easy way to reproduce this issue is, run the following commands one by one using any serial port software, i used accesport software [https://www.sudt.com/en/ap/index.html] and CC2652R2F launchpad in debug mode for this.

    01 1d fc 01 00
    01 00 fe 08 08 00 00 00 00 00 00 00
    01 53 fe 06 01 01 40 06 40 06
    01 55 fe 02 06 00

    Then run the following two commands in each 20 mSeconds infinitely.

    01 51 FE 06 00 00 76 00 28 00
    01 55 fe 02 06 01

    Within 1-5 minutes, you will see no response from CC2652 radio.

    Regards.

  • Hi,

    Thanks for your patience. Have you get more results?

    The description of your issue makes me think you are running out of memory and some commands are refused by the BLE stack.

    You can try the following:

    - increase the delay between two commands

    - make a "break" after queening commands during 45 seconds

    Best regards,