Wi-Fi Combo Forum Discussions
Hi,
We are team of researchers at MIT LIDS lab and we are extremely interested to have an answer to the following question: Does WICED, or any subsequent development build upon that, provide developers with access to the detailed WIFI physical layer information. Things such as channel state information (CSI), beam-forming matrix, packet drop rate, time stamps, etc.?
Any feedback is highly appreciated.
Navid
Show LessCan anyone help with this Issue.
We have contacted Cypress and They asked us To create a Testcase.
Even after that we are not getting help from those people.
I have Been Debugging SflashWrite.tcl and I Found that
In waf/sflash_write/sflash_write.tcl =>
I made some Chages
=>in procedure => proc program_sflash { filename foffset dataSize destaddr cmd }
=>from line 225 =>
while { ($resultval == 0xffffffff) && ( $loops < 100 ) } {
#sleep 100
#set resultval [memread32 $result_loc 1]
incr loops
}
set resultval [memread32 $result_loc 1]
puts "****************** Murali-resultval: $resultval"
if { $resultval != 0 } {
halt
#reg
#exit -1;
}
Only Few Things I have Commented out.
It Originally Looks Like This:
while { ($resultval == 0xffffffff) && ( $loops < 100 ) } {
sleep 100
set resultval [memread32 $result_loc 1]
incr loops
}
if { $resultval != 0 } {
halt
reg
exit -1;
}
=> When I do These changes I m able to download Bootloader,DCT,Apps Successfully
But I think it is not running.i.e I m not getting any Logs.
Hope This helps you to help us out
Show LessWorking in WICED 4.1.0.43 and have noted that, when using a ring buffer (ring_buffer.c), every nth byte is corrupt where n = ring_buffer.size.
Looks like a long-standing issue that's masked often because the corrupt byte is most often NULL and the buffers are typically used in fault-tolerant protocols.
Exposed as follows:
int cmd_rb_test(int argc, char argv[])
{
static wiced_ring_buffer_t test_buf;
unsigned char test_buf_data[999];
uint8_t in;
uint8_t out;
int bytes_read;
int i;
memset(test_buf_data, 0, sizeof(test_buf_data));
ring_buffer_init((wiced_ring_buffer_t*) &test_buf, (uint8_t*) test_buf_data, sizeof(test_buf_data));
for (i = 0; i < (sizeof(test_buf_data) * 10); ++i)
{
in = i & 0xFF;
out = 0;
ring_buffer_write(&test_buf, &in, 1);
ring_buffer_read(&test_buf, &out, 1, &bytes_read);
if (out != (i & 0xFF))
{
printf("ring buffer failure at %d head= %d tail= %d!\n", (unsigned int) out, test_buf.head, test_buf.tail);
return -1;
}
}
printf("ring buffer passed\n");
return 0;
}
Show LessAdd while (1) { } around the wiced_https_get() call, then the device will
run to out-of-memory in a few minutes. then wiced_https_get() always fails.
Any chance Cypress AE team can take a look? I think this is an important issue.
I'm not sure if the memory leak is in TLS library or other part.
Axel
Show LessI have two boards with two different Cypress chips, one is 4343W and other is 43438.
The standard snip.scan works under WICED Studio 4.1.1.8 on both boards; nearby APs are displayed in the scan list
The standard snip.scan doesn't work on either board under WICE Studio 5.0.0.33; initialization messages are printed but nothing appears in the scan list
Similar issue with test.console -- scan works on both boards under 4.1.1.8 but scan results are empty under 5.0.0.33 on both boards.
Are there any known problems with the Wi-Fi components in 5.0.0.33?
Thanks
Show LessI'm using a SPI NOR Serial Flash chip as my storage device and I realized that the FatFs filesystem that comes with the WICED Studio 4.x doesn't manage erase before write or do wear leveling for you. I looked up FileX and according to their website, there's an add-on called LevelX that does wear leveling. I'm wondering if LevelX is already included in the FileX binary that comes with WICED Studio? If not, can anyone recommend a good wear leveling / FTL (flash translation layer) software for embedded systems? Thanks!
Show LessProject Zero: Over The Air: Exploiting Broadcom’s Wi-Fi Stack (Part 1)
Is this bug corrected in sdk5 ?
BR
Darius
Show LessIn our embedded application we need to send confirmation messages contantly between deivces. There is a lot of network traffice and there ar a lot of devices on a sub net - 128 or more. We are seeing the units constantly crash, the watchdog bites and they are rebooted. This is not an acceptable behaviour. We see this manifest during debug and can pause the processor and find that control is never returned to the application thread.
When this happens the Appiclation thread is always attempting to get a packet - see attached capture of the point where the processor is before the watchdog bites
We can reproduce this consistently when running in a enviroment with a large number of units Typically we see reboots every 5-10 minutes
After examining the WiFi network trace we see that the devices are constantly asking for the MAC address of ajoining devices. My conclusion is that the ARP Cache is being cleared. In the NetX Documentation it states that the constant can be used to control this - Excert
This define specifies the number of seconds ARP entries remain valid. The default value of zero disables expiration or aging of ARP entries and is defined in nx_api.h. The application can override the default by defining the value before nx_api.h is included.
This is defined in the WICED nx_api.h and already set to 0. Our thought was that the size of the cache is the issues and while the arp entries dont expire they are flushed out as new ones come in.
Is there a way to extend the ARP Cache to prevent this from happening?
Is there a way to prevent this crashing occuring?
Thanks in advance
Show LessWe are trying to get a IPv6 address using DHCPv6. For that we are using Wiced 3.5.2 and NetXDuo. We are running the 4343W module in client mode and connecting to a AP that has inbuilt DHCPv6 server. We are able to connect a laptop and successfully get IPv6 address. But when we connect the 4343W module we see that the device does not receive and Network Solicit packets. We have enabled logs in sdpcm but we do not see any multicast NS packet being received. We have also tried to same by using 43362 modules. When we assign static v6 IP to the device we are able to ping other machines connected on the network. In that case the device receives the NS packet and responds with a NA. Not sure if we are missing out on any DHCPv6 related config or something else.
We looked at the sample codes provided, but there are no sample available for DHCPv6 using NetXDuo. Would really appreciate if you can point us to any samples on DHCPv6 using NetXDuo for Wiced.
Show LessHi,
when trying to use the httpbin_org snippet I get the error 5035 related to untrusted certificate. This is the debug output:
Resolving IP address of www.httpbin.org
www.httpbin.org is at 107.21.114.155
Connecting to www.httpbin.org
Error with TLS client handshake 5035
Error: failed to connect to server: 5035
The issue has been fixed allowing untrusted certificates in "wiced_tls.c":
result = ssl_handshake_client_async( &tls_context->context );
if (( result != TLS_SUCCESS ) && (result != TLS_UNTRUSTED_CERTIFICATE))
{...}
Hope this helps,
Lorenzo
Show Less