My setup:
- - QCA4002
- - updated to version 3.3.4.101
- - Cortex-M3, running at 108 MHz, no MPU used
- - toolchain https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q2-update
- also tested with 2015-q3 with the same results
- - freertos 8.2.3
- Qualcomm Atheros Driver Stack
- version 3.3.4
- offloaded stack
- freertos platform port by Natie van Rooyen
- SPI, running at 13,5 MHz
- configuration details:
#define ZERO_COPY 1
#define NON_BLOCKING_RX 0
#define NON_BLOCKING_TX 0
#define MAX_SOCKETS_SUPPORTED 8
#define WLAN_CONFIG_NUM_PRE_ALLOC_RX_BUFFERS 4
#define COMMAND_BLOCK_TIMEOUT 60000
#define TRANSMIT_BLOCK_TIMEOUT 2000
#define DHCP_WAIT_TIME 30000
#define DHCP_AUTO_WAIT_TIME 60000*2
wifi driver thread has the highest thread priority within the application
When I execute t_ipconfig(IPCFG_DHCP) from my application thread and there is no DHCP server in sight, I would expect that the call returns with an error code after the configured timeout has been expired. But unfortunately, it isn't so. Instead, the call blockes forever.
In the case that there is no DHCP server around, I need to be e.g. notified and even a way to cancel the current (failed) DHCP request so that I can e.g. try a different AP or provide my user some configuration obtions. What's the exactly meaning for DHCP_WAIT_TIME if not for "time until give up DHCP"?
There is another issue I observed occasionally, as were the DHCP request blocks infinitely, even when there is a DHCP server available. In this case, I also need a way to cancel the current DHCP request (for maybe start a new request).
Could someone help?
Anyone observed similar behaviour?