Wi-Fi Combo Forum Discussions
Hello,
I am using the hardware module 1LD 43438 with Wiced v6.4.
I meet a new issue with the http_client lib (the 1st one on this ticket, currently still have no answer). The lib can be found here : ".../libraries/protocols/HTTP_clent/http_client.c". I also put the files enclosed.
The communication is done with HTTP request to a server on which I am downloading a .elf file for an OTA update. This file is downloaded by chunk of 1024 bytes.
HTTP request sent to the server:
GET https://[**hidden**].s3.eu-west-3.amazonaws.com/MyFile.stripped.elf
Host: [**hidden**].s3.eu-west-3.amazonaws.com
Range: bytes=362496-363519
HTTP response received from the server:
HTTP/1.1 206
Date: Fri, 30 Jul 2021 12:57:16 GMT
Content-Type: binary/octet-stream
Content-Length: 1024
Connection: keep-alive
Content-Range: bytes 362496-363519/441816
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Sec-WebSocket-Version: 13HTTP/1.1 101 Switching Protocols
HTTP/1.1 404 Not Found258EAFA5-E914-47DA-95CA-C5AB0DC85B11HTTP/1.0Unable to handle fragmented packetsHTTP/* * *
*Content-LengthTransfer-Encoding: chunkedWrong MAX_FRAGMENT_LENGTH value Unable to set TLS extensionƒH‹HH”H™HH¤HªHHTTP/2OPTIONSGETHEADPOSTPUTDELETETRACECONNECTmalloc_mutexsystem monitorCouldn't create system monitor thread; err = %d
app threadEvent flagsworker queueworker threadStarted ThreadX v5.8Failed to create WICED_HARDWARE_IO_WORKER_THREADFailed to create WICED_NETWORKING_WORKER_THREADbsscfg:event_msgsbsscfg:event_msgs_ext0@ Could not initialize wifi platform****************************************************
** ERROR: WLAN: could not download clm_blob file
** FATAL ERROR: system unusable, CLM blob file not found or corrupted.
****************************************************bus:txglomCould not turn o
If you have a look on the lib http_client.c, the function "deferred_receive_handler" is responsible to provide the http response from the lib to the application. at the line 511, the function try to detect if the header contains the key-word "Transfer-Encoding: chunked". If founded, the response is not managed as this case is not implemented in the lib. It should not be an issue as the server does not answer me with this kind of encoding.
However, the lib seems to looking for this keyword in the entire http response "fragment_available_data_length" (which is the header + the payload) instead of looking for only in the payload.
In my case, the file which I am trying to download, contains the string sequence in ascii format "Transfer-Encoding: chunked". Even if this string is contained in the payload, and not in the header, the lib detect it and the App is not able to process the payload as it is blocked by the lib (enter in the line 513 with the //TODO comment).
=> Could you explain why the lib is looking for the keyword in the entire header+payload data instead of in the header only ? Or is it a bug ?
=> how to handle this issue ?
I think you can easily reproduce this issue with any platform, using the exemple from Cypress Academy WW101 : CypressAcademy_WW101_Files-master\Projects\ww101key\07c\09_aws_get.
If needed for your test, I can share the link to download the .elf file in private message.
Show Less
Hello,
I tried to work on the EWD_Sterling evaluation board, and I want to start from the introducer, but I don't know how to install the ios demo app on my ipad. The step by step only shows the app (wifiintroduce)location, but it didn't tell how to install it, does any one can help? I never install things to ipad from PC. Thank you.
Holly
Show LessHello,
I've an issue similar to this post https://community.infineon.com/t5/Wi-Fi-Combo/STM32F769NI-Murata-SN8000-Problem-with-high-throughput-clock/td-p/112986.
I succeed to communicate through SDIO with the module, flash the module without any error but I've the error
/* If your system times out here, it means that the WLAN firmware is not booting.
* Check that your WLAN chip matches the 'wifi_image.c' being built - in GNU toolchain, $(CHIP)
* makefile variable must be correct.
*/
WPRINT_WWD_ERROR(("Timeout while waiting for high throughput clock\n"));
/*@-unreachable@*/ /* Reachable after hitting assert */
return WWD_TIMEOUT;
/*@+unreachable@*/
The value of the register SDIO_CHIP_CLOCK_CSR is 0x64. One time out of 20 it's working and I've the result 0xC0. (Bit 0x80 is set).
With STM32 Connectivity pack, it's working every times. I can't use STM32 Connectivity pack because I need Wi-Fi Direct (P2P)
I used the STM32 to output the clock for LPO. This clock is always on at frequency 32.768kHz.
The SDIO clock frequency is both 5MHz with WICED and with STM32 Connectivity pack.
I downloaded WICED parameters files from Laird and adapt it to my board. (wifi_nvram_image.h, platform.c/h, platform_config.h). I tested the same set of parameters (wifi_nvram_image.h, binaries files) with STM32 Connectivity pack and it's working.
I check every signals with oscilloscope and I didn't see any major differences.
I use WICED 6.2 because STM32H753 MCU is already added. I adapted files for STM32H733.
Do you have any solutions?
Thank you
Show Less
https://searchsecurity.techtarget.com/n ... OT-devices
https://us-cert.cisa.gov/ics/advisories/icsa-21-119-04
The WICED-Studio's FreeRTOS needs fix.
It looks like the newlib also needs fix
Hello guys!
I have the board CYW954907AEVAL1F and I had an electrical accident the last week. It seems that all was OK but the USB IC (FT2232H) was not. My PC didn't recognize the usual COM port and I was unable to use it for download or debug via WICED STUDIO. After several tests, I realised that the EEPROM associated to FT2232H was broken.
I have replaced it with a new one and the same part number and now the board is recognized on PC, but there are now two COM PORTS and I can't use WICED Studio to download nor Debug any program.
I have downloaded the FT Prog software from FTDI and, after studying this chip, it could be used as JTAG bridge, but after some test, I can't use the board with Wiced Studio for debugging.
Please, could any one tell me how I can reprogram the FT2232H chip implemented on CYW954907AEVAL1F to use with WICED Studio?
Many thanks in advance!
BR,
Luis Lopez
Show LessHello
There are missing files after wiced studio is installed. Please check the missing files and where to get them to complete the vulnerability.
17:54:07 **** Incremental Build of configuration Default for project 43xxx_Wi-Fi ****
"C:\\Users\\Merri\\Documents\\WICED-Studio-6.6\\43xxx_Wi-Fi\\make.exe" Default
MAKEFILE MAKECMDGOALS=Default OTA2_SUPPORT is disabled
Making config file for first time
tools/makefiles/wiced_config.mk:256: platforms//.mk: No such file or directory
tools/makefiles/wiced_config.mk:267: *** Unknown component: Default. Stop.
make: *** No rule to make target 'build/Default/config.mk', needed by 'main_app'. Stop.
17:54:07 Build Finished (took 346ms)
Show LessDear Support,
I am facing the following problem.
I would appreciate your help.
There are times when the WPS PBC (Enrollee) cannot connect to the AP (register) properly.
At that time, I found that the Destination Address in (Request,Identity) packet is set to ALL zero with Air-log.
I think this is what causes the WPS connection to fail.
I attached the console log and the air-log files for when the phenomenon occurred.
The environment for the test is as follows.
Wiced version => Wiced_006.002.001.0002
Program => snip.wps_enrollee
Wifi Module => Murata Type1LD
AP => Synology MR2200
[Need Help]
Is there any way to work around this problem ?
Best Regards,
Sakagami
Hi folks,
I would like to get the FPU working on the STM32F4xx chip that I am using, but I am stuck, and I believe the problem has to do with the version of ThreadX that is bundled with the SDK.
I found this old thread, but it seemed like there was no resolution: How to use HW FPU on STM32F4xx?
I have had partial success by adding a USE_FPU_CM4F flag to the build system, and then changing the chip-specific flags in wiced_toolchain_ARM_GNU.mk:
# Chip specific flags for GCC
ifeq ($(HOST_ARCH),ARM_CM4)
# flag added to support building for CM4 micros with FPU; define in platform makefile
ifeq ($(USE_FPU_CM4F),1)
__FPU_PRESENT := 1
__FPU_USED := 1
CPU_CFLAGS := -mthumb -mcpu=cortex-m4 -mfloat-abi=softfp
CPU_CXXFLAGS := -mthumb -mcpu=cortex-m4 -mfloat-abi=softfp
CPU_ASMFLAGS := -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16
CPU_LDFLAGS := -mthumb -mcpu=cortex-m4 -Wl,-A,thumb
else
CPU_CFLAGS := -mthumb -mcpu=cortex-m4
CPU_CXXFLAGS := -mthumb -mcpu=cortex-m4
CPU_ASMFLAGS := -mcpu=cortex-m4 -mfpu=softvfp
CPU_LDFLAGS := -mthumb -mcpu=cortex-m4 -Wl,-A,thumb
endif #USE_FPU_CM4F
endif #ARM_CM4
Then, in my platform makefile, I define USE_FPU_CM4F . The idea was that I wouldn't have to define a whole new CM4F variant in the build system, just tweak the CM4 one a little bit. Based on what I read about GCC flags, this should work, since soft-fp will still be link-compatible with existing libraries built without FPU support. And the choice of -mfpu was just from other STM32F4xx examples I found.
Then, in system_stm32f4xx.c, at the top of SystemInit(), FPU access is enabled:
/* FPU settings ------------------------------------------------------------*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
#endif
So, then the compiler does indeed generate FPU instructions, and they even appear to run OK.
BUT: the system hits a hard fault after running for not very long.
Using ETM on the target, I am seeing a crash that appears to originate in tx_thread_create, when the PC is popped, it gets a bad address, spirals out of control, and eventually ends up at a hard fault. See attached screenshot. I could provide a longer trace history privately, if that would help.
I contacted ExpressLogic to get some insight into this, and they indicate that for FPU usage, there must be a call to void tx_thread_fpu_enable(void) to set up correct FPU context saves.
Unfortunately, looking at the tx_port.h file provided in the WICED SDK, it seems like there is a single file that covers both CM3 and CM4, and there's no mention of this function anywhere. Looking at the headers from the objdump of ThreadX.ARM , there's no mention of the tx_thread_fpu_enable() function anywhere.
And the ThreadX User Guide doesn't mention it, either.
So ... any chance that there is a solution for this?
It seems like it is going to take an upgrade to ThreadX. Or possibly a rebuild of the existing archive(s), with the FPU enables functions not being dropped.
Show LessHi all, new to the community and have just started evaluation of the CYW parts. I just downloaded the latest WICED Studio (6.6) and was stopped short in the README:
***PLEASE*** read through the WICED Quickstart Guide located
in the <WICED-SDK>/Doc directory before attempting to use any of
the applications in the application sub-directories!
Problem is, the only thing in the <WICED-SDK>/Doc folder is "WICED-Studio-License-1.0.pdf"
So, where is this WICED Quickstart Guide, which based on this comment appears to be quite useful
Show LessDear Support,
I have a question regarding the procedure for BLE client to pair and bond to a BLE server. I am using 4343W (Murata 1dx module) and WICED Version: Wiced_006.006.000.0009
I am currently using the following API function:
wiced_result_t wiced_bt_dev_sec_bond (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_transport_t transport, uint8_t pin_len, uint8_t *p_pin);
Upon initial connection, when I call the above function the result is always WICED_BT_PENDING.
A pairing IO capabilities request event occurs, to which my client sets the parameters in the callback.
The BTM_ENCRYPTION_STATUS_EVT event is called with the WICED_SUCCESS result (link encrypted).
The BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT event is called and my application saves the link keys.
My question is:
How does my application to re-use the bond and encrypt the link using the saved keys for subsequent connections?
I only see the above API function and another one:
wiced_result_t wiced_bt_dev_set_encryption (wiced_bt_device_address_t bd_addr, wiced_bt_transport_t transport, void *p_ref_data);
The latter always returns 8036 (WICED_BT_WRONG_MODE).
If I call wiced_bt_dev_sec_bond() upon every connection, then it seems a new key exchange occurs as described above.
Please describe the correct process for establishing the encrypted link (pairing) and saving the keys for re-use (bonding) and describe how the application should ensure the bond is re-used (the saved keys are used to encrypt the link on subsequent connections).
Regards,
Rob
Show Less