WICED™ Studio Forum Discussions
Browse the Community
Featured Discussions
I use module CYW54907 with
WICED Version: Wiced_006.006.000.0009
I alway got the socket disconnect event when download about 1.7Mb firmware file from server at when the remaining data about 200kb. If the firmware file size smaller, about 1Mb every thing is ok.
With 1.7Mb file, if i don't write the data to the flash to reduce the time, it's seem ok too.
I also test and download file successfully with the python script.
Show LessKeep getting those errors when connecting bonded Cysmart to CYW20719:
Status : Connection Terminated Due to MIC Failure (0x3d)
Encryption Status Event: bd ( 5a 10 0c ef 51 aa ) res 8109
The CYW20719 hardware is CYBT_413034_EVAL.
Clients are Samsung TAB E 7” and Tab A 8” tablets with Android 4.4.4, 5.0.1 and 6.0.1
This error happens:
- Always if I pair let say Cysmart client1 on Android device 1 and disconnect, then pair another let say Cysmart client2 on Android device 2 and disconnect, RESET the CYW20719, then when return back to device1 and try to connect to CYW20719 (on Cysmart button on the right side shows ‘Paired’) so just click on the name of the CYW20719 a.k.a ‘Hello’ to reconnect and always (100%) will get ‘Connection Terminated Due to MIC Failure (0x3d)’. So there is some logic to get error in this situation, because ‘hello_sensor’ code stores bonding info only for 1 bonding, but why this error will be MIC – isn’t MIC (message integrity check) something similar to CRC?
- Random – this is the most annoying problem, because it happens when only one Device is bonded and only this device trying to reconnect – sometimes connect, sometimes fail with the same MIC failure error (0x3d). And I tried plenty of different devices and Android OS versions: 4.4.4, 5.0.1, 6.0.1 and happened only with CYW20719.
So I already rise this problem couple months ago, but haven’t receive any solution (neither on any of the bugs I reported so far ☹ ), but at least:
Do you have some sniffer tool that could capture raw packets (incl. MIC) in the communication client <> server so to compare what is the difference when reconnecting go smooth and when fail?
Either there is something wrong on the Cypresses BT stack side or something in the timing parameters/syncs in the connection ☹ The only clue I could guess – slower processors with Android have more MIC failures than faster ones ☹ , but when I try reconnecting bonded CC2540 from TI, don’t have any problems neither with Cysmart, nor nRf Connect or other BLE Android clients on the same Android devices that fails with CYW20719 ☹
….
17:29:09.988 1 hello_sensor_management_cback: 17
17:29:09.992 1 Advertisement State Change: 0
17:29:09.992 1 ADV stop
17:29:09.994 RCVD [1] Event from HCI. Name: HCI_Encryption_Change (Hex Code: 0x08 Param Len: 4)
17:29:09.994 Status : Connection Terminated Due to MIC Failure (0x3d)
17:29:09.994 Connection Handle : 64 (0x0040)
17:29:09.994 Encryption Enable : 0 (0x00)
17:29:09.996 1 hello_sensor_management_cback: c
17:29:10.003 1 Encryption Status Event: bd ( 5a 10 0c ef 51 aa ) res 8109
17:29:10.007 1 encryp change bd ( 5a 10 0c ef 51 aa ) res: 8109
17:29:10.010 RCVD [1] Event from HCI. Name: HCI_Disconnection_Complete (Hex Code: 0x05 Param Len: 4)
17:29:10.010 Status : Success (0x00)
17:29:10.010 Connection Handle : 64 (0x0040)
17:29:10.010 Reason : 61 (0x3d)
17:29:10.010 Connection Terminated Due to MIC Failure
17:29:10.014 1 connection_down 5a 10 0c ef 51 aa conn_id:1 reason:61
…
Show Less- Following this discussion (link: https://community.infineon.com/t5/Wi-Fi-Combo/Looking-for-details-regarding-CYW43455-concurrent-Station-and-AP-operation/td-p/122651), it is mentioned that the CYW43455 module can work simultaneously as both an Access Point (AP) and a Station if I use WICED.
- I will try using WICED on my Linux system, but I can't find support for the CYW43455 module in Debian Linux.
- Is it stable to have the Access Point (AP) and Station working simultaneously using WICED? I have already tried using softAP for simultaneous AP and Station functionality, but it was not stable.
We are using the CYW954907AEVAL1F board and it is stated that it has a TSF module that can adopt the timestamps from the AP
However when requesting the TSF timer via the IOVAR buffer the timer does not seem to adopt the AP timestamps as expected. It does however reset to 0 on connection to the AP and starts counting up in microseconds as expected. Also both the AP and the board are setup to use infrastructure BSS and not IBSS.
How would we be able to get the TSF timer to work as expected?
Example function on how we currently get the TSF timer:
void getTSF(uint64_t* tsf) {
uint8_t buffer[8];
wwd_wifi_get_iovar_buffer("tsf", buffer, sizeof(buffer), WWD_STA_INTERFACE);
memcpy(tsf, buffer, sizeof(*tsf));
}
Hi,
I'm getting the following error while trying to compile for PSoC-6 Kit using WICED Studio 6.6 on Linux.
Unknown component: CY8CKIT_062. Stop.
My make target is:
snip.scan-CY8CKIT_062
My OS is Linux (Ubuntu 20.04). Kit is CY8CKIT-062-WIFI-BT.
In WICED there's PSoC6 under MCU folder, but under platforms, there's no CY8CKIT_062.
Please let me know which support packages should be downloaded for this devkit.
Show LessWe are using a STM32F4 MCU. When UART2 RX receives a string of data, the SPI1 data ready interrupt activates.
It is possible to use SPI and UART2 together, correct?
I've gone through platform.c and cannot find any issues.
Suggestions?
Show LessHi
WICED platform: 6.0.0.43
Chip Platform: CYW20719-B1
Issue Description:
When invoke the wiced_bt_dev_get_bonded_devices() API, the always return 0x1FA7 error code, and the input value of *p_num_devices didn't been set to 0 even failed.
So doesn't this API really supported? If it's supported, how to fix this issue.
Thanks,
Dudley
Show LessInfineon AIROC Wi-Fi/Bluetooth Combo STM32 Expansion Pack is an extension of the CMSIS-Pack standard established by Arm. The pack is compliant with the full CMSIS-Pack standard, with additional requirements/restrictions on the final pack to meet the STM standard.
This SW pack uses libraries from the Infineon ModusToolbox environment.
- Infineon GitHub landing space - https://github.com/Infineon/stm32-connectivity/releases
- Infineon AIROC Wi-Fi/BT STM32 Expansion Pack v1.4.0 – https://github.com/Infineon/stm32-connectivity/releases/download/release-v1.4.0/Infineon.Connectivit...
- Infineon AIROC Connectivity STM32 User Guide v1.4.0 – https://github.com/Infineon/stm32-connectivity/blob/release-v1.4.0/Documentation/STM32ConnectivityEx...
What's Included?
- Infineon AIROC Wi-Fi / Bluetooth Combo Release for STM32H7xx, H5xx, U5xx & L5xx MCUs family
What Changed?
v1.4.0
- Added STM32H5xx support
- PAL improvements and fixes
- New Examples added for STM32H747I-DISCO and STM32U575I-EV
- Wi-Fi offload - TCP/IP Keepalive offload
Supported STM32 Boards and MCU
- STM32H747I-DISCO Discovery kit and STM32H7xx
- NUCLEO-H563ZI board and STM32H5xx
- STM32U575I-EV Evaluation board and STM32U5xx
- STM32L562E-DK kit and STM32L5xx
Supported Connectivity Modules
Infineon's CYW43xxx Wi-Fi-BT combo chip family:
- CYW43012
- CYW43439 / CYW43438 / CYW4343W
- CYW4373 / CYW4373/E
Example apps inside the Pack
Wi-Fi Scan Example
This example initializes the Wi-Fi device and starts a Wi-Fi scan without any filter and prints the
results on the serial terminal.
Refer to Projects/STM32H747I-DISCO/Applications/wifi_scan/readme.txt for more details
Wi-Fi Onboarding with Bluetooth LE Example
This example demonstrates a simultaneous usage of Wi-Fi and BLE functionality of CYW43xxx combo
devices. It uses BLE on the combo device to help connect the Wi-Fi to the AP.
Refer to Projects/STM32H747I-DISCO/Applications/ble_wifi_onboarding/readme.txt for more details
Azure RTOS NetXDuo Wi-Fi UDP echo server
This application provides an example of Azure RTOS/NetXDuo stack usage. It shows how to develop a
NetX UDP server to communicate with a remote client using the NetX UDP socket API.
BLE Hello Sensor Example
This code example demonstrates the implementation of a simple Bluetooth Stack functionality in GAP
Peripheral role. During initialization the app registers with LE stack to receive various notifications
including bonding complete, connection status change and peer write.
Refer to Section BLE Hello Sensor Example
in STM32 connectivity expansion pack user guide for more details.
Wi-Fi TCP keepalive offload
The TCP keepalive offload feature of the Low Power Assistant (LPA) improves the power consumption
of your connected system by reducing the time the Host needs to stay awake to support a TCP keepalive
request. This example describes how to enable TCP keepalive offload and configure four different
sockets for TCP keepalive that can be incorporated into your project from LPA Middleware.
Refer to Projects/STM32H747I-DISCO/Applications/wifi_tko/readme.txt for more details.
Compatible Software
Software | Version |
---|---|
STM32 CubeMX | 6.8.0 |
STM32 CubeIDE | 1.12.0 |
IAR Embedded Workbench IDE | 9.30.1 |
Future release - v1.5.0
- Add Infineon Wi-Fi 6/6E combo chip (CYW55573 - 2x2 Wi-Fi 6/6E, CYW55513 - 1x1 Wi-Fi 6/6E) support.
- TCPKA keepalive (payload) offload with multiple sessions.
- Wake-on-WLAN - wowlpf support for remote wake-up.
- TLS over TKO
- MQTT keepalive
More information
- README.md
- STM32 Connectivity Expansion Pack User Guide
- Cypress Semiconductor, an Infineon Technologies Company
- Infineon GitHub
- ModusToolbox
Dear Infineon team,
I am trying to capture the raw data from four I2S microphones running with the CYW943907AEVAL1F (not planning to use a codec). I am using the API within wiced_audio.h (simplified code sample below), and would like to set up both I2S buses for receive. Looking at the API, I was assuming that I can use device IDs AUDIO_DEVICE_ID_I2S_0_ADC / AUDIO_DEVICE_ID_I2S_1_ADC to achieve this, but I have had no luck so far. In order to keep things simple, I have tried to get only one channel running first, with the following results (when calling wiced_audio_init()):
- AUDIO_DEVICE_ID_I2S_0_ADC - all setup succeeds, but mclk(J6.3)/bclk(J6.5)/lrclk(J6.6) lines do not toggle
- AUDIO_DEVICE_ID_I2S_1_ADC - all setup succeeds, but mclk(J6.26)/bclk(J6.29)/lrclk(J6.27) lines do not toggle
- AUDIO_DEVICE_ID_SPDIF_ADC - all setup succeeds, mclk(J6.3)/bclk(J6.5)/lrclk(J6.6) lines DO toggle
- AUDIO_DEVICE_ID_SPDIF_DAC - wiced_audio_init returns failure
Is there anything obvious I am missing in the way I am attempting to set up the I2S subsystem? This is my first foray into the WICED SDK and this chipset, so it is quite possible that I am missing something very basic.
I am using WICED Studio because MODUS Toolbox does not seem to support WiFi Direct (which my project also requires). From my forum searches, it seems WICED Studio SDK 6.x has stripped out previously available (SDK 5.x) audio examples, and all the download links to the 5.x version of the SDK seem to be broken, so I am a bit at wits end.
I appreciate any help/direction.
My project submake has
- GLOBAL_DEFINES += WICED_USE_AUDIO
My project application file is as follows:
// #define AUDIO_DEVICE AUDIO_DEVICE_ID_I2S_0_ADC // Does not activate any clock lines
// #define AUDIO_DEVICE AUDIO_DEVICE_ID_I2S_1_ADC // Does not activate any clock lines
#define AUDIO_DEVICE AUDIO_DEVICE_ID_SPDIF_ADC // Activates I2S_1 clock lines
// #define AUDIO_DEVICE AUDIO_DEVICE_ID_SPDIF_DAC // wiced_audio_init() returns failure
wiced_audio_session_ref mic_pair_1;
void application_start(void)
{
wiced_init();
/* The following call registers the I2S/SPDIF Audio devices */
if (platform_init_audio() != WICED_SUCCESS)
{
WPRINT_APP_INFO(("platform_init_audio FAILED\n"));
}
memset(&mic_pair_1, 0, sizeof(wiced_audio_session_ref));
if (wiced_audio_init(AUDIO_DEVICE_ID_I2S_0_ADC, &mic_pair_1, WICED_AUDIO_DEVICE_PERIOD_SIZE) != WICED_SUCCESS)
{
WPRINT_APP_INFO(("wiced_audio_init FAILED\n"));
}
if (wiced_audio_create_buffer(mic_pair_1, WICED_AUDIO_DEVICE_PERIOD_SIZE * 2, NULL, NULL) != WICED_SUCCESS)
{
WPRINT_APP_INFO(("wiced_audio_create_buffer FAILED\n"));
}
wiced_audio_config_t config;
// config.period_size = WICED_AUDIO_DEVICE_PERIOD_SIZE; /* Default set in wiced_audio.h */
config.sample_rate = 16000; /* See i2s_pll_config for list of all possible sample rates*/
config.bits_per_sample = 16; /* Assuming this is Data Bits, between 8-32, default 16. */
config.channels = 2;
config.frame_size = (config.bits_per_sample * config.channels) / 8;
config.volume = 100; /* Percent attenuation */
if (wiced_audio_configure(mic_pair_1, &config) != WICED_SUCCESS)
{
WPRINT_APP_INFO(("wiced_audio_configure FAILED\n"));
}
if (wiced_audio_start(mic_pair_1) != WICED_SUCCESS)
{
WPRINT_APP_INFO(("wiced_audio_start FAILED\n"));
}
WPRINT_APP_INFO(("Audio started\n"));
}
Show Less
Hi
Customer is developing with Murata 1GC on WICED.
They are sending with ux_device_class_cdc_acm_write. It is blocking.
It will stuck if other side close the port. Customer is looking for "ux_device_class_cdc_acm_write_with_callback" which is not available with WiCED.
Right now, it can only exit if they unplug the USB.
Thanks,
Show Less