Studio Bluetooth Forum Discussions
Hi, we are using CYW20706 module with EZ-serial firmware, and we need to print the BT MAC address on device labels, but the module seems to change it every factory reset. I've tried to disable privacy mode by using SPRV,M=0 command, but it seems to have no effect
Some logs of MAC address changing across factory resets:
/RFAC
@R,000B,/RFAC,0000
@E,0005,RFAC
@E,003B,BOOT,E=01021D1D,S=05020016,P=0103,H=D1,C=00,A=C3EED7B7253C
@E,000E,ASC,S=01,R=03
GBA
@R,0018,GBA,0000,A=C3EED7B7253C
SPRV,M=0
@R,000A,SPRV,0000
GPRV
@R,0016,GPRV,0000,M=00,I=012C
GBA
@R,0018,GBA,0000,A=C3EED7B7253C
@E,000E,ASC,S=00,R=03
SPRV,M=0
@R,000A,SPRV,0000
GBA
@R,0018,GBA,0000,A=C3EED7B7253C
SPRV,M=0
@R,000A,SPRV,0000
GBA
@R,0018,GBA,0000,A=C3EED7B7253C
/RFAC
@R,000B,/RFAC,0000
@E,0005,RFAC
@E,003B,BOOT,E=01021D1D,S=05020016,P=0103,H=D1,C=00,A=C567A2615ED9
@E,000E,ASC,S=01,R=03
SPRV,M=0
@R,000A,SPRV,0000
GBA
@R,0018,GBA,0000,A=C567A2615ED9
Is it possible to keep the same MAC address across factory resets? Even that it's always public?
I`ve testing about sniff mode on HID Device, but HID Device seems can`t support the sniff mode.
my test environment are as below.
SW Information
- Chipset & EVK : CYW20706 & F1DC2076 EVB (made in F1media)
- WICED SDK version : WCIED 6.2.1
- Test application : HID Device & ClientControl & BTSpy
+ added to support none secure connection for connection with Windows PC
+ enabled 'HID_DEV_PM_INCLUDED' for use power management
i add the source code, details are refer the attatched files.
Test Process
- let the module Enter to Pairing Mode
- connect from windows pc to module
- check the current for enter to sniff or not
i`ve added the debug message to 'hidd_pm_start' and 'BTM_POWER_MANAGEMENT_STATUS_EVT' for check the operation, it doesn`t printed after connected, i think its a not entered to sniff mode. captured current is as below.
i tried to force enter to sniff using 'wiced_bt_dev_set_sniff_mode' after connected, debug message on 'BTM_POWER_MANAGEMENT_STATUS_EVT' are printed. it seems enter to sniff as like as below.
Q1. doesn`t HID Device support to enter sniff mode?
Q2. should i add something more for set to sniff?
Q3. i found the posts on community as HID Device of CYW20706 has a bug about low power and it is fixed a few month ago. is it related?
please could you help me anybody?
Thanks.
Show LessHi,
We want to use the CYBT-343151-02 (based on the CYW20706 chipset) for two simultaneous SCO connection. How does the PCM slot mapping works ? The CYW20706 datasheet says that the slot is always mapped to the same slot, but it does not give a rule for it :
1/ Do the first SCO connection uses the first slot, then the second SCO uses the next slot ?
2/ If I understand correctly, if the first SCO connection is closed while the other is still in use, then the second SCO data will still be placed on the second slot. Is it correct ?
3/ Is the slot mapping based on the SCO connection creation order or using a fixed scheme (like based on the remote device bd address or anything else) ?
Regards, Jerome
Show LessDoes CYBT-483039-EVAL board support sending API commands via serial terminal?
I expected to see serial terminal output when I connect to the eval board and press SW1 reset.
- I never see any output in USB serial terminal.
- I tried 115,200 baud on either of two ports discovered, /dev/tty.usbmodem1421301 and /dev/tty.usbmodem1421303
- I see a MTKDUT739B1 BLE peripheral with zero services advertised when I run a BLE app on my iPhone.
My goal is to figure out how to communicate with CYSPP with an iOS app.
Thank you,
-Ed
Show Less
I have faced MIC(Message Integrity Check) error for LE connection. I can see same issue on following link, could you help how to resolve?
For more information, please refer to the following.
https://community.infineon.com/t5/Studio-Bluetooth/Bug-report-Connection-Terminated-Due-to-MIC-Failure-0x3d-WICED-6/td-p/245462
https://community.infineon.com/t5/Studio-Bluetooth/Bug-report-BLE-cant-reconnect-to-a-bonded-device/m-p/35458#M163
1. Test environment
1) H/W
- Local H/W : CYW920706WCDEVAL
- Peer device :
> LG Stylus2
>> Android version 7.0
>> BR/EDR public BD address : DO:13:FD:50:F8:C8
> HUAWEL P9 lite. (Model number : HUAWEL VNS-L22)
>> Android version 7.0
2) S/W
- SDK : ModusToolBox 2.3 and LE_Hello_sensor application
- SDK LIB : Wiced_btsdk baselib release v3.0.0
- Peer Apps : LightBlue, local developed BLE application.
2. Test procedure
- Step 1. Hello_sensor build & download
- Step 2. Pairing with android phone.
- Step 3. Connection success.
- Step 4. Remote disconnect after pairing success.
- Step 5. Start connection from andoid phone.
- Step 6. Link connection fail due to MIC error. (error code 0x3d)
3. Test Results
- I tested other BLE peripheral with two android phones and it works well. (No MIC error)
- CYW920706WCDEVAL works fine with iphone, and other many android phone.
- HCI fail : HCI_Encryption_Change event status code 0x3d. (mic error)
5. attached log file.
- mic_error_app_log.txt : application log with MIC error.
- mic_error_btspy.txt : MIC error with CYW920706WCDEVAL and LG android phone.
- no_mic_with_iphone.txt : No MIC error with CYW920706WCDEVAL and iphone.
Thanks.
Show LessHi,
While looking for topics and knowledge database to use the CYBT-343151-02 bluetooth module, I found various entries :
* The knowledge database KBA225450 indicate a procedure to start the CYW2070*-A2 based devices (and list the one I'm using) in HCI mode, where all Bluetooth HCI standard commands are available. The interesting part is the SPI2_MOSI signal which must be setup correctly to 'force' the HCI mode when the device has an embedded firmware (which is the case for the CYBT-343151-02 module which is factory programmed with the EZ-Serial firmware).
* This blog article (https://community.infineon.com/t5/Resource-Library/Run-CYW20706-in-HCI-Mode/ta-p/246397) also gives a method to enter HCI mode on the same chipset, but the method is different (this time, the UART CTS pin must be pulled to HIGH during power up to enable HCI mode).
* This topic (https://community.infineon.com/t5/Studio-Bluetooth/CYBT-333047-02-via-HCI-interface-on-Raspberry-Pi/td-p/124669) seems to confirm my observations that I will try to describe bellow.
All tests bellow have been done on a CYBT-343026-EVAL board where the chipset has been replaced with the CYBT-343151-02.
* TEST 1 : With stock firmware (EZ-Serial), the device will most of the time not accept HCI commands (we still have a setup where it seems to work but depends on timings).
* TEST 2 : With stock firmware and CTS pulled high (as per blog article), the behavior is almost the same as with the firmware running (I've observed that the HCI UART RTS stays high after a few seconds, therefore the configuration of the module via HCI H4 is stopped)
* TEST 3: With the stock firmware and only SPI2_MOSI pulled to ground during boot, then the HCI reset command is accepted (using cybluetool), other commands are not acknowledged. Seems like this is the download mode described in the datasheet of the module, the airoc hci protocl manual and the CYW20706 datasheet).
* TEST 4: With the stock firmware, CTS set HIGH and SPI2_MOSI set LOW during power-on (press the recovery button while plugging the USB cable), then all HCI commands are accepted (in the limit of the chipset HCI supported commands). I can do almost all configuration, but the device is not discoverable nor can detect other device (even after using the 'enable radio' vendor command in cybluetootl).
* TEST 5: Same procedure as TEST4, with bluez hciattach/hcitool utilities (to workaround the problem described in the third listed entries at the top of this topic, I've just send a HCI reset command to the module using cybluetool before running the hciattach command, because a hcidump told me that the module was not accepting the commands, and during the numerous tests that I did, I saw that this was due to a missing HCI reset command). This test ends in the same way as the TEST 4, event after sending the radio enable command, I can't detect other devices and the device can't be discovered.
* TEST 6: Using the empty_wiced_bt example from the ModusToolbox software, the HCI interface works (using cybluetool to enable scan, and radio, or using the bluez tools). I can discover the device, do an inquiry
Questions are :
* Why do the device need a firmware to run to make the bluetooth really work ? Is it related to the patched that the firmware embeds (and which might configure the radio properly, which is not the case when the firmware is bypassed using the SPI2_MOSI / CTS pin forced levels) ?
* Can you confirm that the ROM code needs both SPI2_MOSI and CTS pins to be forced to specific levels to boot in HCI mode (or tell me why this is needed, if it is not related to the CYW20706 ROM) ?
* Is there any way to make the module work using HCI commands and the stock EZ-Serial firmware ?
Regards, Jerome
Show LessWe have a device using CYBT-343026 module with EZ-Serial Firmware. During initialization the application calls gap_get_device_name to set some application specific name. Using a typical Android BLT scanner/pairing app the device appears in the scan list with the device name that was set by the application. When an attempt is made to pair with the device the name shown in any pairing pop-up boxes is of the form "EZ-Serial E8:B9:12_BT" rather than the device name.
Is there a way to get the pairing operation to use the device name rather the default "EZ-Serial..."?
Show LessHello,
I have questions about operation of HID Device.
I tried to test with two of laptops, it is different to operate on HID connection each laptops.
The SW information and test process are as below.
SW Information
- Chipset & EVK : CYW20706 & F1DC2076 EVB (made in F1media)
- WICED SDK version : WCIED 6.2.1
- Test application : HID Device
Test Process
- Connect from Windows PC to F1DC2706(CYW20706)
- Send the HID data.
- Result
#1) it seems that enter to sniff mode normally
Notebook (LG - 15U560)
- manufacturer : Intel Corporation
- F/W version : HCI 8.4096 / LMP 8.4096
- Driver provider : Intel Corporation
- Driver date : 2017-04-07
- Driver version : 19.60.0.3
#2) it seems that enter to sniff mode, but its connect/disconnect to SDP and RFCOMM repeatly,
and also enter/exit sniff mode repeatly by connect/disconnect.
Notebook (LG –15ZD980-GX50K)
- Manufacturer : Intel Corporation
- F/W version : HCI 8.256 / LMP 8.256
- Driver provider : Intel Corporation
- Driver date : 2017-05-04
- Driver version : 20.60.0.4
Snoop Log
- refer to attatched files. its name is written name of laptop.
Why is the different each for laptops? Does it problem of compability?
Or, am i missed anything that need to set?
I want to know why is the different to operate on HID connection.
Please, could you help me anybody who know?
Show Less
Hello infineon community,
I am contacting you because we are not able to program the CYBT343026-01 that is used on our prototype,
The configuration is :
1. Hardware:
we are using the HCI interface of an CYBT-343026-EVAL board, switch are configured to low (if we consider the position given in the screen below) and wires have been soldered to connect eval board to our prototype.
Detail of CYBT343026-01 connection on PROTOTYPE :
uarts, "Reset" and "Recover" pin are connected to a microcontroller that is setting the connected pin to high impedance during flash.
2. Software:
Before starting programming the sequence given below is realized:
“Press and hold the 'Recover' button on the kit.
Press and hold the 'Reset' button on the kit.
Release the 'Reset' button.
After one second, release the 'Recover' button.”
Then ChipLoader programming tool is used to program the CYBT and the result is given below :
C:\Cypress\Wiced_Smart_SDK\WICED-Smart-SDK\Tools\ChipLoad\Win32>ChipLoad.exe -BLUETOOLMODE -PORT COM5 -NOVERIFY -MINIDRIVER C:\Cypress\Wiced_Smart_SDK\WICED-Smart-SDK\Tools\ChipLoad\Win32\minidriver.hex -BTP C:\Cypress\Wiced_Smart_SDK\WICED-Smart-SDK\Tools\ChipLoad\Win32\CYP_TCV4.btp -CONFIG C:\Cypress\Wiced_Smart_SDK\WICED-Smart-SDK\Tools\ChipLoad\Win32\CYP_TCV4_download.hex
Download minidriver successfully had written 249 bytes to address 0x000D0200
Download minidriver successfully had written 249 bytes to address 0x000D02F9
Download minidriver successfully had written 249 bytes to address 0x000D03F2
Download minidriver successfully had written 249 bytes to address 0x000D04EB
Download minidriver successfully had written 249 bytes to address 0x000D05E4
Download minidriver successfully had written 249 bytes to address 0x000D06DD
Download minidriver successfully had written 249 bytes to address 0x000D07D6
Download minidriver successfully had written 249 bytes to address 0x000D08CF
Download minidriver successfully had written 249 bytes to address 0x000D09C8
Download minidriver successfully had written 249 bytes to address 0x000D0AC1
Download minidriver successfully had written 249 bytes to address 0x000D0BBA
Download minidriver successfully had written 249 bytes to address 0x000D0CB3
Download minidriver successfully had written 249 bytes to address 0x000D0DAC
Download minidriver successfully had written 249 bytes to address 0x000D0EA5
Download minidriver successfully had written 249 bytes to address 0x000D0F9E
Download minidriver successfully had written 249 bytes to address 0x000D1097
Download minidriver successfully had written 249 bytes to address 0x000D1190
Download minidriver successfully had written 249 bytes to address 0x000D1289
Download minidriver successfully had written 249 bytes to address 0x000D1382
Download minidriver successfully had written 249 bytes to address 0x000D147B
Download minidriver successfully had written 249 bytes to address 0x000D1574
Download minidriver successfully had written 249 bytes to address 0x000D166D
Download minidriver successfully had written 249 bytes to address 0x000D1766
Download minidriver successfully had written 249 bytes to address 0x000D185F
Download minidriver successfully had written 249 bytes to address 0x000D1958
Download minidriver successfully had written 249 bytes to address 0x000D1A51
Download minidriver successfully had written 249 bytes to address 0x000D1B4A
Download minidriver successfully had written 249 bytes to address 0x000D1C43
Download minidriver successfully had written 249 bytes to address 0x000D1D3C
Download minidriver successfully had written 249 bytes to address 0x000D1E35
Download minidriver successfully had written 249 bytes to address 0x000D1F2E
Download minidriver successfully had written 249 bytes to address 0x000D2027
Download minidriver successfully had written 249 bytes to address 0x000D2120
Download minidriver successfully had written 249 bytes to address 0x000D2219
Download minidriver successfully had written 249 bytes to address 0x000D2312
Download minidriver successfully had written 237 bytes to address 0x000D240B
Launch minidriver at 0x000D0200 succeeded
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Executing -- erasing chip
Downloaded 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). Current state: Terminated with error
Chip erase timeout (nLastProgressReportTime)
Any solution would be really appreciated 😄
Regards
Show Less