Upgradation of LwIP to 2.1.2

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

cross mob
BaT_3785171
Level 2
Level 2
First like given

I have installed WICED-Studio-6.2.1.2-IDE.
In 43xxx_Wi-Fi project LwIP present is of Version 2.0.3
I am seeing that changes are done in WICED LwIP 2.0.3 to support wi-fi drivers.

Now, I have to upgrade this 2.0.3 WICED LwIP to 2.1.2 LwIP.
How I can accomplish this job so that there will be no impact on wi-fi drivers.
Any help or suggestion is appreciated.

0 Likes
3 Replies
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

First you can check the API, structure and macro differences between LwIP 2.0.3 and 2.1.2. This includes the differences in function prototype if any. You would then need to incorporate the differences in the files in LwIP/WICED and LwIP/WWD. For instance, you would need to check if any LwIP 2.0.3 function used in WICED is deprecated in 2.1.2. Another approach is to add the relevant LwIP files and then check if there are any compilation errors such as undefined macros, functions, structures.

0 Likes
lock attach
Attachments are accessible only for community members.

I have upgraded LwIP to 2.1.2 successfully and is compiling.
But one thing to be noted here.
There are changes in the WICED version of LwIP 2.0.3 when compared to standard LwIP version 2.0.3
Files present in WICED\network\LwIP\WICED folder and WICED\network\LwIP\WWD folder are using modified WICED version of LwIP 2.0.3.

Following are the major changes in LwIP for wi-fi drivers:
1 netconn_set_async_callback
2 tcpip_deinit
3 PBUF_POOL_RX    and PBUF_POOL_TX
4 MEMP_PBUF_POOL_TX and  MEMP_PBUF_POOL_RX
5 netconn_connect

I have commented some of the changes for compilation purpose.

How to handle these WICED changes in upgraded LwIP 2.1.2 ?

0 Likes

The TCP and IP layers would depend on the LwIP network stack so any changes would directly affect the implementation of those two layers. To preserve layer compatibility, you can consider incorporating those changes in your upgraded version of LwIP. This method would work if the underlying LwIP APIs are not deprecated or changed.