CYW20719 Test mode not working after discoverability or connectability change

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

cross mob
jbruneaux
Level 3
Level 3
25 sign-ins 10 replies posted 10 questions asked

Hi,

For our product under development, we need to implement some basic tests commands, and I've been able to implement the Set_Tx_Carrier_Frequency_ARM Cypress Vendor Specific HCI Command (as per described in "BLUETOOTH RADIO TEST CASES AND PROVISIONING HCI COMMANDS" documentation from infineon/cypress).

I call this command from the embedded application in the CYBT-483056-02 CPU using wiced_bt_dev_vendor_specific_command API call. I've observed that the command was running fine only if there's no call to wiced_bt_dev_set_connectability or wiced_bt_dev_set_discoverability commands with page_mode different from BTM_NON_CONNECTABLE and/or inq_mode different from BTM_NON_DISCOVERABLE. I mean that if I call one of this function to enable discoverability or connectability, then the test command will not work (there's no TX on the antenna in this case). I've also tried to reset the discoverability and connectability to BTM_NON_CONNECTABLE and BTM_NON_DISCOVERABLE before sending the hci test command, but it do not work. We need to reset the device before being able to issue the test mode hci command.

Also, the call to wiced_bt_dev_vendor_specific_command will not return an error when the TX is not working (after discoverability or connectability) so there's no way for us to warn the test tool that something is wrong with the configuration...

Can you help us by looking at the ROM code to find out what can cause the problem and maybe find a workaround ?

The HCI code that I send is OGF:0x3F, OCF:0x0014, which result in opcode 0xfc14.

Also, I can reproduce the same behavior in the following cases :

* On the eval board with modificed empty wiced app (only call the two functions wiced_bt_dev_set_connectability and wiced_bt_dev_set_discoverability to enable discoverability and connectability, the send the test command using wiced_bt_dev_vendor_specific_command call)

* By using the empty wiced app without modification and using CyBluetool to drive the eval board through HCI commands and agian, setting discoverability on or connectability on then sending the test command...

All this indicate that it's not related to our software, but rather to some ROM code behavior that might be normal, but is not described in the documentation, and for which we would like to find a workaround.

 

Regards, Jerome

0 Likes
3 Replies
advait_kulkarni
Moderator
Moderator
Moderator
25 likes received 250 sign-ins 100 solutions authored

Hi @jbruneaux ,

Can you provide the BTSPY logs for the working and non-working scenarios and also the code snippet/command sequence that you are sending? Also, can you try setting the discoverability and connectability by using the airoc hci commands if that works for your application?

Thanks and regards,

Advait Kulkarni

0 Likes

Hi,

 

Sorry for the late response, I've been fighting on some other problems with the module as you probably know.

Anyway, I've made the following simple tests which you can easely reproduce :

1/ Using CYW920719B2Q40EVB-01 board (without power amplifier so that the problem can be discriminated from the PA control part), using Modustoolbox 3.0, I create an empty app (Getting started section) for the board. This allow to use the device using HCI commands as you know

2/ Using the CyBluetool to control the device using HCI commands, do the following sequence (I always ensure that there's a response in the log window at the bottom of the application, sometimes I have to reset the board multiple times to make it work, but that's probably due to the way I start the evaluation board) :

A/ Send HCI Reset command (Command section 7.3, item Reset, then press send)

B/ Read the Scan Enable state (Command section 7.3, item Read_Scan_Enable). Result in the log window should indicate "Scan_Enable = 0x0"

C/ Start the TX test (command section 0 (Vendor specific commands), item Set_Tx_Carrier_Frequency_ARM), using a valid frequency (I tried various),  Unmodulated mode, Carrier On, transmit Power 0dBm.

At this point, on the spectrum analyser, I can see the TX from the chipset.

D/ Stop the TX test (same command as previous, but with Carrier Off).

At this point, on the spectum analyser, the TX disappear

E/ Set the Scan Enable to Inquiry and Page Scan enabled state (Command section 7.3, item Write_Scan_Enable, Select the "Inquiry and Page Scan enabled" state)

F/ Start the TX test (command section 0 (Vendor specific commands), item Set_Tx_Carrier_Frequency_ARM), using a valid frequency (I tried various),  Unmodulated mode, Carrier On, transmit Power 0dBm.

At this point, on the spectrum analyser, I can't see the TX from the chipset.

 

Some important notes :

- I can sucessfully start/stop the tx test multiple times if the Scan Enable state is 0.

- If you skip steps C, D and directly set the Scan Enable mode to a value different from 0, then the problem is also present (I made the steps C and D to demonstrate that the Set_Tx_Carrier_Frequency_ARM command was working normally).

- Setting back the Scan Enable to 0x0 do not restore the TX Test command, I must restart the device to make it work again

- After a reset, sending the Write_Scan_Enable command with setting to 0 do not break the TX test command

- Any value other than 0x0 in the Write_Scan_Enable breaks the TX Test command.

 

 

Now, you have everything in your hand to reproduce the problem.

 

Regards, Jerome

 

 

 

0 Likes
jbruneaux
Level 3
Level 3
25 sign-ins 10 replies posted 10 questions asked

Hi @advait_kulkarni 

 

Is there any update on this issue ?

 

Regards, Jerome

0 Likes