4 Replies Latest reply on Aug 23, 2018 3:49 AM by riya

    deepsleep_ping example issues (not pinging)

    nickmckendree_1688136

      I am trying to run the snip\ping_deepsleep example with FreeRTOS and LWIP. The application is crashing (hitting assert) right after getting the DHCP address.

      In LwIP, pbuf.c, pbuf_free function, the application stops at LWIP_ASSERT("pbuf_free: p->ref > 0", p->ref > 0) where p->ref == 0.

       

      The issue occurs in SDK 6.1 (lwIP 2.0.2) and 6.2 (lwIP 2.0.3).

      Device: CYW43907

       

      Console out

      Application started: cur_rtos_time=0 cur_slow_time=92403407 rtos_time_since_deep_sleep_enter=2800103 wakeup_count=1

      Cold boot.

      Initialising LwIP v2.0.2

      DHCP CLIENT hostname WICED IP

      WLAN MAC Address : B8:D7:AF:28:B6:72

      WLAN Firmware    : wl0: Feb 12 2018 23:35:27 version 7.15.168.108 (r683813) FWID 01-81fd72af

      WLAN CLM         : API: 12.2 Data: 9.10.74 Compiler: 1.31.3 ClmImport: 1.36.3 Creation: 2018-02-12 23:30:46

      WICED inited: rtos_time_since_deep_sleep_enter=2800787

      Networking is about to bring up

      Setting IPv6 link-local address

      Obtaining IPv4 address via DHCP

      IPv6 Network ready IP: FE80::BAD7:AFFF:FE28:B672

      IPv4 Network ready IP: 192.168.1.100

       

      Call tree (using lwip v2.0.2)

      tcpip_thread, msg->msg.inp.input_fn(msg->msg.inp.p, msg->msg.inp.netif);     ( line 134)

          ethernet_input, etharp_input(p, netif);     (line 199)

               etharp_input,  pbuf_free(p);     (line 739)

       

       

      I tried the same example with ThreadX and NetX Duo (my application needs FreeRTOS btw). If i run the application I get the stats message repeating:

       

      stats: up_num=94 up_time=13165 max_up_time=0 wait_up_time=696 cpu_timer(cold=115601560 warm=0) pmu_timer(cold=112578747 warm=0)

      wiced_network_save_dhcp_state_for_deep_sleep

       

      If i debug the application then I hit an assert statement in wiced_network_resume_layers: wiced_assert("WICED can't resume DHCP client", 0 != 0 );

       

      I have verified that pings do not work through wireshark monitoring and monitoring current consumption on a scope.

        • 1. Re: deepsleep_ping example issues (not pinging)
          nickmckendree_1688136

          I am still not able to ping with this demo app

          build string: testProjects.ping_deepsleep-CYW943907AEVAL1F-FreeRTOS-LwIP download run

          I change platforms to the CYW943907AEVAL1F.

          I am not getting the assert error in LwIP but I am getting the stats printout over and over, about 10s intervals.

           

          Starting WICED vWiced_006.002.000.0072

          Platform CYW943907AEVAL1F initialised

          Started FreeRTOS v10.0.1

          Initialising LwIP v2.0.3

          DHCP CLIENT hostname WICED IP

          WLAN MAC Address : A4:08:EA:D9:BA:8A

          WLAN Firmware    : wl0: May 15 2018 19:39:17 version 7.15.168.114 (r689934) FWID 01-d6f88905

          WLAN CLM         : API: 12.2 Data: 9.10.74 Compiler: 1.31.3 ClmImport: 1.36.3 Creation: 2018-05-15 19:33:15

          WICED inited: rtos_time_since_deep_sleep_enter=534948

          Networking is about to bring up

          Joining : AWS_Test_Network_24

          Successfully joined : AWS_Test_Network_24

          Setting IPv6 link-local address

          IPv6 Network ready IP: FE80::A608:EAFF:FED9:BA8A

          IPv4 Network ready IP: 192.168.1.59

          Networking inited

          CONSOLE: 1 wl0: wl_open

          CONSOLE: 000002.632 wl0: link up (wl0)

          stats: up_num=10 up_time=7153 max_up_time=0 wait_up_time=36 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=16 up_time=7862 max_up_time=0 wait_up_time=76 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=23 up_time=8278 max_up_time=0 wait_up_time=132 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=27 up_time=8354 max_up_time=0 wait_up_time=171 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=32 up_time=8729 max_up_time=0 wait_up_time=213 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=37 up_time=8799 max_up_time=0 wait_up_time=256 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=42 up_time=8869 max_up_time=0 wait_up_time=299 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=47 up_time=9233 max_up_time=0 wait_up_time=338 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=52 up_time=9302 max_up_time=0 wait_up_time=380 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=56 up_time=9353 max_up_time=0 wait_up_time=410 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=61 up_time=9727 max_up_time=0 wait_up_time=452 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=67 up_time=9814 max_up_time=0 wait_up_time=500 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=72 up_time=9883 max_up_time=0 wait_up_time=542 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=76 up_time=9938 max_up_time=0 wait_up_time=576 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          stats: up_num=81 up_time=10298 max_up_time=0 wait_up_time=615 cpu_timer(cold=144633789 warm=0) pmu_timer(cold=17647580 warm=0)

          • 2. Re: deepsleep_ping example issues (not pinging)
            nickmckendree_1688136

            Appears the application is never entering the deepsleep mode.

            wakeup_count is always set to 1 since the module does not reset from a deep sleep timeout.

            wakeup_count needs to increment in order to trigger a ping.

            • 3. Re: deepsleep_ping example issues (not pinging)
              nickmckendree_1688136

              I built the project with the original SDK 6.2 codebase  with FreeRTOS & LwIP and on the second boot, the project crashes with what seems to be a IDLE task stack overflow (if running in debug). The current does not appear to drop during the 10s supposedly in deep sleep.

               

              Starting WICED vWiced_006.002.000.0072

              Platform CYW943907AEVAL1F initialised

              Started FreeRTOS v9.0.0

              Initialising LwIP v2.0.3

              DHCP CLIENT hostname WICED IP

              WLAN MAC Address : A4:08:EA:D9:BA:8A

              WLAN Firmware    : wl0: May 15 2018 19:39:17 version 7.15.168.114 (r689934) FWID 01-d6f88905

              WLAN CLM         : API: 12.2 Data: 9.10.74 Compiler: 1.31.3 ClmImport: 1.36.3 Creation: 2018-05-15 19:33:15

              WICED inited: rtos_time_since_deep_sleep_enter=5075895

              Networking is about to bring up

              Joining : AWS_Test_Network_24

              Successfully joined : AWS_Test_Network_24

              Setting IPv6 link-local address

              Obtaining IPv4 address via DHCP

              IPv6 Network ready IP: FE80::A608:EAFF:FED9:BA8A

              IPv4 Network ready IP: 192.168.1.104

              Application started: cur_rtos_time=0 cur_slow_time=1739 rtos_time_since_deep_sleep_enter=52 wakeup_count=1

              Cold boot.

               

               

              Starting WICED vWiced_006.002.000.0072

              Platform CYW943907AEVAL1F initialised

              === EXCEPTION ===

              Debug event (e.g. breakpoint)

              DFSR : 0x00000000

              DFAR : 0x00000000

              IFSR : 0x00000002

              IFAR : 0x004B621C

              CPSR : 0x00000197

              R0   : 0x00000001

              R1   : 0x00000000

              R2   : 0x00000080

              R3   : 0x00000001

              R4   : 0x04040404

              R5   : 0x05050505

              R6   : 0x06060606

              R7   : 0x00512370

              R8   : 0x08080808

              R9   : 0x09090909

              R10  : 0x10101010

              R11  : 0x11111111

              R12  : 0x6573696C

              LR   : 0x004B621C

              =================

              • 4. Re: deepsleep_ping example issues (not pinging)
                riya

                Hello,

                There are some issues in ping_deepsleep app in WICED 6.2. We are looking into the issue. I will update the thread when the fix is available

                1 of 1 people found this helpful