3 Replies Latest reply on Mar 20, 2019 11:28 PM by GauravS_31

    Upgradation of LwIP to 2.1.2

    BaT_3785171

      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.

        • 1. Re: Upgradation of LwIP to 2.1.2
          GauravS_31

          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.

          • 2. Re: Upgradation of LwIP to 2.1.2
            BaT_3785171

            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 ?

            • 3. Re: Upgradation of LwIP to 2.1.2
              GauravS_31

              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.

              1 of 1 people found this helpful