Wi-Fi Combo Forum Discussions
Hi,
I met the DCT crash, but I could not save the action log. Therefore, now I try to reproduce the crash. I would like to get the advice which area I need to check firstly.
DCT crash means some of DCT area show all 1 bit. For example, mac address, WIFI setting and so on show 0xFF.
Our environment,
SDK: 6.4
Device: CYW43907
OTA: OTA2
Build: -CYW943907AEVAL1F-ThreadX-NetX ota2_manuf_download JTAG=Olimex_ARM-USB-TINY-H
BR, Hiroyuki
Show LessIs there a straightforward way to add make targets via a library's makefile, i.e. something included by $(NAME)_COMPONENTS += utilities/mylib ?
I would like to trigger a separate, non-Makefile build system in-place there, which should emit a .a library, which I would then way to roll into the larger WICED app build.
I imagine something like specifying a new target, i.e.
libmylib.a:
do_other_build.sh
And then something like
$(NAME)_PREBUILT_LIBRARY := libmylib.a
So that it gets included in the overall build to be linked against.
But I am not sure how to get libmylib.a into the targets list for the Makefile that is including the component makefile.
Is there an existing way to accomplish this with the build system?
Show Less■内部フラッシュの書き込み中(DCT Write)に、UART(GPIO)のデータ通信(受信)ができない
UART (GPIO) data communication (reception) cannot be performed while writing to the internal flash (DCT Write)
<Japanese>
内部フラッシュの書き込み中(DCT Write)に、UART(GPIO)のデータ通信(受信)が重なると、受信ができないことがあります。
この現象について、わかる方がいたら、メッセージお願いします。
UART:GPIO使用
DCT:wiced_dct_write (内部)
<English>
If data communication (reception) of UART (GPIO) overlaps during writing of internal flash (DCT Write), reception may not be possible.
If you can understand this phenomenon, please give me a message.
UART: using GPIO
DCT: wiced_dct_write (internal)
Show LessHi Sir,
If I want to achieve A2DP source and HFP/AG function use combo chip(43012/43438),diagram as below,does it ok?
UART (MCU to combo) for music
PCM/I2S for SCO audio
I2C for codec configuration
eMMC for music storage
Please help to check,thanks.
Best Regards,
Leo
Show LessWe are trying to set the band for AP entries in DCT but the stack seems to be ignoring them. It finds the network regardless of the band we tell it to look at, implying it is scanning both bands regardless of the setting.
.
We have a configuration file we use to populate an array:
wifi_list_size = 0;
cJSON_ArrayForEach(entry, entries)
{
cJSON *ssid = cJSON_GetObjectItemCaseSensitive(entry, "SSID");
cJSON *pw = cJSON_GetObjectItemCaseSensitive(entry, "PW");
cJSON *band = cJSON_GetObjectItemCaseSensitive(entry, "Band");
// Set SSID
strcpy(wifi_list[wifi_list_size].ssid, ssid->valuestring);
// Set Security
strcpy(wifi_list[wifi_list_size].password, pw->valuestring);
wifi_list[wifi_list_size].security = true;
// Set Band
if(strncmp("5GHz", band->valuestring, strlen("5GHz")) == 0)
{
wifi_list[wifi_list_size].band = WICED_802_11_BAND_5GHZ;
}
else if(strncmp("2.4GHz", band->valuestring, strlen("2.4GHz")) == 0)
{
wifi_list[wifi_list_size].band = WICED_802_11_BAND_2_4GHZ;
}
else
{
wifi_list[wifi_list_size].band = WIFI_DEFAULT_BAND;
}
// increment number of entries
wifi_list_size++;
}
Then we update the DCT using that array
Show Less// get the wi-fi config section for modifying, any memory allocation required would be done inside wiced_dct_read_lock()
wiced_dct_read_lock( (void**) &dct_wifi_config, WICED_TRUE, DCT_WIFI_CONFIG_SECTION, 0, sizeof( *dct_wifi_config ) );
// update top-level parameters
dct_wifi_config->country_code = GetWifiCountry();
// write the smaller of credentials in wifi.json and what's allowed by the platform
uint32_t wifiCount = (GetWifiListLength() < CONFIG_AP_LIST_SIZE) ? GetWifiListLength() : CONFIG_AP_LIST_SIZE;
for (uint32_t i=0; i<wifiCount; i++)
{
// get the entry from configuration
entry = GetWifiParameters(i);
// SSID
dct_wifi_config->stored_ap_list.details.SSID.length = strlen(entry->ssid);
strlcpy((char *)dct_wifi_config->stored_ap_list.details.SSID.value,
entry->ssid,
sizeof(dct_wifi_config->stored_ap_list.details.SSID.value));
// password
dct_wifi_config->stored_ap_list.security_key_length = strlen(entry->password);
strlcpy((char *)dct_wifi_config->stored_ap_list.security_key,
entry->password,
sizeof(dct_wifi_config->stored_ap_list.security_key));
// security type
dct_wifi_config->stored_ap_list.details.security =
(entry->security) ? WICED_SECURITY_WPA2_AES_PSK : WICED_SECURITY_OPEN;
// bss type
dct_wifi_config->stored_ap_list.details.bss_type = WICED_BSS_TYPE_INFRASTRUCTURE;
// band
dct_wifi_config->stored_ap_list.details.band = entry->band;
}
// write the image back and release the read lock
wiced_dct_write( (const void*) dct_wifi_config, DCT_WIFI_CONFIG_SECTION, 0, sizeof(platform_dct_wifi_config_t) );
wiced_dct_read_unlock( dct_wifi_config, WICED_TRUE );
Hi,
I am porting scan snip of Wiced SDK 6.4 to IAR.
It seems to work fine but :
1/ It display only channel 1 networks.
2/ The scan never end. (I never received WICED_SCAN_COMPLETED_SUCCESSFULLY or WICED_SCAN_ABORTED)
3/ If I manually set a channel with "wwd_wifi_set_channel( WWD_STA_INTERFACE, 6 )" I only see network present on channel 6.
When I read code, it seems that the wifi module should automatically scan all channels and return WICED_SCAN_COMPLETED_SUCCESSFULLY without intervention of the SDK during the scan. Does it correct ?
Any idea of which parameters/setting can set the WIFI module to scan only 1 channel and never end ? (I probably missed a #define while transferring code to IAR)
Hardware :
Custom board with a BL6212 (43438A1).
IDE / Toolchain :
IAR
Log :
Wifi task started
Starting WICED Unknown
Platform Unknown initialised
Started FreeRTOS Unknown
WICED_core Initialized
Initialising LwIP Unknown
WWD SDIO interface initializing with US/0
WLAN MAC Address : 60:23:A4:04:36:75
WLAN Firmware : wl0: May 2 2019 02:39:20 version 7.45.98.83 (r714225 CY) FWID 01-476cc09d
WLAN CLM : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-05-02 02:29:53
Init took ~375 ms
Waiting for scan results...
# Type BSSID RSSI Rate Chan Security SSID CCode Flag
------------------------------------------------------------------------------------------------------------------
0 Infra E0:A1:D7:3E:7B:44 -54 144.4 1 WPA AES TKIP PSK SFR_7B40 BEACON
1 Infra A2:A1:D7:3E:7B:45 -54 144.4 1 Open SFR WiFi FON BEACON
2 Infra A2:A1:D7:3E:7B:47 -54 144.4 1 AES Enterprise SFR WiFi Mobile BEACON
Log with wwd_wifi_set_channel( WWD_STA_INTERFACE, 6 ) before the scan start :
Wifi task started
Starting WICED Unknown
Platform Unknown initialised
Started FreeRTOS Unknown
WICED_core Initialized
Initialising LwIP Unknown
WWD SDIO interface initializing with US/0
WLAN MAC Address : 60:23:A4:04:36:75
WLAN Firmware : wl0: May 2 2019 02:39:20 version 7.45.98.83 (r714225 CY) FWID 01-476cc09d
WLAN CLM : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-05-02 02:29:53
Init took ~327 ms
Waiting for scan results...
# Type BSSID RSSI Rate Chan Security SSID CCode Flag
------------------------------------------------------------------------------------------------------------------
0 Infra 7C:26:64:9F:9D:40 -44 144.4 6 WPA2 AES PSK Mer PROBE
Show LessHi Sir,
现在遇到的问题是NXP单片机下载wifi固件到43455时候发生CRC错误。下载的块传输指令时CMD53,应该是下载1K之后,每次在第二次发生.
平台:NXP IM.RT1061 WIFI模块 CYW43455。
log如下:
CPU: 528000000 Hz
AHB: 528000000 Hz
SEMC: 198000000 Hz
SYSPLL: 528000000 Hz
SYSPLLPFD0: 396000000 Hz
SYSPLLPFD1: 0 Hz
SYSPLLPFD2: 396000000 Hz
SYSPLLPFD3: 0 Hz
************************************************
IPERF example
************************************************
Please select WiFi operation mode:
a: Access point mode
c: Client mode
Enter mode: Initializing WiFi connection...
Source Clk: 396000000
Bus Clock Max 386718 block length 4096
Sent CMD0
Sent CMD5
Sent CMD3
Sent CMD7
WWD : Enumeration Complete
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=0 response_expected=0 data_size=1
Reading card capability : 2wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=0 response_expected=0 data_size=1
Switched to Highspeed with freq 951923
wwd_bus_sdio_transfer: direction=0 function=0 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=0 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1024
wwd_bus_sdio_transfer: direction=1 function=1 response_expected=0 data_size=1024
this is a errpr 1967
Could not initialize bus
Could not initialize wifi platform
Could not initialize WiFi module 1801
No connectivity.
看起来sdio枚举都已经成功了,sdio通讯应该没有问题了。
WWD都是平台porting好的,理论来说软件不会出现问题的,不过NXP公版贴的好像是murata的模组,我们用的是海华的模组。
请帮忙check下,可能是哪些原因导致的,谢谢~
Best Regards,
Leo
Show LessHello,
I am using WICED Studio 6.4 with the CYW94343WWCD1_EVB board.
I need to use BLE + WiFi at the same time, and I am running out of memory.
I have written a little app which enables WiFi and BLE, and print the available memory once it has been started:
#include <http_server.h>
#include <malloc.h>
#include <wiced.h>
#include <wiced_bt_cfg.h>
#include <wiced_bt_dev.h>
#include <wiced_bt_stack.h>
static void memfree(const char *step)
{
extern unsigned char _eheap[];
extern unsigned char *sbrk_heap_top;
struct mallinfo mi = mallinfo();
printf("FREE MEMORY: %7lu @step '%s'\n", mi.fordblks + (uint32_t)_eheap - (uint32_t)sbrk_heap_top, step);
}
static wiced_result_t bt_callback(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data)
{
printf("bt_callback: %d\n", event);
return WICED_SUCCESS;
}
void application_start(void)
{
+
void application_start(void)
{
wiced_result_t wret;
memfree("start");
wret = wiced_init();
if (wret != WICED_SUCCESS) { printf("ERROR: wiced_init\n"); }
memfree("wiced init");
wret = wiced_network_up(WICED_STA_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL);
if (wret != WICED_SUCCESS) { printf("ERROR: wiced_network_up STA\n"); }
memfree("wiced_network_up STA");
volatile int i = 0;
if (i > 0) {
/* No need to run this code, but I want to link the associated libraries in the binary image */
wret = wiced_network_up(WICED_AP_INTERFACE, WICED_USE_INTERNAL_DHCP_SERVER, NULL);
wiced_http_server_t http_server;
wret = wiced_https_server_start(&http_server, 443, 2 /* MAX_SOCKETS */, NULL, NULL,
WICED_AP_INTERFACE, DEFAULT_URL_PROCESSOR_STACK_SIZE);
}
extern const wiced_bt_cfg_settings_t wiced_bt_cfg_settings;
extern const wiced_bt_cfg_buf_pool_t wiced_bt_cfg_buf_pools[];
wret = wiced_bt_stack_init(bt_callback, &wiced_bt_cfg_settings, wiced_bt_cfg_buf_pools);
if (wret != WICED_SUCCESS) { printf("ERROR: wiced_bt_stack_init\n"); }
memfree("wiced_bt_stack_init start");
vTaskDelay(10000 / portTICK_PERIOD_MS); /* Wait until the BLE stack is actually initialized */
memfree("init done");
}
I have used `wiced_bt_cfg.c` from `WICED-Studio-6.4/43xxx_Wi-Fi/apps/snip/bluetooth/ble_hello_client/wiced_bt_cfg.c` and put STA credentials in `wifi_config_dct.h`.
The static ram usage is:
----------------------------------|---------|---------|
| | Static |
Module | Flash | RAM |
----------------------------------+---------+---------|
Bluetooth_Embedded_Low_Energy_Stac| 168 | 12 |
bluetooth_low_energy | 79084 | 8080 |
crc | 1060 | 0 |
DHCP_Server | 1440 | 132 |
DNS | 64 | 44 |
FreeRTOS | 6271 | 444 |
Host MCU-family library | 15082 | 2596 |
HTTP_Server | 4092 | 8 |
Interrupt Vectors | 396 | 0 |
libc | 30761 | 3372 |
Linked_List | 456 | 0 |
LwIP | 46655 | 2963 |
mbedTLS | 111988 | 88 |
Networking | 5636 | 772 |
Other | 1017 | 120 |
Packet Buffers | 0 | 40363 |
platform | 1468 | 124 |
RAM Initialisation | 2972 | 0 |
resources | 44 | 0 |
Ring_Buffer | 100 | 0 |
SPI_Flash_Library_CYW94343WWCD1_EV| 512 | 0 |
Startup Stack & Link Script fill | 97 | 62 |
Supplicant - BESL | 3486 | 184 |
WICED | 5814 | 252 |
WICED_Bluetooth_Firmware_Driver_fo| 36236 | 0 |
Wiced_RO_FS | 568 | 0 |
WWD | 16263 | 320 |
----------------------------------+---------+---------|
TOTAL (bytes) | 368758 | 59936 |
----------------------------------|---------|---------
The application logs are:
FREE MEMORY: 62096 @step 'start'
Starting WICED Wiced_006.004.000.0061
Platform CYW94343WWCD1_EVB initialised
Started FreeRTOS v9.0.0
WICED_core Initialized
Initialising LwIP v2.0.3
DHCP CLIENT hostname WICED IP
WLAN MAC Address : ****
WLAN Firmware : wl0: May 2 2019 02:39:20 version 7.45.98.83 (r714225 CY) FWID 01-476cc09d
WLAN CLM : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-05-02 02:29:53
FREE MEMORY: 44792 @step 'wiced init'
Joining : ****
Successfully joined : ****
Setting IPv6 link-local address
Obtaining IPv4 address via DHCP
IPv6 Network ready IP: ****
IPv4 Network ready IP: ****
FREE MEMORY: 44712 @step 'wiced_network_up STA'
00:00:14.944000 GKI_create_task func=0x8030ed1 id=1 name=BTU stack=0x0 stackSize=4096
00:00:14.952000 GKI_create_task func=0x80325e9 id=0 name=HCISU stack=0x0 stackSize=3072
FREE MEMORY: 27776 @step 'wiced_bt_stack_init start'
bt_callback: 21
bt_callback: BTM_ENABLED_EVT
bt_callback: 33
FREE MEMORY: 21200 @step 'init done'
When I run this simple example, I get at the end of initialization 21200 bytes of free memory. This means I am left with 20kB of RAM to write my application, which is not enough for my use case.
Is there a way I can run BLE + WiFi with a lower memory footprint? If not, which evaluation board to you recommend instead?
Thank you.
Show LessHello
Devices that support Wi-Fi aware(NAN) recognize CYW5459(Automotive CYW89459) or later .
Is it correct?
I checked this thread and found that CYW4354 and CYW4356 support NAN.
wifi aware - component, board and tools
However,the data sheets for these devices did not mention NAN...
Please let me know if there are any NAN support devices that are mass-produced.
Best regards,
Haya
Show LessHi Team,
Currently , i am using Wiced studio 6.2/4 with Murata type 1LD module ( CYW43438 ).
While i try to connect to local AMQP server ( 0.9 without security ), it always fails, even though RabbitMQ AMQP server runs successfully.
App folder :- Snip-> amqp->amqpv0_9
Not sure, what is the exact problem. Attached below screenshot.
Thanks.
Show Less