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.

CC2564CSTBTBLESW: BQB Testing on CC2564C device RF SIG Mode

Part Number: CC2564CSTBTBLESW
Other Parts Discussed in Thread: CC2564C, UNIFLASH

Hi TI,

We have developed an application on top of CC2564C, We are now into production.

We are having some issues with putting the device in  DUT mode for BQB testing.

We are using the Command 

int BTPSAPI VS_Enable_RF_SIG_Test_Mode(unsigned int BluetoothStackID)

This function is called after opening the stack and enabling BLE.

With this, the device is supposed to go to signaling mode where the MT8852B tester is supposed to discover the device and start the automated Test.

In our setup, MT8852B is not able to discover the device and make the connection to the device.

Can TI just confirm the Procedure we are doing is correct?

Also please share HCI logs where you have done the BQB testing on the device with MT8852B tester (or any other standard BQB tester)

We like to get the DUT testing enabled for BT and BLE.

Please help us to get this done, as this is a big blocker for Production.

Thanks!

Vishnuprasad V

  • Hi Vishnu,

    I apologize I was out of office last week for a holiday in the US. I running the test on the CMW500 device and will have HCI logs ready for you tomorrow for the BLE testing. In regards in putting the device in DUT

    Try these commands to communicate to the tester.

    Best,

    Rogelio

  • Hi ,

    We are waiting for the Logs from you.

    I understand You are working on it, Please try to get the details as soon as possible.

    Also on the CMW500, I think there is also a provision to run DUT test mode. Please get the logs for DUT test mode.

    Just to align on the Priorities.

    As of the current situation, DUT mode is supercritical and very urgent.

    So, if you are finding difficulties in getting the BLE-RX testing, I would suggest you prioritize DUT as it is very very urgent, BLE RX testing can wait one day.

    I understand you are working hard on this.  please push more to get this data today itself.

    The certification we are trying to get is BT SIG certification as mentioned in the doc swra752.pdf .

    This is what we are trying to do. 

    for this, I am calling the following function from the Bluetopia stack.

    int BTPSAPI VS_Enable_RF_SIG_Test_Mode(unsigned int BluetoothStackID);

    /* The following function prototype represents the function which is */
    /* used to put the Local Bluetooth Device specified by the Bluetooth */
    /* Protocol Stack that is specified by the Bluetooth Protocol Stack */
    /* ID into RF Signal Test Mode. This function returns zero if */
    /* successful or a negative return error code if there was an error. */
    /* * NOTE * Once the Local Bluetooth Device is in RF Signal Test Mode*/
    /* it will remain in this mode until an HCI Reset is issued.*/
    int BTPSAPI VS_Enable_RF_SIG_Test_Mode(unsigned int BluetoothStackID)
    {
    int ret_val;
    Byte_t StatusResult;
    Condition_t ConditionStructure;
    
    /* Before continuing, make sure the input parameter appears to be */
    /* semi-valid. */
    if(BluetoothStackID)
    {
    /* Send HCI Write Scan Enable Command. */
    if((!HCI_Write_Scan_Enable(BluetoothStackID, HCI_SCAN_ENABLE_INQUIRY_SCAN_ENABLED_PAGE_SCAN_ENABLED, &StatusResult)) && (StatusResult == HCI_ERROR_CODE_NO_ERROR))
    {
    /* Configure and send the HCI Set Event Filter Command. */
    ConditionStructure.Condition.Connection_Setup_Filter_Type_All_Devices_Condition.Auto_Accept_Flag = HCI_AUTO_ACCEPT_FLAG_DO_AUTO_ACCEPT;
    
    if((!HCI_Set_Event_Filter(BluetoothStackID, HCI_FILTER_TYPE_CONNECTION_SETUP, HCI_FILTER_CONDITION_TYPE_CONNECTION_SETUP_ALL_DEVICES, ConditionStructure, &StatusResult)) && (StatusResult == HCI_ERROR_CODE_NO_ERROR))
    {
    /* Finally send the HCI Enable Device Under Test Command. */
    if((!HCI_Enable_Device_Under_Test_Mode(BluetoothStackID, &StatusResult)) && (StatusResult == HCI_ERROR_CODE_NO_ERROR))
    ret_val = 0;
    else
    ret_val = BTPS_ERROR_DEVICE_HCI_ERROR;
    }
    else
    ret_val = BTPS_ERROR_DEVICE_HCI_ERROR;
    }
    else
    ret_val = BTPS_ERROR_DEVICE_HCI_ERROR;
    }
    else
    ret_val = BTPS_ERROR_INVALID_PARAMETER;
    
    /* Return the result the caller. */
    return(ret_val);
    }
    
    

    if you can Run the DUT test in your setup (DK + HCI tester tool) and share the logs that will be a great help.

    Please push hard and try to get the logs please.

    Thanks!

  • Hi Vishnu,

    Unfortunately I wont be able to get access to the tester till tomorrow, just wanted to give you a heads up.

    Also I am assuming you dont get any errors from running  the HCI commands?

    Best, 

    Rogelio

  • Hello Vishnu.

    I have the FW logs for both the DUT and BLE RX Testing.

    BLERX.lgr

    DUT.lgr

    I was able to find the device running the VS_Enable_RF_SIG_Test_Mode command. 

    In the logger file, you can find this command is the last HCI command that is run

    Best,

    Rogelio

  • Hi @RogelioD,

    Thanks for the Logs.

    Regarding the DUT testing log, I am able to see that the command went successfully. This we were also able to get.

    But is the device connecting to any standard tester? like MT8852B, CMW500 something like that class?.

    We were able to reach this, But the DUT was not connecting to any tester, The tester tried to discover the device over Radio, but it was failing.

    Can you share logs of where it is getting connected to the tester and the device is actually performing test? 

    Thanks!

  • Hi @RogelioD,

    Regarding the BLERX test,

    I am not seeing any RX received success in the logs other than CRC calculation failed.

    One good thing is device is receiving something. how to calculate BER or No.of packets Received from this?

    Thanks!

  • Hi Vishnu,

    In the BLERX test I ran a PER Search test.

    This test sent 200 packets and the Bluetooth tester calculates how many were received. The tester will keep decreasing the Transmit dbm until the PER failure threshold is reached.

    in this screenshot it shows how many packets were recieved. I am not sure what more information I can give you at this point. These are the HCI commands that the tester sends and the only thing needed to setup is run the FW and enable BLE using the HCI command.

    In Regards to DUT, my tester was able to find the device. Im not sure what sending you FW logs of the device connecting will help you out, but I will try next time I get access to the tester. Meanwhile, are you able to find the device using another cc2564C? Are you in an environment with a lot off advertising signals?

    Best,

    Rogelio

  • Hi RogelioD,

    I was able to enter DUT mode, the connection was succesful. 

    Thanks for the help.  Fo r BLE is there anything tk enter DUT mode?

    What is the process for DUT mode of BLE?

    Regarding RX test,  I am working on the data.  Will complete and comeback.

    Thanks!

  • Hi RogelioD,

    On the BT DUT test mode we are observing  power difference in the first and last channels.

    Is this expected?

  • Hi Vishnu,

    This unfortunately isn't my expertise so I am reaching out to the hardware team for more info. Did your design get approved by our hardware team by  a design review? If not could you submit a request for one.

    you can find the link to it in the product page. https://www.ti.com/product/CC2564C

    Best,

    Rogelio

  • Hi @RogelioD,

    Thanks for the continuous support. Appreciate your efforts. 

    Can you please also check and let me know about DUT mode for BLE. 

    Is there something similar RFSIG mode for BLE.

    What I read on your sheet is like give different commands for different tx  modes and RX modes etc.

    Other than that, do you have any commands? Where tester is able to discover BLE device and do same way a the RFSIG mode do, with signalling etc. 

    Thanks!

  • Hi Vishnu,

    Since our device is a transceiver you dont have to do anything special to put it in DTM as you would for other BLE devices like the CC26xx devices (https://www.ti.com/lit/an/swra720/swra720.pdf for reference)

    However, what must be done is loading the service pack, and enabling BLE. From there the tester will reset the HCI and start running the necessary commands.

    Best,

    Rogelio

  • Hi @RogelioD,

    We are facing issue in testing the BLE in DUT mode.

    Can you pleas help us.

    We are using CWM500.

    Can you please tell us what all setting we should keep to do DUT testing on BLE?

    Is any possibility of relay mode possible?

    If you can share the logs for testing BLE in DUT mode.

    It will help us a lot. 

    With the logs you shared I was able to get the BLE Rx mode also working.  

    We are almost there please help me to close this BLE DUT testing also ASAP 

    Waiting for response!

    Thanks!

  • Hi  RogelioD,

    BLE ,5.1 specifically mention about DTM testing mode in BLE section, is cc2564C device compatible with that test setup, what should I do to perform that DTM test on BLE 

  • Hi Vishnu,

    Im glad you were able to get Rx testing up and running.

    For Tx the same steps would have to be followed in which you run the servicepack and enable BLE. But you must also set the parameters for the LE_TransmitterTest. You do this buy using the following command.

    Then call the HCI_BLE_Transmitter command to start the test.

    I will have access to the tester tomorrow and I will try to get Tx logs for you. Meanwhile can you try these steps.

    Best,

    Rogelio

  • Hi @RogelioD,

    I am able to do TX test in BLE..

    I am asking for is  DTM mode. 

    Where the test can be done similar to RF-sig mode.

    The DUT should take  2 bytes command defined as in DTM mode..

    Please refer the BT spec as I mentioned. 

    Thanks !

  • Hi Vishnu,

    I assume you are speaking about this

    The device supports this UART Functionality to support the necessary testing commands which are

    Which means the device is working in DTM. What exactly are you expecting the device to do, so I can understand our difference in understanding here.

    Best,

    Rogelio

  • Yes correct,

    Rogelio, this what I am referring to..

    So, to make the device take this DTM commands over UART what all procedure should I do?

    Is there any command similar like rfsig mode?

    Or it just want BLE to be enabled?

    What is the steps which I have to do so that the device will take this  commands over uart?

    Thanks !

  • Hi Vishnu,

    The only thing necessary to do is run the servicepack and enable ble. Nothing else is necessary like rfsig mode.

    You had stated you had ran into issues before. But, it seems you have both BLE RX and TX working now?

    This should be the only commands necessary to pass BLE certification testing.

    Best,

    Rogelio

  • Thanks Rogelio,

    Not sure what all testing is mandatory,

    The test lab need it in DUT mode.

    So if I pass the 2 bytes command it will respond??

    As we are using bluetopia stack on stm32, how can I send raw commands to   Chip from ST?

    (Uart flow is like PC->STM->cc2564c).

    If I echo whatever received on uart from PC to cc2564c will it work??

    Thanks!

  • So if I pass the 2 bytes command it will respond??

    Yes the device will respond, worst case it will respond with command disallowed. If it does that probably means BLE wasnt enabled.

    If I echo whatever received on uart from PC to cc2564c will it work??

    This is actually how I test on my side with an MSP432. I reroute the uart to the device. I assume it should also work with the STM MCU

    Kind Regards,

    Rogelio

  • Thanks rogelio,

    Let me check and get back, again thanks for your continuous support.

  • HI Rogelio,

    I am finding difficulties in setting up the test.

    when I send data over to UART I receive a Hardware error on HCI and HCI_Reset is getting triggered.

    470 18:42:59.557 0x000177AF 0x000177AF <---- HCI_Hardware_Error_Event
    471 18:42:59.558 TL-, H4 Protocol, h4_abort_receive() - error_code = 6
    472 18:42:59.558 HCI Send Event: HCI_HARDWARE_ERROR_EVT
    473 18:43:00.558 HCI_Reset Completed

    Can you share your MSPcode? 

    Thanks!

  • Here I am attaching the log.

    Please check and let me know,

    I am sending the byte received on ST from UART directly to CC2564C 4 wire UART. Is that the same thing you also doing?


    DTM_UART_error.zip

    Thanks!

  • i bypassed the UART,

    I was able to read the version successfully using HCI_Tester tool.

    What baud rates you are using?

    When I start sending uart baud rate commands  it is facing issues

  • Hi Vishnu,

    I wish I could send you the MSP code but unfortunately its just a .hex file that I flash with Uniflash on the host device.

    The baud rate I use is 115200. The command I use to test the uart functionality is HCI_Get_System_Status on HCITester. Does that command work for you?

    Best,

    Rogelio

  • HI Rogeliod,

    can you share the Initscript you are using?

    I was able to run the init script.

    successfully and Enable the BLE using the BLE add-on script

    After that, I disconnected the HCI Tester tool.

    The logs are attached here.

    DTM_Using_HCI_Tester_Tool.zip

    in last part  you can see that When I send the command 0x00 0x00 from Realterm( trying to mimic DTM tester such as MT8852B).

    but this triggered

    310 14:22:01.140 TL-, H4 Protocol, h4_abort_receive() - error_code = 6
    311 14:22:01.140 HCI Send Event: HCI_HARDWARE_ERROR_EVT
    312 14:22:02.137 HCI_Reset Completed

    Can you share the exact setup you use in your lab to perform the DTM test?

    Please provide me with HCI logs where the device is running the DTM TEST.

    Thanks!

  • Hi Vishnu,

    can you share the Initscript you are using?

    1715.initscripts-TIInit_6.12.26.txt
    #--------------------------------------------------------------------------------
    # Description : Orca C ROM Initialization Script
    #
    # Compatibility: Orca, 12.0.26 ROM
    #
    # Last Updated: 17-May-2021  10:31:30.07
    #
    # Version     : 12_26.24
    #
    #
    #
    #
    # Notes       : Use this script on Orca C, 12.0.26 ROM device only (FW v12.0.26)
    #--------------------------------------------------------------------------------
    #################################################################
    ## START of CC256x Add-On
    #################################################################
    
    ## Change UART baudrate
    ##Send_HCI_VS_Update_Uart_HCI_Baudrate 0xFF36, 0x0001c200
    ##Wait_HCI_Command_Complete_VS_Update_Uart_HCI_Baudrate_Event 5000, 0x01, 0xff36, 0x00
    
    #Com_SetParams 115200, 1
    #################################################################
    ## END of CC256x Add-On
    #################################################################
    
    Send_HCI_VS_Start_VS_Lock 0xFE37, 0x0c, 0x1a
    Wait_HCI_Command_Complete_VS_Start_VS_Lock_Event 5000, any, 0xfe37, 0x00
    
    
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x000865d0, 0xfa, "0C:1A:09:18:01:6A:C8:7B:00:02:89:7B:01:43:09:48:51:30:02:88:06:48:91:42:03:D1:04:49:09:78:01:29:01:D0:5D:30:F7:46:FF:30:D8:30:F7:46:76:24:08:00:BD:28:02:00:69:53:08:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:B5:00:69:FF:21:02:31:09:5C:09:29:05:D1:01:21:00:22:8E:46:6D:4B:FE:44:18:47:00:BD:6C:4A:11:88:01:20:40:03:08:43:10:80:F7:46:30:B5:00:69:F4:21:08:5C:01:28:16:D1:EA:48:00:78:03:28:12:D0:00:25:28:1C:E8:49:01:24:A6:46:E7:4A:FE:44:10:47:00:28:08:D0"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x000866ca, 0xfa, "E6:49:E6:4A:BB:32:20:20:2B:1C:A6:46:E5:4C:FE:44:20:47:30:BD:70:B5:85:69:00:7D:80:1F:11:D0:47:38:2E:D1:A9:79:28:20:48:43:DF:4A:10:18:23:22:12:5C:01:2A:25:D1:80:7B:00:28:22:D0:DB:4A:00:20:50:54:70:BD:01:24:A6:46:D9:48:FE:44:00:47:01:28:05:D0:A6:46:D6:48:FE:44:00:47:04:28:11:D1:E8:78:00:28:0E:D1:0E:26:31:1C:D3:4D:28:1C:14:38:A6:46:D0:4A:FE:44:10:47:28:1C:31:1C:A6:46:CD:4A:FE:44:10:47:70:BD:70:B5:01:1C:88:69:89:8A:CB:4A:89:1A:1C:D0:1C:39:20:D1:C5:7A:01:21:0C:1C:8E:46:C8:4A:FE:44:10:47:06:1C:10:20:A6:46:C6:49:FE:44:08:47:00:2D:11:D0:02:2E:0F:D0:C3:49:C4:4A:D9:32:20:20:00:23:A6:46:B7:4C:FE:44:20:47:70:BD:C0:7A:00:28:02:D1:00:20:BE:49:08:70:70:BD:00:B5:00:69:FF:21:04:31:09:5C:06:29:06:D1:FF:21:05:31:0A:5C:2C:2A:01:D1:2D:22:0A:54:FF:21:05:31:09:5C"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x000867c4, 0xfa, "34:29:11:D1:FF:21:0B:31:09:5C:91:29:0C:D1:F1:21:09:5C:60:22:4A:43:EB:4B:00:21:99:54:06:21:01:22:96:46:E9:4A:FE:44:10:47:00:BD:F0:B5:06:1C:F7:69:08:20:C0:19:01:24:A6:46:E4:49:FE:44:08:47:C1:7B:09:02:80:7B:08:43:05:04:2D:0C:02:2D:12:D0:EF:48:00:88:A8:42:0E:D1:EE:48:00:78:01:28:0A:D1:ED:48:82:8F:81:6B:08:1C:10:43:04:D0:38:1C:A6:46:EA:4B:FE:44:18:47:35:60:E9:48:24:30:30:62:F0:BD:C0:46:DD:9D:00:00:3E:A6:1B:00:F0:B5:86:B0:04:90:81:69:05:91:81:8A:E2:48:09:1A:DC:4D:00:D1:BA:E0:E1:4A:89:1A:00:D1:AF:E0:07:38:09:1A:35:D0:DE:48:09:1A:28:D0:05:39:26:D0:13:39:33:D1:DC:48:05:1C:84:3D:00:78:02:28:2D:D1:01:24:A6:46:D9:48:FE:44:00:47:00:28:26:D1:A6:46:D7:48:FE:44:00:47:00:28:20:D1:A6:46:D5:48:FE:44:00:47:00:28:1A:D1:28:78:00:28:17:D1:A8:78:00:28:14:D1:A6:20"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x000868be, 0xfa, "A6:46:CF:49:FE:44:08:47:C4:E0:05:98:81:88:41:18:08:7C:02:28:00:DA:BD:E0:80:1E:08:74:BA:E0:51:3D:28:78:2A:28:02:D0:33:28:00:D0:B3:E0:0E:21:05:98:0F:18:44:20:0C:21:1A:22:01:24:A6:46:C2:4B:FE:44:18:47:C1:4E:B1:78:F2:78:C1:48:A6:46:C1:4B:FE:44:18:47:06:21:05:98:81:80:28:78:BF:4D:2A:28:26:D0:0A:26:3E:70:01:37:38:1C:00:21:A6:46:BA:4A:FE:44:10:47:07:1C:3E:70:01:37:38:1C:0D:21:A6:46:B5:4A:FE:44:10:47:07:1C:A6:46:B5:48:FE:44:00:47:81:02:AE:48:C0:78:40:06:40:0E:08:43:05:43:29:04:09:0C:38:1C:A6:46:AC:4A:FE:44:10:47:08:26:24:E0:08:26:3E:70:01:37:38:1C:00:21:A6:46:A6:4A:FE:44:10:47:07:1C:3E:70:01:37:38:1C:0D:21:A6:46:A2:4A:FE:44:10:47:07:1C:A6:46:A1:48:FE:44:00:47:81:02:9A:48:C0:78:40:06:40:0E:08:43:05:43:29:04:09:0C:38:1C:A6:46:98:4A:FE:44:10:47:05:98"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x000869b8, 0xfa, "46:80:FF:21:02:31:00:22:A6:46:ED:4B:FE:44:18:47:3F:E0:EC:49:00:20:08:70:08:74:EB:49:08:70:3C:E0:05:98:00:21:6A:46:01:24:A6:46:E8:4B:FE:44:18:47:02:A8:00:21:06:22:A6:46:E5:4B:FE:44:18:47:00:26:02:E0:70:1C:06:04:36:0C:28:1C:4F:38:00:78:86:42:23:DA:11:20:40:01:70:43:EA:49:0F:18:10:20:C0:19:69:46:A6:46:E8:4A:FE:44:10:47:00:28:E9:D1:68:46:02:A9:A6:46:E4:4A:FE:44:10:47:00:28:E1:D0:B8:78:01:28:DE:D0:05:98:69:49:3A:22:A6:46:DF:4B:FE:44:18:47:EC:49:E2:31:04:98:01:62:06:B0:F0:BD:C0:46:18:32:08:00:CE:04:00:00:23:B9:02:00:85:71:08:00:FD:79:00:00:C9:70:08:00:D4:1D:08:00:94:54:08:00:8F:8D:01:00:FD:06:05:00:14:05:1A:00:A2:FD:00:00:65:2D:00:00:7D:CA:03:00:C5:71:08:00:79:47:00:00:78:24:08:00:F0:B5:07:1C:BA:69:50:78:FE:69:25:21:43:1A:E4:49:32:D0:01:3B:68:D1"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086ab2, 0xfa, "04:23:B3:80:0C:23:9D:19:40:00:12:78:02:43:2A:70:01:35:08:78:2A:28:05:D0:33:28:01:D1:0A:20:02:E0:07:20:00:E0:08:20:28:70:01:35:28:1C:0D:21:01:24:A6:46:4B:4A:FE:44:10:47:05:1C:A6:46:4B:48:FE:44:00:47:82:02:D2:48:00:78:40:06:41:0E:11:43:45:48:08:43:01:04:09:0C:28:1C:A6:46:41:4A:FE:44:10:47:2F:E0:04:23:B3:80:0C:23:9D:19:40:00:12:78:02:43:2A:70:01:35:08:78:2A:28:05:D0:33:28:01:D1:0A:20:02:E0:07:20:00:E0:08:20:28:70:01:35:28:1C:0D:21:01:24:A6:46:33:4A:FE:44:10:47:05:1C:A6:46:32:48:FE:44:00:47:82:02:B9:48:00:78:40:06:41:0E:11:43:2D:48:08:43:01:04:09:0C:28:1C:A6:46:29:4A:FE:44:10:47:06:20:70:80:03:20:30:80:E3:48:E2:49:08:18:38:62:F0:BD:C0:46:76:A0:1B:00:C5:8E:00:00:5B:19:04:00:10:B5:DE:48:00:21:01:24:A6:46:DD:4A:FE:44:10:47:DC:49:01:28:01:D0:00:20"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086bac, 0xfa, "01:E0:08:68:01:30:08:60:A6:46:D9:48:FE:44:00:47:00:28:06:D0:0B:48:00:78:02:28:02:D1:02:20:D5:49:08:80:10:BD:BA:53:08:00:90:A1:1B:00:A8:59:08:00:25:6F:04:00:79:6C:04:00:05:04:00:00:FE:07:00:00:05:10:00:00:45:10:08:00:C1:72:03:00:1B:5F:03:00:53:38:02:00:21:F0:04:00:DB:8E:04:00:FC:53:08:00:C6:02:00:00:8D:8F:04:00:F9:2D:00:00:00:82:FF:FF:A9:57:05:00:F8:B5:80:8A:FF:21:0B:31:88:42:5C:D0:FF:21:45:31:88:42:16:D1:C1:48:00:78:02:28:12:D1:B9:49:FF:20:41:30:40:18:00:90:B8:48:40:5C:00:26:86:42:10:D3:51:25:AD:00:28:1C:01:24:A6:46:B4:49:FE:44:08:47:00:28:6D:D1:28:1C:B2:49:A6:46:B2:4A:FE:44:10:47:F8:BD:B1:00:00:98:45:58:00:2D:30:D0:FE:20:40:5D:00:28:2C:D0:F2:20:41:5D:00:29:28:D1:FF:20:02:30:40:5D:01:28:23:D0:24:20:01:24:A6:46:A6:4A:FE:44:10:47:00:06:00:0E"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086ca6, 0xfa, "F3:22:51:5D:81:42:17:D0:50:55:00:28:14:D1:2F:8D:39:1C:E7:48:A6:46:E7:4A:FE:44:10:47:29:8E:79:18:08:1A:40:1E:39:1C:A6:46:E3:4A:FE:44:10:47:40:00:28:86:28:8E:40:08:28:86:01:36:DF:48:00:78:B2:E7:00:20:01:24:A6:46:DD:49:FE:44:08:47:01:1C:00:90:DC:4D:28:68:01:30:28:60:0B:27:7F:01:DA:4E:DA:48:00:8D:32:68:10:18:80:01:80:09:A6:46:D8:4A:FE:44:10:47:00:28:11:DD:00:98:30:60:28:68:03:28:0A:D9:00:20:A6:46:D3:49:FE:44:08:47:CF:48:38:5C:A6:46:D0:49:FE:44:08:47:00:20:28:60:F8:BD:30:B5:05:69:24:20:00:21:01:24:A6:46:7A:4A:FE:44:10:47:F3:21:48:55:51:25:AD:00:28:1C:A6:46:72:49:FE:44:08:47:00:28:05:D1:28:1C:70:49:A6:46:70:4A:FE:44:10:47:30:BD:ED:49:02:00:AB:11:08:00:63:66:08:00:99:2D:00:00:E9:63:05:00:41:69:00:7E:00:28:11:D1:FF:22:04:32:50:5C:01:28:0C:D1:FF:20"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086da0, 0xfa, "05:30:43:5C:1B:2B:07:D1:FF:23:0A:33:5B:5C:01:2B:02:D1:00:23:53:54:43:54:F7:46:C0:46:00:00:08:00:49:8F:03:00:85:48:02:00:10:B5:80:69:00:88:02:28:13:D1:54:48:9C:30:01:79:FF:29:0E:D0:00:78:03:28:03:D0:01:28:01:D0:02:28:07:D1:01:20:04:1C:86:46:A2:49:FE:44:08:47:A2:48:04:70:10:BD:25:00:00:00:10:B5:C0:69:80:78:80:38:00:06:00:0E:02:28:13:D1:44:48:9C:30:01:79:FF:29:0E:D0:00:78:03:28:03:D0:01:28:01:D0:02:28:07:D1:01:20:04:1C:86:46:93:49:FE:44:08:47:92:48:04:70:10:BD:C0:46:69:53:08:00:FF:53:08:00:10:B5:00:69:FE:21:09:5C:02:29:06:D0:D0:21:09:58:82:8D:D2:00:54:23:1B:18:05:E0:54:21:0B:18:02:8D:06:20:42:43:D9:6F:50:18:80:01:81:09:D8:6D:01:24:A6:46:7F:4A:FE:44:10:47:00:28:12:DC:28:48:9C:30:01:79:FF:29:0D:D0:00:78:03:28:03:D0:01:28:01:D0:02:28:06:D1:20:1C"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086e9a, 0xfa, "A6:46:77:49:FE:44:08:47:77:48:04:70:10:BD:10:B5:1B:48:00:68:50:28:06:D9:17:48:00:21:01:22:96:46:78:4A:FE:44:10:47:71:48:00:78:FF:21:21:31:41:43:6E:48:41:18:6F:4C:20:78:14:28:0D:DA:00:28:14:D0:6D:49:09:78:C9:08:05:D3:01:20:86:46:6B:49:FE:44:08:47:20:78:40:1C:07:E0:FF:20:08:70:01:20:86:46:67:48:FE:44:00:47:00:20:20:70:10:BD:C0:46:4E:05:00:00:B5:CC:00:00:F8:21:19:00:B3:08:05:00:5C:66:08:00:71:CD:01:00:4A:24:19:00:54:24:08:00:07:0E:00:00:21:CB:03:00:00:66:E3:01:0B:C9:03:00:2B:F0:04:00:45:10:08:00:F0:B5:06:1C:74:69:30:69:5D:4D:29:78:33:7E:0A:22:9B:1A:6D:D0:06:3B:53:D0:31:3B:2E:D0:3B:3B:03:2B:78:D8:FF:21:7D:31:09:5D:02:29:73:D1:FF:22:81:32:01:78:11:55:FF:21:82:31:09:19:42:78:01:30:0A:70:FF:22:83:32:12:19:43:78:13:70:40:78:FF:23:25:33:18:55:08:78"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00086f94, 0xfa, "19:28:5D:D1:10:78:37:28:5A:D1:20:1C:05:21:00:22:01:25:AE:46:3D:4B:FE:44:18:47:20:1C:AE:46:3C:49:FE:44:08:47:48:E0:00:29:0A:D1:8A:20:00:19:3B:49:30:22:01:23:9E:46:3A:4B:FE:44:18:47:00:28:3F:D1:FF:20:5D:30:01:5D:05:20:03:1C:20:1C:41:22:01:27:BE:46:34:4F:FE:44:38:47:20:1C:05:21:01:22:96:46:2A:4B:FE:44:18:47:00:20:28:70:25:E0:FF:21:7D:31:00:78:08:55:2C:4A:20:1C:09:5C:53:78:99:42:02:DB:12:78:91:42:1C:DD:FF:21:79:31:09:5C:10:22:20:23:01:24:A6:46:23:4C:FE:44:20:47:0D:E0:24:48:00:78:33:28:0D:DB:FF:20:79:30:01:5D:20:1C:29:23:01:24:A6:46:1C:4C:FE:44:20:47:17:48:16:49:08:18:30:62:F0:BD:C0:46:FF:FF:FF:01:95:49:05:00:5B:32:08:00:D1:A1:04:00:50:66:08:00:54:66:08:00:48:10:08:00:3F:A2:04:00:AB:EA:01:00:3D:1D:03:00:58:66:08:00:B9:26:08:00:61:66:08:00:60:66"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x0008708e, 0xfa, "08:00:35:57:08:00:5D:9A:03:00:43:1C:03:00:FD:06:05:00:7F:A6:01:00:B3:53:04:00:A4:0F:00:00:F9:D2:00:00:DC:0F:08:00:5F:6A:05:00:ED:E7:00:00:B2:11:08:00:63:66:08:00:69:53:08:00:40:1E:80:00:8C:4B:19:50:8A:49:0A:50:F7:46:F0:B5:01:1C:88:69:82:88:53:04:5B:0C:88:4E:88:4F:89:4D:03:D0:60:2B:01:DC:B2:42:14:D0:82:88:01:23:1B:03:54:04:64:0F:24:03:9C:42:08:DB:3B:1C:01:33:54:04:24:0D:E4:00:9C:42:01:DA:BA:42:03:D0:FF:20:88:60:E8:1D:F0:BD:01:24:A6:46:7B:49:FE:44:08:47:38:1C:A6:46:7A:49:FE:44:08:47:30:1C:A6:46:77:49:FE:44:08:47:A6:46:76:48:FE:44:00:47:38:1C:A6:46:73:49:FE:44:08:47:E8:48:01:68:30:1C:A6:46:71:4A:FE:44:10:47:71:48:40:19:F0:BD:01:1C:0A:7D:6F:48:00:2A:02:D0:C9:68:01:29:01:D0:4F:30:F7:46:31:30:F7:46:41:68:02:39:41:60:E9:48:3F:30:F7:46:1C:B5:41:68"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087188, 0xfa, "E8:4C:00:29:17:D0:41:69:B0:20:40:18:B8:31:6A:46:01:23:9E:46:E2:4B:FE:44:18:47:00:99:E2:48:E4:38:41:43:68:46:80:88:41:18:FF:20:AE:30:81:42:02:D9:20:1C:BF:30:1C:BD:20:1C:DF:30:1C:BD:10:B5:04:1C:C8:68:0A:21:01:22:96:46:E0:4A:FE:44:10:47:00:28:00:D1:8C:20:A0:60:DE:48:DB:30:10:BD:DE:49:04:39:09:78:00:29:01:D1:00:21:41:60:41:68:42:69:51:1A:41:60:D8:48:55:30:F7:46:D8:49:09:78:00:29:04:D1:01:7D:D5:48:02:30:FF:22:42:54:D5:48:4F:30:F7:46:01:1C:8A:69:4B:68:D3:48:9A:42:01:D9:3B:30:F7:46:CA:60:79:30:F7:46:D1:48:CF:49:08:80:D0:48:FF:30:DE:30:F7:46:C2:69:FF:21:11:31:8B:5C:CD:49:5B:08:08:D3:FF:23:02:33:9A:5C:02:2A:03:D0:01:2A:01:D0:03:2A:02:D1:08:1C:5B:30:F7:46:FF:22:42:60:08:1C:39:30:F7:46:00:B5:40:68:01:21:8E:46:C2:49:FE:44:08:47:C2:48:57:30:00:BD:02:8A"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087282, 0xfa, "01:79:0A:29:00:DB:0A:21:E8:48:8A:42:01:DD:5F:30:F7:46:5B:30:F7:46:F0:B5:01:24:A6:46:E4:48:FE:44:00:47:01:28:05:D0:A6:46:E1:48:FE:44:00:47:04:28:19:D1:02:26:DF:4D:28:79:00:28:11:D0:E8:7A:06:28:0E:D1:0E:20:01:1C:EA:4F:38:1C:14:38:A6:46:E7:4A:FE:44:10:47:38:1C:0E:21:A6:46:E4:4A:FE:44:10:47:70:35:01:3E:E7:D1:A6:46:E3:48:FE:44:00:47:E2:49:0B:48:54:30:40:18:F0:BD:C0:46:04:F3:1A:00:80:7B:08:00:03:80:00:00:17:10:00:00:C9:FB:04:00:BB:15:04:00:7D:CA:03:00:05:43:02:00:0B:C9:03:00:AB:02:00:00:B1:33:02:00:F0:B5:8D:B0:01:90:81:69:02:91:01:7D:03:91:42:68:00:92:80:8B:40:00:04:90:6B:48:83:30:00:78:40:00:05:90:00:29:01:D1:00:20:E1:E0:04:98:02:04:12:0C:06:92:02:98:03:99:6B:46:01:24:A6:46:C6:4D:FE:44:28:47:07:90:00:9E:00:20:08:90:80:48:09:90:0A:90:7F:E0:09:98"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x0008737c, 0xfa, "00:28:2B:D0:0B:98:09:90:28:E0:05:98:87:42:25:DB:90:79:03:28:01:D0:01:28:20:D1:79:19:05:98:08:1A:07:99:A6:46:B8:4A:FE:44:10:47:07:1C:28:1C:07:99:A6:46:B5:4A:FE:44:10:47:01:04:09:0C:3A:04:12:0C:00:20:A6:46:B1:4B:FE:44:18:47:00:28:04:D1:0A:98:00:28:03:D0:0A:97:01:E0:00:20:0A:90:B6:68:00:2E:03:D0:30:88:07:99:88:42:49:DB:08:98:00:28:46:D1:61:49:09:98:88:42:42:D1:0A:98:88:42:3F:D1:03:98:00:28:2C:D0:02:9D:03:98:0C:90:00:27:28:88:0B:90:04:99:A6:46:9C:4A:FE:44:10:47:00:28:07:D0:0B:99:04:98:A6:46:98:4A:FE:44:10:47:00:28:11:D1:08:98:B8:42:09:D0:08:98:C1:00:02:98:40:18:29:1C:08:22:A6:46:EF:4B:FE:44:18:47:08:98:40:1C:00:06:00:0E:08:90:08:35:01:37:0C:98:01:38:0C:90:D6:D1:08:98:00:28:0C:D0:02:98:08:99:06:9A:6B:46:A6:46:85:4D:FE:44:28:47:07:90:00:9E:3F:48"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087476, 0xfa, "09:90:0A:90:00:2E:3A:D0:35:88:07:98:85:42:36:DA:B0:68:00:28:05:D0:00:88:07:99:88:42:01:DC:47:1B:04:E0:07:98:40:1B:00:99:09:88:0F:18:72:68:91:88:05:98:40:18:87:42:00:DA:6A:E7:48:19:07:99:A6:46:73:4A:FE:44:10:47:0B:90:79:19:05:98:08:1A:07:99:A6:46:6E:4A:FE:44:10:47:02:04:12:0C:0B:98:01:04:09:0C:00:20:A6:46:6A:4B:FE:44:18:47:00:28:00:D1:48:E7:00:20:09:90:06:E0:C0:46:E0:31:08:00:1F:48:09:99:81:42:02:D0:09:98:0A:90:02:E0:0A:99:81:42:01:D0:0A:98:04:E0:06:98:A6:46:E8:49:FE:44:08:47:01:99:48:60:E5:48:FF:30:10:30:0D:B0:F0:BD:B7:4B:04:00:4F:81:03:00:FD:79:00:00:C6:05:00:00:E0:49:09:78:2A:29:05:D0:33:29:01:D1:0A:21:02:E0:06:21:00:E0:08:21:41:60:F1:48:43:30:F7:46:C0:46:65:2D:00:00:79:47:00:00:0D:13:02:00:76:24:08:00:E0:A0:1B:00:89:28:05:00:3D:39:02:00"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087570, 0xfa, "60:5B:08:00:FF:FF:00:00:D9:AA:00:00:D5:75:00:00:23:01:05:00:B3:09:02:00:FC:B5:00:90:E2:48:00:78:02:28:43:D1:E1:49:FF:20:41:30:40:18:01:90:E0:48:40:5C:00:26:38:E0:B1:00:01:98:45:58:00:2D:30:D0:FE:20:40:5D:00:28:2C:D0:F2:20:41:5D:00:29:28:D1:FF:20:02:30:40:5D:01:28:23:D0:24:20:01:24:A6:46:E7:4A:FE:44:10:47:00:06:00:0E:F3:22:51:5D:81:42:17:D0:50:55:00:28:14:D1:2F:8D:39:1C:E1:48:A6:46:24:4A:FE:44:10:47:29:8E:79:18:08:1A:40:1E:39:1C:A6:46:20:4A:FE:44:10:47:40:00:28:86:28:8E:40:08:28:86:01:36:D8:48:00:78:86:42:C4:D3:FF:21:41:31:00:98:41:60:D6:48:D5:49:08:18:FC:BD:F9:97:00:00:8F:8D:01:00:A4:13:08:00:10:B5:00:79:01:28:06:D1:88:8B:09:7D:01:22:96:46:CE:4A:FE:44:10:47:CE:4C:20:78:01:28:04:D1:01:20:86:46:CC:48:FE:44:00:47:00:20:20:70:CA:49:C5:48:88:38"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x0008766a, 0xfa, "40:18:10:BD:C0:46:E5:06:05:00:14:05:1A:00:77:C5:01:00:B9:C5:01:00:A1:95:01:00:95:49:05:00:21:96:01:00:F0:B5:86:B0:01:92:02:91:06:1C:88:68:00:6A:03:90:80:00:01:99:44:18:04:94:04:19:05:94:04:19:01:98:03:99:01:25:AE:46:B8:4A:FE:44:10:47:04:98:03:99:AE:46:B5:4A:FE:44:10:47:05:98:03:99:AE:46:B2:4A:FE:44:10:47:02:98:80:68:C7:69:70:68:03:99:AE:46:AE:4A:FE:44:10:47:00:28:50:D1:30:68:39:1C:03:9A:AE:46:AB:4B:FE:44:18:47:00:28:47:D5:70:68:39:1C:03:9A:AE:46:A6:4B:FE:44:18:47:00:28:3E:D5:30:68:01:99:02:9A:23:1C:AE:46:A2:4F:FE:44:38:47:00:94:30:68:01:99:04:9A:02:9B:AE:46:9F:4F:FE:44:38:47:00:94:30:68:02:99:89:68:C9:6A:01:9A:02:9B:AE:46:99:4F:FE:44:38:47:01:98:04:99:05:9A:02:9B:AE:46:96:4F:FE:44:38:47:02:98:80:68:01:6B:05:98:01:9A:02:9B:AE:46:91:4F:FE:44"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087764, 0xfa, "38:47:70:68:04:99:02:9A:23:1C:AE:46:8B:4C:FE:44:20:47:01:98:04:99:03:9A:AE:46:87:4B:FE:44:18:47:00:28:02:D0:00:20:C0:43:00:E0:00:20:06:B0:F0:BD:F0:B5:85:B0:45:69:86:69:C0:69:02:90:0F:6A:48:6A:03:90:88:6B:04:90:28:1C:00:95:31:6A:89:00:4D:19:01:95:4D:19:31:68:01:29:0D:D1:72:69:39:1C:01:24:A6:46:0D:4B:FE:44:18:47:72:69:01:98:B9:18:A6:46:09:4B:FE:44:18:47:68:46:02:99:2A:1C:01:24:A6:46:71:4B:FE:44:18:47:73:49:70:4D:00:28:06:D0:0C:70:28:1C:21:30:0D:E0:C0:46:5D:5F:05:00:00:20:08:70:B2:69:03:98:04:99:A6:46:69:4B:FE:44:18:47:28:1C:A9:30:05:B0:F0:BD:69:48:00:78:00:07:40:0E:89:6B:49:06:89:0C:08:18:64:49:08:80:65:48:C5:30:F7:46:01:1C:0A:79:63:48:06:2A:03:DB:92:1F:4A:60:2F:30:F7:46:79:30:F7:46:01:1C:88:69:43:78:3E:22:1A:40:5D:48:06:2A:05:DB:9A:06:92:0E"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x0008785e, 0xfa, "06:3A:4A:60:23:30:F7:46:49:30:F7:46:30:B5:45:68:FF:20:11:30:40:5D:80:09:0C:D3:11:21:09:01:4A:5D:DF:20:10:40:48:55:28:1C:00:21:01:22:96:46:50:4A:FE:44:10:47:01:20:04:1C:86:46:4E:49:FE:44:08:47:A9:8B:28:1C:A6:46:4C:4A:FE:44:10:47:4C:48:9B:30:30:BD:6D:95:00:00:4D:96:01:00:69:53:08:00:10:B5:02:1C:4C:20:43:5A:46:48:06:2B:0D:DB:19:24:E4:01:A3:42:09:DC:54:23:59:5A:0A:29:05:DB:A1:42:03:DC:00:21:51:60:99:30:10:BD:3F:4A:00:21:FF:23:21:33:4B:43:D3:5C:FF:2B:04:D0:49:1C:09:06:09:0E:0A:29:F4:DB:49:1E:39:4A:11:70:01:21:38:4A:11:70:FF:30:26:30:10:BD:C0:46:7B:5E:02:00:45:10:08:00:54:24:08:00:07:0E:00:00:7F:B5:45:69:10:26:32:1C:68:46:00:21:01:24:A6:46:2E:4B:FE:44:18:47:FF:20:31:30:40:19:69:46:32:1C:A6:46:2B:4B:FE:44:18:47:00:28:08:D1:FF:20:25:30:05:21:41:55"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087958, 0xfa, "28:1C:A6:46:26:49:FE:44:08:47:26:48:6F:30:00:90:7F:BD:25:48:A5:30:F7:46:2B:F0:04:00:FF:FF:FF:01:5B:32:08:00:8F:02:00:00:CD:92:01:00:6F:4B:02:00:58:66:08:00:43:1C:03:00:F5:70:00:00:21:37:05:00:E9:36:05:00:A9:36:05:00:C3:6C:05:00:A5:6C:05:00:D1:1C:05:00:8D:76:08:00:91:48:05:00:47:37:05:00:63:66:08:00:1C:30:19:00:96:A5:1B:00:61:61:03:00:E1:72:03:00:5F:73:03:00:F5:56:02:00:BB:88:03:00:3B:3B:02:00:9D:CF:02:00:6D:23:03:00:B9:26:08:00:61:66:08:00:60:66:08:00:E9:63:05:00:5F:6A:05:00:D5:12:04:00:5F:DE:04:00:BD:65:01:00:FF:B5:68:46:FF:F7:C0:F9:FF:BD:FF:B5:68:46:FF:F7:D9:F9:FF:BD:FF:B5:68:46:FF:F7:00:F9:FF:BD:FF:B5:68:46:FF:F7:B5:F8:FF:BD:FF:B5:68:46:FF:F7:3A:FA:FF:BD:FF:B5:68:46:FF:F7:81:FA:FF:BD:FF:B5:68:46:FF:F7:DC:F9:FF:BD:FF:B5:68:46:FF:F7:F9:F9"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087a52, 0x66, "FF:BD:FF:B5:68:46:FE:F7:41:FE:FF:BD:FF:B5:68:46:FE:F7:73:FE:FF:BD:FF:B5:68:46:FE:F7:19:FE:FF:BD:FF:B5:68:46:FE:F7:FF:FD:FF:BD:FF:B5:68:46:FE:F7:08:FE:FF:BD:FF:B5:68:46:FF:F7:07:F8:FF:BD:FF:B5:68:46:FF:F7:55:F9:FF:BD:FF:B5:68:46:FE:F7:D5:FE:FF:BD:FF:B5:68:46:FE:F7:7B:FE:FF:BD:FF:B5:68:46:FE:F7:9C:FE:FF:BD"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00087b78, 0x88, "00:B5:F8:F0:E3:FA:00:BD:D7:70:08:00:79:71:08:00:3D:72:08:00:6D:72:08:00:81:72:08:00:99:72:08:00:35:75:08:00:89:75:08:00:95:77:08:00:61:71:08:00:D5:65:08:00:E5:71:08:00:01:72:08:00:19:72:08:00:2F:72:08:00:29:73:08:00:39:76:08:00:1B:78:08:00:35:78:08:00:4B:78:08:00:6B:78:08:00:C5:71:08:00:BD:78:08:00:25:79:08:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:6B:79:08:00"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x001af304, 0x80, "CE:FB:04:00:F4:4B:04:00:0C:76:00:00:06:0A:02:00:50:98:00:00:B4:C6:01:00:B8:5E:02:00:58:95:01:00:2E:49:05:00:DE:33:02:00:14:29:02:00:60:13:02:00:D6:28:05:00:74:39:02:00:88:AC:00:00:7A:95:00:00:E8:72:00:00:1C:62:03:00:0E:73:03:00:7E:73:03:00:34:D0:02:00:52:48:00:00:04:24:03:00:A0:DE:04:00:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:5A:66:01:00"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x00180000, 0xfa, "70:B5:3A:4D:AE:7F:01:24:A6:46:36:48:FE:44:00:47:B0:42:F8:D1:03:20:17:21:89:01:A6:46:32:4A:FE:44:10:47:AD:7F:A6:46:2F:48:FE:44:00:47:A8:42:F9:D1:FE:E7:30:B5:2E:49:08:1F:2E:4A:10:60:31:48:02:1C:71:3A:93:24:01:23:A3:54:2B:4B:0B:60:02:23:13:71:2A:4B:4B:60:03:23:53:71:29:4B:8B:60:04:23:03:70:29:4B:CB:60:05:23:83:73:28:4B:0B:61:06:23:03:73:27:4B:4B:61:07:23:43:71:26:4B:8B:61:08:24:03:1C:33:3B:1C:70:24:4B:CB:61:09:23:D3:74:23:4B:0B:62:0A:23:D3:71:D3:1D:22:4C:4C:62:0B:24:44:77:21:4C:8C:62:0C:25:04:1C:3D:3C:25:70:1F:4C:CC:62:0F:38:0D:24:04:70:1D:4C:0C:63:0E:24:04:73:1C:4C:4C:63:0F:24:44:73:1B:4C:8C:63:10:24:04:77:1A:48:C8:63:11:20:10:70:19:48:08:64:12:20:98:76:18:48:48:64:30:BD:C0:46:25:86:04:00:1B:90:04:00:6C:52:08:00:08:66:08:00:20:55:08:00:73:7A"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x001800fa, 0xfa, "08:00:5F:7A:08:00:55:7A:08:00:95:55:08:00:A5:7A:08:00:7D:7A:08:00:69:7A:08:00:AF:7A:08:00:9B:7A:08:00:87:7A:08:00:19:7A:08:00:91:7A:08:00:23:7A:08:00:05:7A:08:00:0F:7A:08:00:41:7A:08:00:4B:7A:08:00:2D:7A:08:00:37:7A:08:00:F0:B5:31:4E:0C:22:32:70:1A:23:73:70:09:20:B0:70:18:20:F0:70:03:20:2E:4D:29:1C:01:39:01:24:A6:46:2A:4F:FE:44:38:47:B2:78:F3:78:03:20:29:1C:A6:46:26:4E:FE:44:30:47:03:20:29:1C:01:31:A6:46:25:4A:FE:44:10:47:A6:46:24:48:FE:44:00:47:23:4B:00:21:08:1C:1A:68:00:2A:04:D0:02:07:15:0F:22:1C:AA:40:11:43:02:07:12:0F:0F:2A:05:D1:C5:08:06:22:2A:40:1B:4D:A9:52:00:21:04:33:01:30:20:28:E9:D3:1A:48:01:1C:50:31:0C:70:0A:21:16:4A:11:70:33:21:01:70:00:25:16:48:05:60:28:1C:A6:46:16:49:FE:44:08:47:13:49:08:60:14:48:05:60:07:20:14:49:08:70:14:4A"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Write_Memory_Block 0xFF05, 0x001801f4, 0x60, "91:78:02:20:08:43:90:70:12:48:05:70:12:48:05:70:12:48:05:70:F0:BD:C0:46:FC:53:08:00:31:90:04:00:C6:05:00:00:1B:90:04:00:33:00:18:00:80:7B:08:00:84:F3:1A:00:6D:22:08:00:69:53:08:00:50:66:08:00:54:66:08:00:D1:A1:04:00:5C:66:08:00:B3:11:08:00:E4:15:08:00:63:66:08:00:60:66:08:00:61:66:08:00"
    Wait_HCI_Command_Complete_VS_Write_Memory_Block_Event 5000, any, 0xff05, 0x00
    Send_HCI_VS_Goto_Address 0xFF83, 0x00087b79, 0x00000000, 0x00000000, 0x00000000, 0x00000000
    Wait_HCI_Command_Complete_VS_Goto_Address_Event 5000, any, 0xff83, 0x00
    
    ######
    ### Set the BT Core spec to 4.2 for Bluetopia stack compatibility
    ### Remove below VS command for default BT core spec 5.1
    Send_HCI_VS_Read_Modify_Write_Hardware_Register 0xFD09, 0x00085368, 0x2a00, 0xff00
    Wait_HCI_Command_Complete_VS_Read_Modify_Write_Hardware_Register_Event 5000, any, 0xfd09, 0x00
    ######
    
    Send_HCI_VS_Sleep_Mode_Configurations 0xFD0C, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0064
    Wait_HCI_Command_Complete_VS_Sleep_Mode_Configurations_Event 5000, any, 0xfd0c, 0x00
    Send_HCI_VS_Read_Modify_Write_Hardware_Register 0xFD09, 0x001a6058, 0x1000, 0x1000
    Wait_HCI_Command_Complete_VS_Read_Modify_Write_Hardware_Register_Event 5000, any, 0xfd09, 0x00
    Send_HCI_VS_Read_Modify_Write_Hardware_Register 0xFD09, 0x001a6010, 0x0010, 0x0010
    Wait_HCI_Command_Complete_VS_Read_Modify_Write_Hardware_Register_Event 5000, any, 0xfd09, 0x00
    Send_HCI_VS_Fast_Clock_Configuration_btip 0xFD1C, 0xff, 0x00001388, 0x000000ff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfa, 0x00, 0xff, 0x00ff
    Wait_HCI_Command_Complete_VS_Fast_Clock_Configuration_btip_Event 5000, any, 0xfd1c, 0x00
    
    
    ##--------------------------------------------------------------------------------
    ## Description:   ORCA_C Commercial PHY FW Initialization Script
    ##--------------------------------------------------------------------------------
    Send_HCI_VS_DRPb_Set_RF_Calibration_Info 0xFD76, 0x01, 0x00005421, 0x00005761, 0x14, 0x05, 0x0a, 0x05, 0x00, 0x07, 0x06, 0x0a, 0x04, 0x05, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00000000
    Wait_HCI_Command_Complete_VS_DRPb_Set_RF_Calibration_Info_Event 5000, any, 0xfd76, 0x00
    Send_HCI_VS_DRPb_Enable_RF_Calibration 0xFD80, 0x00, 0x00000001, 0x01
    Wait_HCI_Command_Complete_VS_DRPb_Enable_RF_Calibration_Event 5000, any, 0xfd80, 0x00
    Send_HCI_VS_DRPb_Enable_RF_Calibration 0xFD80, 0x3c, 0x00005ff0, 0x00
    Wait_HCI_Command_Complete_VS_DRPb_Enable_RF_Calibration_Event 5000, any, 0xfd80, 0x00
    
    
    
    Send_HCI_VS_Stop_VS_Lock 0xFE38
    Wait_HCI_Command_Complete_VS_Stop_VS_Lock_Event 5000, any, 0xfe38, 0x00
    
    #################################################################
    ## START of CC2564 Adds-On
    #################################################################
    
    ## Enable fast clock XTAL support
    ##Send_HCI_VS_Fast_Clock_Configuration_btip 0xFD1C, 0x01, 0x00001388, 0x000007d0, 0xff, 0xff, 0x04, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x0000
    ##Wait_HCI_Command_Complete_VS_Fast_Clock_Configuration_btip_Event 5000, any, 0xfd1c, 0x00
    
    ## Enable eHCILL
    ##Send_HCI_VS_hcill_parameters 0xFD2B, 0x0010, 0x0050, 0x96
    ##Wait_HCI_Command_Complete_VS_hcill_parameters_Event 5000, any, 0xfd2b, 0x00
    
    ##Send_HCI_VS_Sleep_Mode_Configurations 0xFD0C, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x0064
    ##Wait_HCI_Command_Complete_VS_Sleep_Mode_Configurations_Event 5000, any, 0xfd0c, 0x00
    
    #################################################################
    ## END of CC2564 Adds-On
    #################################################################
    

    Here is the File to put directly into HCI Tester.

    successfully and Enable the BLE using the BLE add-on script

    Good.

    in last part  you can see that When I send the command 0x00 0x00 from Realterm( trying to mimic DTM tester such as MT8852B).

    0x00 0x00 is not a command. All commands need to follow the correct packet format. This is probably why you are receiving the failure.

    What command are you trying to send? HCI_Reset?

    The BLERX HCI logs I send previously in this thread is with the test in DTM mode. There is no DTM TEST.

    Best,

    Rogelio

  • Can you share the exact setup you use in your lab to perform the DTM test?

    I am using the MSP432 setup.

  • Hi @RogelioD,

    The command you referred to doesn't seem like the format for the DUT Commands.

    In the Bluetooth Corev5.1 document, Volume 6, Part F, it has defined the commands will be of 2 Bytes.

    As per this spec, 0x00 0x00 is a proper command.

    I am attaching a reference from some other vendors here.

    please let me know if I am missing anything.

  • Also, I found a related post,

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/863688/cc2564modn-how-can-make-cc2564-into-dtm-mode

    From this post, my understanding is there is no need for a UART connection between CWM 500 and  CC2564C.

    For this, I am attaching 2 test setups below. Let me know which one you are using.

    which method should we opt for DTM testing?

    thanks!

  • Hi @RogelioD,

    Can you confirm the test setup?

    thanks !

  • Hi Vishnu,

    I do something similar to setup B.

    You had mentioned you have been able to do both the RX and TX BLE tests while in dtm. What other testing are you trying to accomplish?

    Best,

    Rogelio

  • Hi @RogelioD,

    Thanks for confirming the test setup.

    The test is part of BQB testing for BT qualification.

    In the setup, they use CWM500, and they want to connect and control the device test modes from CWM500 itself.

    What I know is there is a group of tests the CWM500 runs, the only thing is to put the device in DTM mode and connect it to CWM500.

    So over Signalling (BLE) or through UART, CWM500 takes control of DUT.

    If B is the case The team is not aware of how to setup and perform the test on CWM 500.

    Can you share the document on what to set in CWM500 to perform the DUT testing? That will be a great help.

    Thanks!

  • Hi Vishnu,

    I went back to the lab and ran the testing. I took video, so you can see how the device is connected. I also took logic analyzer logs of the uart lines so you can see the raw data that is being sent from the CMW to the CC2564c.

    Run Init script

    Run LE enable

    Click here to play this video

    Click here to play this video

    PER Search.sal

    Multi Eval.sal

    You will need to download the Logic pc application to see uart logs.

    Best,

    Rogelio

  • HI @RogelioD,

    Can you share the settings of the CWM500?

    is it connected in 2 wire mode or HCI mode?

    thanks!

  • Thanks @rogelioD,.

    Seems like some issue in the communication between CWM500 and our device.  Our logic runs at 1.8v.

    PC to device  taking off he commands,

    Also, CWM500, to PC also(for testing) communication is happening.

    But if we connect CWM500 to Device it is facing issue.  

    We are checking it out side.  Thanks for the support.

  • Hi Vishnu,

    Here are the videos in a zip. It was taken with an Iphone so they are in .mov format.

    Photos-001.zip

    Let me know how it turns out. Thanks for your patience.

    Kind Regards,

    Rogelio

  • Hi @RogelioD,

    Thanks for the efforts and Support provided.

    With the UART bypass method, we were able to tackle the issue we faced on testing.

    Our issue was that we were using UART mode (where commands will be 2 Bytes) to test.

    When we switched to HCI mode it is working.

    Thanks!