CC2564C: Putting the device in Rx mode for FCC/CE certification

Part Number: CC2564C

Hi Team,

This is a open ticket from long time. How to put the device in RX mode and how to make sure the device is in RX mode. We need to get a proper example or steps using VS command  how to perform this.

What we like to achieve is device A in RX mode  and device B in TX mode.  

Device A should be able to  print the data  received from Device B..

As a minimum requirement, at least  we should be able to  get no.of packets received on device A from device B. 

Please help us to setup this. 

Thanks!

  • Hi Vishnuprasad, 

    You can set this scenario up using the HCITester tool provided by Texas Instruments. Attached is some documentation for setting a device up to read incoming packets using HCI commands. By using HCITester, you can advertise and connect two devices with each other. Try to set the advertising device to transmit packets and set the second device to read incoming packets using the production line guide. I've also attached documentation for CC256x concerning HCI commands.

    6560.swra751.pdf

    CC256x Production Line Testing Guide - Texas Instruments Wiki (1).pdf

  • Hi Andy,

    I tried the commands in our application code with respect to what was mentioned in the Production Line Testing Guide.

    As we dont have acces to the HCI ports(custom board) of BT chip on our product we are sending the command using the stack.

    I am attaching the functions here .

    Below attached is the function used to start the BER Meter

    void DRPb_BER_Meter_Start(){
    
       int    ret_val;
       Byte_t Length;
       Byte_t Status;
       Byte_t OGF;
       Word_t OCF;
       Byte_t CommandBuffer[30];
       Byte_t ReturnBuffer[12];
    
       /* Before continuing, make sure the input parameters appears to be   */
       /* semi-valid.                                                       */
       if((RF_BTStackID)){
    
    	  /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    	  BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[0], 0x00); // Frequency_Channel
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[1], 0x00); //Reserved
    	  ASSIGN_HOST_WORD_TO_LITTLE_ENDIAN_UNALIGNED_WORD(&CommandBuffer[2], 0x1234); //BD_ADDR
    	  ASSIGN_HOST_DWORD_TO_LITTLE_ENDIAN_UNALIGNED_DWORD(&CommandBuffer[4], 0x12345678); //BD_ADDR
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[8], 0x01);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[9], 0x01);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[10], 0x1B);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[11], 0x00);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[12], 0xE8);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[13], 0x03);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[14], 0xFF);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[15], 0x01);
    	  ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[16], 0x01);
    
    	  Length  = sizeof(ReturnBuffer);
    	  OGF     = COMMAND_OGF(0xFD8B); //#define DRPb_BER_Meter_Start                    ((Word_t)(0xFD8B))
    	  OCF     = COMMAND_OCF(0xFD8B); //#define DRPb_BER_Meter_Start                    ((Word_t)(0xFD8B))
    	  ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 17, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
       }
    
    }
    

    Below attached is the code for  BER testing as a whole.(meter start is called from here).

    void Get_BT_BER_Result(){
    	int    ret_val;
    	Byte_t Length;
    	Byte_t Status;
    	Byte_t OGF;
    	Word_t OCF;
    	Byte_t CommandBuffer[30];
    	Byte_t ReturnBuffer[65];
    
    	/* Before continuing, make sure the input parameters appears to be   */
    	/* semi-valid.                                                       */
    	//MAX_BLE_Channel = 39
    	if((RF_BTStackID)){
    		DRPb_BER_Meter_Start();
    
    	   osDelay(10000);
    	  /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    	  BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    	  ReturnBuffer[63] =55;
    	  Length  = sizeof(ReturnBuffer);
    	  OGF     = COMMAND_OGF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                     ((Word_t)(0xFD13))
    	  OCF     = COMMAND_OCF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                     ((Word_t)(0xFD13))
    	  ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 0, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
    
    	  if(ret_val == 0){
    		  ProdDisplay(("Get_BT_BER_Result\n"));
    		  ProdDisplay(("%d\n",ReturnBuffer[63]));
    		  for(int i =0;i<Length;i++){
    			  ProdDisplay(("%d: %d\n",i,ReturnBuffer[i]));
    		  }
    	  }else{
    		  ProdDisplay(("Get_BT_BER_Result Failed\n"));
    	  }
    
    	   osDelay(10000);
    		  /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    		  BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    		  ReturnBuffer[63] =55;
    		  Length  = sizeof(ReturnBuffer);
    		  OGF     = COMMAND_OGF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                     ((Word_t)(0xFD13))
    		  OCF     = COMMAND_OCF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                     ((Word_t)(0xFD13))
    		  ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 0, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
    
    		  if(ret_val == 0){
    			  ProdDisplay(("Get_BT_BER_Result\n"));
    			  ProdDisplay(("%d\n",ReturnBuffer[63]));
    			  for(int i =0;i<Length;i++){
    				  ProdDisplay(("%d: %d\n",i,ReturnBuffer[i]));
    			  }
    		  }else{
    			  ProdDisplay(("Get_LE_BER_Result Failed\n"));
    		  }
    
    		   osDelay(10000);
    			  /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    			  BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    			  ReturnBuffer[63] =55;
    			  Length  = sizeof(ReturnBuffer);
    			  OGF     = COMMAND_OGF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                      ((Word_t)(0xFD13))
    			  OCF     = COMMAND_OCF(0xFD13); //#define HCI_VS_DRP_Read_BER_Meter_Result                      ((Word_t)(0xFD13))
    			  ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 0, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
    
    			  if(ret_val == 0){
    				  ProdDisplay(("Get_BT_BER_Result\n"));
    				  ProdDisplay(("%d\n",ReturnBuffer[63]));
    				  for(int i =0;i<Length;i++){
    					  ProdDisplay(("%d: %d\n",i,ReturnBuffer[i]));
    				  }
    			  }else{
    				  ProdDisplay(("Get_BER_Result Failed\n"));
    			  }
    	}
    }

    On the Transimitter Side 

    void Start_Continuous_TX_RX(unsigned int RF_BTStackID,Byte_t Freq_Channel){
    	   int    ret_val;
    	   Byte_t Length;
    	   Byte_t Status;
    	   Byte_t OGF;
    	   Word_t OCF;
    	   Byte_t CommandBuffer[30];
    	   Byte_t ReturnBuffer[12];
    	   BD_ADDR_t BD_ADDR;
    	   Byte_t TXMode = 0x00;
    
    	   ASSIGN_BD_ADDR(BD_ADDR, 0x12, 0x34, 0x56, 0x78, 0x12, 0x34);
    
    	   VS_Set_Bluetooth_Address(RF_BTStackID,BD_ADDR);
    
    	   if(Freq_Channel == 0xFF){
    		   TXMode = 0x00;
    		   Freq_Channel = 0x00;
    	   }else{
    		   TXMode = 0x03;
    	   }
    
    
    
    	   /* Before continuing, make sure the input parameters appears to be   */
    	   /* semi-valid.                                                       */
    	   if((RF_BTStackID)){
    
    	      /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    	      BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[0], 0x03); //DOnt pushh
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[1], 0x00);
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[2], 0xFF);
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[3], 0x01); //Packet_Type
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[4], 0x03);
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[5], 0x00);
    	      ASSIGN_HOST_WORD_TO_LITTLE_ENDIAN_UNALIGNED_WORD(&CommandBuffer[6], 0x001B); //Packet_Length
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[8], 0x0F);
    	      ASSIGN_HOST_BYTE_TO_LITTLE_ENDIAN_UNALIGNED_BYTE(&CommandBuffer[9], 0x01);
    	      ASSIGN_HOST_WORD_TO_LITTLE_ENDIAN_UNALIGNED_WORD(&CommandBuffer[10], 0x01FF);
    
    	      Length  = sizeof(ReturnBuffer);
    	      OGF     = COMMAND_OGF(0xFD85); //#define HCI_VS_DRPb_Tester_Packet_TX_RX
    	      OCF     = COMMAND_OCF(0xFD85); //#define HCI_VS_DRPb_Tester_Packet_TX_RX
    	      ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 12, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
    
    	   }
    }

    With this still I am getting the BER Results as Zero.

    Can you perform the Test in your setup and share the HCI logs ? for both RX and TX side

    Like to get  this sorted ASAP.

    Thanks!

  • Hi Andy,

    I am attaching the HCI log on the transmitter side and receiver side here. 

    Can you please check the logs and let me know what is wrong?

    We are using the latest Buetopia v5.1.1.1

    RECEIVER_TEST_LOGS_V1.zip

    Waiting for your response.

    Thanks!!

  • Hi Vishnuprasad,

    Let me consult one of my colleagues on this. I'll get back to you by tomorrow. 

  • Hi Andy,

    Thanks  for the update.

    Waiting for the response from your team for resolution.

    Thanks!

  • Hello Vishnu,

    This is a first for me but ill try to help out as best as I can.

    The proper testing guide for the cc2564C is https://www.ti.com/lit/an/swra749/swra749.pdf

    From here to get continuous RX follow section 5.3

    and for continuous TX is 5.1

    Unfortunately since we are sending raw HCI commands the logger tool will not offer any help. The only thing that would help would be maybe uart traces of the hci but as you stated above you dont have access to them. I will also be out of town till next tuesday.

    Best,

    Rogelio

  • Hi Rogelio,

    Thanks for the Response.

    Continuous TX  we are able to verify.

    The issue is when we put it in Continuous RX mode.  The test Agency like to see the BER results, that is what I am trying to achieve here.

    Can you just check the logs and tell me how to perform the BER Test? you can cross-verify with the commands you are giving from the HCI tester tool.

    (Also as I understood from CC2564C architecture,  even if you are giving the command through HCI-Tester. It will give debug logs in the BT_DBG pin  using the BT-logger tool)

    Apart from that, please check with your setup whether the BER test is working for you. Just to clarify the steps mentioned in the Production line testing document are correct.

    Thanks!

  • Hi Andy,

    As Rogelio is on leave can you help me to sort this out?

    I can work closely with you on this.

    For faster resolution mail or even Skype also is fine.

    As we don't have the  CC2564C development kit, can you please set up the system at your lab?

    I would like to get this sorted as fast as we can as it is super critical for the Certification.

    Waiting for your response.

    Thanks!

  • Hi Andy,

    Can you please help us to resolve this?

    it is very urgent.

    Thanks!

  • Hi  ,

    Any update ?

    We are waiting for the resopnse.

  • Hi TI,

    This is not expected from a reputed firm like TI.

    It is almost  2 weeks now still the solution is not clear.

    We are in the product testing phase and this is a very critical thing to be sorted ASAP.

    please understand the situation and provide some support.

  • Hi Vishnu,

    I will be taking over the thread, I will run this test and get some logs for you tomorrow. 

    Sorry for the delay,

    Rogelio

  • Hi Rogelio,

    Thanks for understanding the situation.. waiting for your response..

    Like to get Rx testing on BT and BLE also.

    Thanks!

  • Hello Vishnu,

    I ran the test between 2 devices and got the same behavior in which the test results kept returning 0. I will continue looking into this and follow up on monday.

    Best,

    Rogelio

  • Hi Rogelio,

    Thanks for the efforts & update.

    Waiting for more updates on this. 

    Thanks!

    Vishnuprasad

  • Hi Vishnu,

    Just wanted to follow up that I am still working on this, Ill touch base again tomorrow.

    Kind Regards,

    Rogelio

  • Hi Vishnu,

    Waiting on some feedback. Ill follow up tomorrow.

    Thanks for the patience,

    Rogelio

  • Hi Rogelio,

    Any updates?

    Is there any fix for this?

    It is getting delayed a lot. This is not expected.

    I like to get a clear update on when can we expect the fix for this.

    In the worst-case scenario,

    If you are still not getting any clue on how to fix this, please share the FW TI used to get the CC2564C module FCC certified (Hope that will work as it has FCC certification.)

    Thanks!

  • Hi ,

    Any updates?

    I didn't receive any updates in the last 5 days.

  • Hi ,

    This is very disappointing to no response from TI like this.

    If  a fix is needed, please let us know, what need to be done.  Please understand that the issue is very critical.

    Thanks!

  • Hi Vishnu,

    I am looking for the scripts, unfortunately I have had no luck finding them. Ill continue to play around with testing, and try to find the correct order of HCI commands needed. Is there a way for you to get access to a bluetooth tester?

    Best,

    Rogelio

  • Hi ,

    Thanks for sharing the status. 

    But I am not sure how this is  going to get resolved.  

    Can you try this on older versions of service packs???

    May be before 4.2 update ?

    Going back to older service packs may be at the time of TI certified the module. 

    Will that help ? Can you check that out also please.

    Unless there is working sample I don't think we will be able to resolve this issue. 

    Please push hard,  the production is already delayed by more than  a month  due to this issue.

    Thanks!

  • Hi Rogelio D,

    Any updates ?

    The production is still pending.

  • Hi Vishnu,

    I have been able to get the BER Test running using the latest service pack.

    BER Test.lgr

    Here are the scripts used to run the test. You will need to implement this using the stack.

    First Set the TX.

    # Set BD address
    BD_ADDR="123456781234"
    
    Send_HCI_VS_Write_BD_ADDR 0xFC06, BD_ADDR
    Wait_HCI_Command_Complete_VS_Write_BD_ADDR_Event 5000, any, HCI_VS_Write_BD_ADDR, 0x00
    
    Send_HCI_Write_Scan_Enable 0x00
    sleep 1000
    Send_HCI_VS_DRPb_Enable_RF_Calibration 0xFD80, 0x01, 0x00000000, 0x01
    Wait_HCI_Command_Complete_VS_DRPb_Enable_RF_Calibration_Event 5000, any, HCI_VS_DRPb_Enable_RF_Calibration, 0x00
    Sleep 1000
    
    # Sent Tx Packets
    Send_HCI_VS_DRPb_Tester_Packet_TX_RX 0xFDCC, 0x00, 0, 0, 0x5, 0x5, 0, 339, 7, 1, 0x01FF
    

    Then set the RX

    $l10
    count = 0
    #DH5 
    Send_HCI_VS_DRPb_BER_Meter_Start 0xFD8B, 0, 0, 0x341278563412, 1, 0x5, 339, 500, 0x1FF, 0x1
    Wait_HCI_Command_Complete_VS_DRPb_BER_Meter_Start_Event 5000, any, HCI_VS_DRPb_BER_Meter_Start, 0x00
    
    #
    $l11
    Sleep 100
    count++
    
    Send_HCI_VS_DRP_Read_BER_Meter_Status 0xFD5B
    Wait_HCI_Command_Complete_VS_DRP_Read_BER_Meter_Status_Event 5000, any, HCI_VS_DRP_Read_BER_Meter_Status, 0x00, &synched, &finished, any, &total_bits, &bit_errors, &packets
    if finished== 0 then
    	if synched == 0 then
    		log"not synced yet %d count",count
    		#Fail "no SYNC"
    	else
    		log"not finished yet %d packets, count %d",packets,count
    	endif
    	goto $l11
    else
    	BER = 1000000*bit_errors/total_bits
    	log"BER is %d e-6 (%d bits out of %d)",1000000*bit_errors/total_bits,bit_errors,total_bits
    	if BER > 100 then
    		Fail "BER is too high"
    	else
    		pause "Finished"
    	endif
    	
    endif
    
    #pause""
    goto $l10
    
    
    
    

    Things to note are, make sure you have the same bd address on both devices. Make sure both the ACL packet type and Packet length are the same.

    I await your follow up.

    Kind Regards,

    Rogelio

  • Hi ,

    Thanks for the efforts and update.

    As we are not using the HCI tool, we are sending the RAW command from the Bluetopia Stack.

    I like to confirm the following details

    1) "sleep 1000" - does this refer to a 1000 ms Delay or do I have to call any sleep function from the stack?

    we are checking on this and will update you shortly.

    Meanwhile please check on the same RX test for BLE as well.

    Thanks!

  • Hi ,

    HCI_VS_DRPb_Tester_Packet_TX_RX is showing OPCODE (0xFDCC),

    where as in all TI documents it is 0xFD80, please confirm the OPCODE for that function.

    Thanks!

  • Hi Rogelio,

    Please share the complete logs for RX and TX sides separate..

    Thanks!

  • Hi ,

    I am able to get the RX test running on BT now.

    The command  I used is HCI_VS_DRPb_Tester_Packet_TX_RX  with OPCODE 0xFD85 instead of  0xFDCC. 

    Please confirm that is the same, The Service pack we use is  c256xc_bt_spv1.5.

    Also I have attached the logs on RX side for your verification.

    BER Test_Bluarmor.zip

     

    Big Thanks for the support, this has been pending for the last 2-3 years.

    I expect more support from you on this platform.

    Now, the Major pending is the RX test on the BLE side. 

    Hope to get that also resolved soon.

    Thanks!

  • Hi Vishnu,

    Im glad we were able to progress on getting this resolved however, looking at your logs it seems as though its not working as it should. For example the last time you call Read_BER_Meter_Status is at line #759 yet you keep getting results even15 minutes after the call. 

    Compared to my results.

    This could be due the difference in me using HCI Tester and you using the bluetopia stack to send these HCI commands.

    The Sleep 1000 is indeed just a 1000 ms delay.

    I double checked and I indeed used the 0xFDCC opcode (this is the opcode used for the wilink device, but the cc2564c and wilink share some HCI commands in FW so it makes sense why it worked here) I would use FD85 as they are both the same command with the same parameters.

    In regards to the BLE RX Test I assume you mean the HCI_LE_Reciever_Test 0x201d 

    There is no VS HCI command for the results as this testing is part of the BT Core specification.

    PART F: 2

    Core_v5.1.pdf

    Best Regards,

    Rogelio

  • HI @RogelioD,

    Thanks for Reviewing the RX test result.

    HCI_VS_DRP_Read_BER_Meter_Status this command need to be called only once or in a loop with 1 second gap?

    Following is the function I used to read the result. it will do a loop for 20 times.

    void Get_BT_BER_Result(Byte_t Freq_Channel){
    	int    ret_val;
    	Byte_t Length;
    	Byte_t Status;
    	Byte_t OGF;
    	Word_t OCF;
    	Byte_t CommandBuffer[30];
    	Byte_t ReturnBuffer[65];
    
    	/* Before continuing, make sure the input parameters appears to be   */
    	/* semi-valid.                                                       */
    	//MAX_BLE_Channel = 39
    	if((RF_BTStackID)){
    		DRPb_BER_Meter_Start(Freq_Channel);
    
    	  for(int i =0 ;i<20; i++){
    
    		   osDelay(10000);
    			  /* Format the HCI VS DRPB Tester Con Tx Command.                  */
    			  BTPS_MemInitialize(CommandBuffer, 0, 30);
    
    			  ReturnBuffer[63] =55;
    			  Length  = sizeof(ReturnBuffer);
    			  OGF     = COMMAND_OGF(0xFE2A);
    			  OCF     = COMMAND_OCF(0xFE2A);
    			  ret_val = HCI_Send_Raw_Command(RF_BTStackID, OGF, OCF, 0, (Byte_t *)CommandBuffer, &Status, &Length, ReturnBuffer, TRUE);
    
    			  if(ret_val == 0){
    				  ProdDisplay(("Get_BT_BER_Result\n"));
    				  ProdDisplay(("%d\n",ReturnBuffer[63]));
    				  for(int i =0;i<Length;i++){
    					  ProdDisplay(("%d: %d\n",i,ReturnBuffer[i]));
    				  }
    			  }else{
    				  ProdDisplay(("Get_LE_BER_Result Failed\n"));
    			  }
    
    	  }
    
    	}
    }

    I will update the result with 1second polling.

    Can you give the procedures to perform BLE RX Test can you give me the command sequence to do on RX and TX separately?

    Thanks!

  • Hi ,

    Regarding your concern,

    "Im glad we were able to progress on getting this resolved however, looking at your logs it seems as though it's not working as it should. For example, the last time you call Read_BER_Meter_Status is at line #759 yet you keep getting results even 15 minutes after the call." 

    This will happen if the other side continues the TX transmission. 

    From my analysis of your logs, the findings are as follows,

    In your Test setup, the RX was entered into Testing mode initially.

    36832  21:55:03.262 +0:15:58.772 0x000EB746 0x000E852D HCI_VS_DRPb_BER_Meter_Start ---->

    After some time only TX was started.

    The first TX received happened at  

    44750 21:57:50.982 +0:18:46.492 BER Result: Total bits 1356000, Total bit error 79307

    Almost around  2 to 3 minutes.

    Please confirm this is not an issue.

    Thanks!

  • Hi Rogelio,

    Any updates  on BLE RX_TESTING.

    Thanks

  • Hi Vishnu,

    After speaking with some of the BLE experts from our team, they mentioned for qualification a Bluetooth tester must be used for BLE Testing, however, I am looking into how to get some preliminary PER testing without using a tester. Ill follow up on monday with any findings.

    Kind Regards,

    Rogelio

  • Hi Rogelio,

    Thanks for pushing on this.

    Waiting for the updates.

    Thanks!

  • Hi Vishnu,

    You will need add access to uart lines for a bluetooth tester to access to get FCC RF qualification for BLE.

    From there the tester will run the commands needed.

    Best,

    Rogelio

  • Hi ,

    Can you run the tests in your setup DK or anything and provide me the logs as for BT. 

    That will help, as I already mentioned, the pins are not exposed out, But whatever the commands need to be send we can implement, as those 4 wire HCI UART are connected to our other ST uC from where we are running the tests as of now.

    Please provide the OPCODES and OPERANDS, Just share the HCILOGS(form BT_DEBUG pin), rest I should be able to manage here. 

    Please run the BLE RX_Test in your setup and please share the log, the commands I will figure out from the logs.

    Thanks!

  • Hi Vishnu,

    Ill go ahead and run the test on the tester and take the Logger logs for you. Ill try to have it by tomorrow, but it might be friday as I have to schedule time for the tester.

    Best,

    Rogelio

  • Hi Rogelio,

    Any updates on this ?

  • Hi Vishnu,

    I have run the test on the bluetooth tester and taken the logs for you.

    Attaching below

    BLE TEST.lgr

    The first  set of commands was the tester verifying connections with the device.

    The next are running the test. I ran it twice.

    Kind Regards,

    Rogelio

  • Hi Rogelio,

    Thanks for the effort to collect logs, Will check this out and get back.

    Regards!

  • Hi @RogelioD,

    It doesn't seem like the BLE RX test was a success from the logs you shared.

    Can you please confirm that the RX test passed on the test?

    Logs clearly mention command disallowed and Received packets  Is 0.

    I like to get the logs where the RX test is passing.

    Also on the logs you shared, it shows only one side RX side. If you can get the TX side logs that will be very help ful.

    Thanks!

  • Hi Vishnu,

    I apologize, I did skip a step when running the test as I wanted to show you the commands the tester sent. Before hand you do need to enable BLE and set the test mode or else the command will be disallowed. I have included the new logs below.

    0654.BLE TEST.lgr

    Best,

    Rogelio

  • HI Rigelio,

    Thanks for the logs.

    In this also I didn't see the portion where RX test passed.

    Can you share logs where the BLE RX test is passing?

    meanwhile, we will try to work with these logs, but please share the logs where the RX test is passing.

    Thanks!

  • Hi Vishnu,

    When running the test, I didnt have access to the test port of the CC2564C EVM thus the test did not pass, however, this has nothing to do with the HCI commands needed to run the tests. I can try to get some new hardware to get access, but it would need to be next week.

    Best,

    Rogelio

  • Hi Rogelio,

    Will try with the logs you provided. But I also like to get the log from your side as soon as possible so that I can verify here.

    I think BT logs you can get it from the BT_DBG pin( independent of 4 Wire UART used for HCI command communication.).

    On the other hand is the AFH is implemented on the BLE side also in cc2564C?

    I am aware ACL and eSCO has AFH(Adaptive frequency hopping). BLE it is not mentioned.

    Thanks!