wiced_tcp_send_packet() failed and WWD questions

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi all,

I tried to develop a simple TCP client to send data to a TCP server using the WICED solution:

Hardware: BCN943362WCD4_3 board

Software: WICED SDK 3.3.1

Two experiments I did:

A. Use WICED API similar to the apps/snip/tcp_client example in the SDK.

B. Use WWD and LwIP socket API similar to the apps/wwd/ping example in the SDK.

It occurs to me the case A TCP client (using WICED API) fails frequently when sending data using wiced_tcp_send_packet(). The case B TCP client (using WWD and LwIP socket API) does not experience errors when sending data.

Questions:

1. Is the wiced_tcp_send_packet() failure a known problem? If so, is there any fix for it?

2. I was able to get by the wiced_tcp_send_packet() problem using LwIP socket API with these 2 options:

a. Using WICED + LwIP socket API

wiced_init( );

wiced_network_up_default();

...

lwip_socket();

b. Using WWD + LwIP socket API

wwd_management_init();

wwd_wifi_join();

...

lwip_socket();

It seems to me the throughput of Option b is better. Is this expected?

What are the differences betweeen Option a and Option b? What do I lose if I use WWD instead of WICED?

Thank you for the help.

0 Likes
4 Replies
Félix_T
Level 5
Level 5
10 sign-ins First comment on blog 50 replies posted

1. It looks confirmed as an issue as expressed in this thread: wiced_tcp_packet_send dropping data?

2. We buillt our wifi layer with WWD + LWIP with some modifications to make it work with our RTOS (not implemented by WICED).  The advantage of WWD + LWIP is more granular control of your data flow, i.e. stack data like you want, control your sending timing more, ect.  The downside is that if you want to use other WICED features, for example the currently proposed security implementation (in beta I beleive) then you can't do it.  Those feature sets require all of WICED to be implemented to take advantage of all the different WICED threads.  Also, without WICED you need to manage your connection yourself, like scanning, connecting, authenticating, DHCP stuff, reconnecting, disconnecting.  It's not too burdensome to do, but it does take a bit of implementation and refinement.  We've been running with WWD + LWIP only for a 2-year old product with a BCM43362 and for about 6 months with a BCM43341

Anonymous
Not applicable

Will it cause any problems if I have different sockets using different APIs in my system?

For examples, one socket is created by wiced_tcp_create_socket(), and another by lwip_socket()?

Thank you!

0 Likes

I don't have an answer for that because I have never tried it and I haven't looked enough into the wiced calls.

0 Likes
Anonymous
Not applicable

Strangely, I have also seen this problem in WICED-SDK-3.1.2 (different from what is described in the thread: wiced_tcp_packet_send dropping data?). Has anyone experienced this?

Thank you!

0 Likes