Wi-Fi Combo Forum Discussions
Hello everybody,
When I'm trying to connect more than 3 clients on a Murata SN8205x module with SDK v3.1.2, the fourth client is not able to join the AP network.
I used this code to know the actual number of max association parameter :
/* Show max associations */
wwd_wifi_get_max_associations(&u32_MaxAssoc);
WPRINT_APP_INFO(("Max assoc %lu\r\n", u32_MaxAssoc));
This tells me that I have a max associations of 4. as far as I understand, this means 1 for STA and 3 for AP. So it is logical that my fourth client could not join the network.
I tried to increase the max number of AP associations by using the following code :
But when I call wwd_wifi_set_max_associations(5), it failed. With value lower than 5 it works.
Do you know where this limitation took place ? Is it a BCM43362 hardware or firmware limitation or is it an SDK limitation ?
Thanks for yours replies.
Show LessI have a question regarding with STM32F4DIS-WIFI Module(Murata SN8200). I need to connect the RTS\CTS pins to make the handshaking between the module and the Microprocessor board. Any idea about how to do that using the WICED, and how can I download the code on the module or embed it in the firmware?
Show LessHello,
I'm working on an application based on a custom board that includes external flash memory. Currently, I can manage to read/write from/into this memory, and now I would like to use it for OTA purpose. So, I started to research in the Application Management Functions provided by the framework.
I started with a simple operation which consists of opening several apps and reading their size. Here is the sample code for one application:
/*
* DCT_APP0_INDEX
*/
if( wiced_framework_app_open( DCT_APP0_INDEX, &app ) != WICED_SUCCESS ) {
return WICED_ERROR;
}
if( wiced_framework_app_get_size( &app, ¤t_size ) != WICED_SUCCESS ) {
return WICED_ERROR;
}
if( wiced_framework_app_close( &app ) != WICED_SUCCESS ) {
return WICED_ERROR;
}
WPRINT_APP_DEBUG( ("[D - OTA] Current app size (at DCT_APP0_INDEX)\t\t: %lu bytes\n", (unsigned long)(current_size)) );
The code is the same for every applications. And here is the output:
[D - OTA] Current app size (at DCT_FR_APP_INDEX) : 99913728 bytes
[D - OTA] Current app size (at DCT_DCT_IMAGE_INDEX) : 1965531136 bytes
[D - OTA] Current app size (at DCT_OTA_APP_INDEX) : 1848942592 bytes
[D - OTA] Current app size (at DCT_FILESYSTEM_IMAGE_INDEX) : 852418560 bytes
[D - OTA] Current app size (at DCT_WIFI_FIRMWARE_INDEX) : 2306969600 bytes
[D - OTA] Current app size (at DCT_APP0_INDEX) : 2316611584 bytes
[D - OTA] Current app size (at DCT_APP1_INDEX) : 2360836096 bytes
[D - OTA] Current app size (at DCT_APP2_INDEX) : 2349637632 bytes
As specified in the documentation, wiced_framework_app_get_size is supposed to return the size of an application in bytes format.
/** Returns the current size of the application.
*
* Returns the current size of the application.
*
* @warning The size of the application is always aligned to sector boundaries. Application
* size may be different from actual size on a PC.
*
* @param[inout] app : Application handler.
* @param[out] size : The size allocated to the application in bytes.
*
* @return Wiced reuslt code
*/
As you can see in the output, the function returns very strange values. I wonder if it is a normal behaviour (not yet stable part of SDK), or if it comes from my code.
SDK version : WICED 3.3.1
Microcontroller : STM32F415
External memory chip : AMIC A25L
Thanks in advance for your support !
Show LessHi.
I am trying to verify the external flash interfaced to the BCM943341 module (WICED 3.5.2).
Here is my pin configuration:
Module Pin 9 is SPI_MOSI
Module Pin 10 is SPI_MISO
Module Pin 11 is SCLK
Module Pin 12 is Chip Select
I have repurposed test/diagnostics/spi to read the JEDEC id. I also probed using the logic analyzer and I don't see SCLK out of pin 9.
I am thinking I am have messed up my SPI platform definitions. Please pass on any test application, debug, and platform files.
Thanks!
Regards,
Manish
This is in my platform.h header file:
/* SPI flash is present */
#define WICED_PLATFORM_INCLUDES_SPI_FLASH
/* SPI Flash. Implemented by Inventek Systems ... */
#ifdef WICED_PLATFORM_INCLUDES_SPI_FLASH
//#pragma message "SPI Flash included in platform"
//#define WICED_PLATFORM_INCLUDES_SPI_FLASH
#define WICED_SPI_FLASH_CS ( WICED_GPIO_8 ) //( WICED_GPIO_21 )
#define WICED_SPI_FLASH_MOSI ( WICED_GPIO_5 ) //( WICED_GPIO_18 )
#define WICED_SPI_FLASH_MISO ( WICED_GPIO_6 ) //( WICED_GPIO_17 )
#define WICED_SPI_FLASH_CLK ( WICED_GPIO_7 )//( WICED_GPIO_19 )
#endif
This is in my platform.c header file:
#ifdef WICED_PLATFORM_INCLUDES_SPI_FLASH
/* SPI peripherals. Used for Serial FLASH */
const platform_spi_t platform_spi_peripherals[] =
{
[WICED_SPI_1] =
{
.port = SPI1,
.gpio_af = GPIO_AF_SPI1,
.peripheral_clock_reg = RCC_APB2Periph_SPI1,
.peripheral_clock_func = RCC_APB2PeriphClockCmd,
.pin_mosi = &platform_gpio_pins[WICED_SPI_FLASH_MOSI],
.pin_miso = &platform_gpio_pins[WICED_SPI_FLASH_MISO],
.pin_clock = &platform_gpio_pins[WICED_SPI_FLASH_CLK],
.tx_dma =
{
.controller = DMA2,
.stream = DMA2_Stream5,
.channel = DMA_Channel_3,
.irq_vector = DMA2_Stream5_IRQn,
.complete_flags = DMA_HISR_TCIF5,
.error_flags = ( DMA_HISR_TEIF5 | DMA_HISR_FEIF5 | DMA_HISR_DMEIF5 ),
},
.rx_dma =
{
.controller = DMA2,
.stream = DMA2_Stream0,
.channel = DMA_Channel_3,
.irq_vector = DMA2_Stream0_IRQn,
.complete_flags = DMA_LISR_TCIF0,
.error_flags = ( DMA_LISR_TEIF0 | DMA_LISR_FEIF0 | DMA_LISR_DMEIF0 ),
},
}
};
#endif
Show LessI'm looking for a programmer who could do some contract work on our product based on the WICED SDK. We're looking for someone in the US (so we can ship hardware easily). Message me if interested. Or also at daniel@sprinkl.io
Thanks!
Show LessI have an issue with the OpenOCD running on OS X 10.11.1 (El Capitan). My setup includes a jlink JTAG debugger as well as the Broadcom EVB including the BCM43341 (BCM943341WCD1).
The command that I run under Make Project is the following:
demo.MYPROJECT-BCM943341WCD1-debug JTAG=jlink debug
The result of this command is very similar to some other posts. I do see after the build summary the following error printed three times:
**** OpenOCD failed - ensure you have installed the driver from the drivers directory, and that the debugger is not running **** In Linux this may be due to USB access permissions. In a virtual machine it may be due to USB passthrough settings. Check in the task list that another OpenOCD process is not running. Check that you have the correct target and JTAG device plugged in. ****
If I change the Make Project command as follow: demo.MYPROJECT-BCM943341WCD1-debug JTAG=jlink debug VERBOSE=1
to be able to extract one of the commands that creates the issue. I found the following command:
./tools/OpenOCD//OSX/openocd-all-brcm-libftdi --enable-ftdi -f ./tools/OpenOCD/jlink.cfg -f ./tools/OpenOCD/stm32f4x.cfg -f ./tools/OpenOCD/stm32f4x-flash-app.cfg -c "verify_image_checksum build/demo.MYPROJECT-BCM943341WCD1-debug/binary/demo.MYPROJECT-BCM943341WCD1-debug.stripped.elf" -c shutdown
I ran the same command including: --debug=3 so OpenOCD will add more logs. I found this here:
Info : 253 2158 jlink.c:573 jlink_init(): J-Link JTAG Interface ready
Debug: 254 2158 jlink.c:705 jlink_reset(): trst: 0, srst: 0
Debug: 255 2162 log.c:422 keep_alive(): keep_alive() was not invoked in the 1000ms timelimit (2162). This may cause trouble with GDB connections.
Debug: 257 2163 core.c:1591 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 258 2163 core.c:1594 adapter_khz_to_speed(): have interface set up
Debug: 259 2164 core.c:1591 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 260 2164 core.c:1594 adapter_khz_to_speed(): have interface set up
Info : 261 2164 core.c:1386 adapter_init(): clock speed 1000 kHz
Debug: 262 2164 openocd.c:137 handle_init_command(): Debug Adapter init complete
Debug: 263 2164 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport init
Debug: 264 2164 command.c:145 script_debug(): command - ocd_transport ocd_transport init
Debug: 266 2164 transport.c:240 handle_transport_init(): handle_transport_init
Debug: 267 2164 jlink.c:705 jlink_reset(): trst: 0, srst: 0
Debug: 268 2164 core.c:730 jtag_add_reset(): SRST line released
Debug: 269 2164 core.c:754 jtag_add_reset(): TRST line released
Debug: 270 2164 core.c:328 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 271 2379 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_jtag_reset 1 1
Debug: 272 2379 command.c:145 script_debug(): command - jtag_reset ocd_jtag_reset 1 1
Error: 274 2379 core.c:676 jtag_add_reset(): BUG: can't assert SRST
Debug: 275 2379 command.c:628 run_command(): Command failed with error code -4
Debug: 276 2379 command.c:628 run_command(): Command failed with error code -4
User : 277 2379 command.c:689 command_run_line(): in procedure 'init' called at file "./tools/OpenOCD/stm32f4x-flash-app.cfg", line 10
in procedure 'ocd_bouncer'
Debug: 278 2379 command.c:628 run_command(): Command failed with error code -4
User : 279 2379 command.c:689 command_run_line():
I will follow the post here (Re: OS X version of WICED SDK 3.1.1 posted ) with an Olimex debugger this time and see if I can get it working. The understanding is that the OpenOCD is conflicting with the native FTDI driver.
Please comment this post if you find a way to get the Jlink running on OS X.
Show Lesshello all
I want to test the BCM943362WCD4_EVB TCP transmit throughput
I used this wiced_tcp_send_buffer() function,and set the packet size of 1024byte
how many packets can sent to buffer for once call wiced_rtos_register_timed_event()?
thx
Show LessHi,
We are pushing around 1600 bytes status information from the module (BCM943341) over WiFi to the webSocket server hosted by EC2 every second. Also, the server as part of handshake sends a ping every 10 seconds, to which the module responds with a pong.
We have a 130 bytes command that is sent by the server to the web socket client on the module. This can arrive any time. However, we have observed that this message is sometimes delayed and many a time, it is just not received, even though the server gets an ACK for every such message sent.
I wish to know:
(1) do we share tx/rx buffers at the lower layer of tcp socket send/recv?
(2) what is the min/max tx/rx messages that can be sent reliably with moderate to lower latency ~ 1second?
This is all without TLS.
Thanks!
Show LessWe are using a murata SN8000 module connected via SDIO operating with 48 Mhz to a Cortex-M3 LPC1837.
We are using a WWD ported from the SDK 3.1.2 (including matching patch from murata).
We are using a custom PCB with SPI Flash, SDRAM, MCU and SN8000.
The MCU is operating at 180 MHz.
We are using an older version of FreeRTOS and LWIP (not taken from the SDK).
The SDIO interrupt has the highest interrupt priority.
The WWD task has the highest task priority.
There should be no long interrupt processing during the test.
During synthetic tests we experience reproducible WLAN scan timeouts.
Our test case repeatedly starts a Wireless Access Point, performs a WLAN scan and closes the AP after some seconds.
To perform a WLAN scan our code uses wwd_wifi_scan() and waits up to 10 seconds until the scan callback gets called with the status WICED_SCAN_COMPLETED_SUCCESSFULLY.
Usually the scan callback gets called with status WICED_SCAN_COMPLETED_SUCCESSFULLY after 3 or 4 seconds.
However when a remote WLAN host sends data (e.g. lots of UDP datagrams) to the WLAN module during the scan sometimes WICED_SCAN_COMPLETED_SUCCESSFULLY does not occur within 10 seconds.
In this case our code aborts the WLAN scan with wwd_wifi_abort_scan() which then always returns WWD_TIMEOUT.
Even all following IOCTLs return with WWD_TIMEOUT.
No further communication with the WLAN module is possible until a power cycle is performed.
We've instrumented the WWD code to track the event messages that we receive from the WLAN module. Normally a scan results in lots of events with type WLC_E_ESCAN_RESULT and status WLC_E_STATUS_PARTIAL followed by one last event with status WICED_SCAN_COMPLETED_SUCCESSFULLY. There are a few occasions where a scan terminated with WLC_E_STATUS_ABORT, but this seems to be handled without errors. During all the errors we observed the usual amount of WLC_E_STATUS_PARTIAL events but never received a WICED_SCAN_COMPLETED_SUCCESSFULLY event.
Are there any known issues that could result in the scan not completing?
Are there any known issues that could result in the WLAN module not responding to IOCTLs forever?
Is there any other way to get the WLAN module responding again other than
performing a power cycle?
Best Regards,
Michael Liebert
on behalf of David Natwati
Show LessI use Intel Edison with BCM43340 chip in IBSS (ad-hoc) mode. Intel supplies source code for the WiFi driver (version 1.141-r47).
I need:
1) to add Informational Elements (IE) to the beacons
2) to receive the beacons with IEs
3) to know which link quality information is embedded into the beacons.
Thanks in advance,
Alexei
Show Less