How to achive packet counter when test BT RX characteristics,how to reset this counter

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
mili_2550941
Level 2
Level 2

Dear All:

     Our product has a WIFI/BT combo module,which use BCM43353 as main processor,and we need test RF characteristics of the product.

When test BT RX characteristics,we need check if received packet number is same as transmit packet number of SG .So we need achive this packet counter,and reset this counter to next step.

     Our supplyer provide 3 file for test: "test, TL.INI, bcm43353bt.hcd".but they told us can't get this counter.

     We want know:How to achive packet counter when test BT RX characteristics and how to reset this counter. Any HCI Command can support our requirement?

Thanks!

li min

0 Likes
1 Solution

Hi li min,

The RX_test will not start printing any results until it has started receiving correctly formatted test packets.

If the RX_Test doesn't print any results, then it is likely a configuration issue on the transmitter side.

I have a working setup on my side where I start a TX_test on one board and an RX_test on the other board. I used WICED SDK mbt tool for test.

1. First start Tx test on one board . Or in your setup start tx test first

2. Now start rx test on the test board.

Now you should be able to get the packets printed.

Attached is my test result for rx test.

Thanks,

Anjana

View solution in original post

8 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi,

LE_Test_End command results in an event with the number of packets received. Please refer to section 10.2 of attached document.

Please check if this helps your requirement.

Thanks,

Anjana

0 Likes

Thanks Anjana! We will check it.

0 Likes

Dear Anjana:

     We run receiving test accroding to section 9.2.2, but nothing received. Test log as below:

微信图片_20190924134152.png

Accroding to "Bluetooth Controller then reports statistic data in every 1000 ms to the Host Processor", we should receive data every 1 second.

Can you give us some suggesstion?

Thanks!

li min

0 Likes

Hi li min,

The RX_test will not start printing any results until it has started receiving correctly formatted test packets.

If the RX_Test doesn't print any results, then it is likely a configuration issue on the transmitter side.

I have a working setup on my side where I start a TX_test on one board and an RX_test on the other board. I used WICED SDK mbt tool for test.

1. First start Tx test on one board . Or in your setup start tx test first

2. Now start rx test on the test board.

Now you should be able to get the packets printed.

Attached is my test result for rx test.

Thanks,

Anjana

Thanks Anjana!We will check it .

0 Likes

Dear Anjana:

     Good news. We can receive statistic data when test as you mentioned.But we don't know the define of each byte,can you send me this definition?

Thanks!

li min

0 Likes

Hi li min,

Do you mean you don't know how to decode the statistic data received?

If then, I am sorry, not sure where to point out you for the reference.

However I can guide you as per test console which I am using.

I am using mbt tool (provided along with WICED SDK .Available in WICED installation folder here: C:\Users\.....\Documents\WICED-Studio-6.x\wiced_tools\mbt )

Below is how the statistic report is decoded :

  printf("Statistics Report received:\n");

        HexDump(in_buffer, dwRead);

        if ((dwRead == 35) && (in_buffer[0] == 0xFF) && (in_buffer[1] == 0x21) && (in_buffer[2] == 0x07))

        {

            printf("  [Rx Test statistics]\n");

            printf("    Sync_Timeout_Count:     0x%x\n",in_buffer[3]  | in_buffer[4] << 8  | in_buffer[5] << 16  | in_buffer[6]  << 24);

            printf("    HEC_Error_Count:        0x%x\n",in_buffer[7]  | in_buffer[8] << 8  | in_buffer[9] << 16  | in_buffer[10] << 24);

            printf("    Total_Received_Packets: 0x%x\n",in_buffer[11] | in_buffer[12] << 8 | in_buffer[13] << 16 | in_buffer[14] << 24);

            printf("    Good_Packets:           0x%x\n",in_buffer[15] | in_buffer[16] << 8 | in_buffer[17] << 16 | in_buffer[18] << 24);

            printf("    CRC_Error_Packets:      0x%x\n",in_buffer[19] | in_buffer[20] << 8 | in_buffer[21] << 16 | in_buffer[22] << 24);

            printf("    Total_Received_Bits:    0x%x\n",in_buffer[23] | in_buffer[24] << 8 | in_buffer[25] << 16 | in_buffer[26] << 24);

            printf("    Good_Bits:              0x%x\n",in_buffer[27] | in_buffer[28] << 8 | in_buffer[29] << 16 | in_buffer[30] << 24);

            printf("    Error_Bits:             0x%x\n",in_buffer[31] | in_buffer[32] << 8 | in_buffer[33] << 16 | in_buffer[34] << 24);

        }

Example of test report :

Statistics Report received:

0000 < FF 21 07 31 00 00 00 02 00 00 00 EB 02 00 00 C4 >

0010 < 02 00 00 27 00 00 00 D8 8C 01 00 A9 89 01 00 2F >

0020 < 03 00 00 >

  [Rx Test statistics]

    Sync_Timeout_Count:     0x31

    HEC_Error_Count:        0x2

    Total_Received_Packets: 0x2eb

    Good_Packets:           0x2c4

    CRC_Error_Packets:      0x27

    Total_Received_Bits:    0x18cd8

    Good_Bits:              0x189a9

    Error_Bits:             0x32f

Statistics Report received:

0000 < FF 21 07 6B 00 00 00 07 00 00 00 C9 05 00 00 7C >

0010 < 05 00 00 4D 00 00 00 C8 12 03 00 0E 0D 03 00 BA >

0020 < 05 00 00 >

  [Rx Test statistics]

    Sync_Timeout_Count:     0x6b

    HEC_Error_Count:        0x7

    Total_Received_Packets: 0x5c9

    Good_Packets:           0x57c

    CRC_Error_Packets:      0x4d

    Total_Received_Bits:    0x312c8

    Good_Bits:              0x30d0e

    Error_Bits:             0x5ba

Thanks,

Anjana

Dear Anjana:

     Thanks very much ! Sorry for reply late.

Thanks!

li min

0 Likes