CYW43907 boot lockup / WDT reset

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

cross mob
NiMc_1688136
Level 5
Level 5
10 sign-ins 50 questions asked 10 solutions authored

Occasionally on boot, in wiced_int, the code hangs while initializing the WLAN core through the WWD interface. I do not know exactly where it hangs but i assume it is in the WWD thread context which blocks the monitor thread from kicking the watchdog, both are set to the highest priority. I have submitted this issue to an internal ticket and the  only solution was to add/increase a delay before configuring the country code. The occurrence rate has dropped but it still occurs and triggers a WDT, potentially forcing the failsafe app to load the factory reset image. I occasionally see this happening on boot after an OTA and it is pretty frustrating because the firmware gets rolled back to a really old version that was placed in the factory reset at time of manufacturing... This is a real big issue in my application.

If this issue occurs i would rather perform a SW reset versus the watchdog. The only way i see to this this is to lower the WWD priority below the system monitor and use the monitor thread hooks around the wiced_init call. Currently the monitor thread and WWD use priority 9 (FreeRTOS). From what I see, nothing else in my system is running at priority 8... Thoughts?

SDK: 6.2

Processor: CYW43907

FreeRTOS build

With the default 6.2 SDK i was able to reproduce this on the CWY43907 eval board with the reset button. After 20 or 30 presses the system would watchdog on boot.

By the way, i diffed 6.2.1 and 6.2 WWD folders and nothing has changed in the newer SDK.

For Admins, this is in reference to Startup hangs occasionally - CYW43907​, which has been locked.

Here is a console printout between a bad and good boot

Bad

Starting WICED vWiced_006.002.000.0072

Platform InVue_RTD initialised

Started FreeRTOS v9.0.0

Initialising LwIP v2.0.3

DHCP CLIENT hostname WICED IP

WWD SoC.43909 interface initializing with US/0

Reset wlan core..

load_wlan_fw: write reset_inst : 0xb83ef1b0

Release WLA

½É•¹.

Good

Starting WICED vWiced_006.002.000.0072

Platform InVue_RTD initialised

Started FreeRTOS v9.0.0

Initialising LwIP v2.0.3

DHCP CLIENT hostname WICED IP

WWD SoC.43909 interface initializing with US/0

Reset wlan core..

load_wlan_fw: write reset_inst : 0xb83ef1b0

Release WLA

½É•¹.

DMA: TX reclaim

read pkt , p0: 0x505120

read pkt , p0: 0x504a00

intstatus: 0x0, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x5042e0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x503bc0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x5034a0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x502d80

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x502660

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x501f40

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x501820

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x501100

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x5009e0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x5002c0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4ffba0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4ff480

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4fed60

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4fe640

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

intstatus: 0x1000000, NO PACKET

read pkt , p0: 0x4fdf20

read pkt , p0: 0x4fd800

293: Event (interface, type, status, reason): WWD_STA_INTERFACE Unknown WLC_E_STATUS_SUCCESS WLC_E_REASON_INITIAL_ASSOC

read pkt , p0: 0x4fd0e0

302: Event (interface, type, status, reason): WWD_STA_INTERFACE Unknown WLC_E_STATUS_SUCCESS WLC_E_REASON_INITIAL_ASSOC

intstatus: 0x0, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4fc9c0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x4fc2a0

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x505120

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x504a00

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x5042e0

intstatus: 0x10000, NO PACKET

WLAN MAC Address : CC:C0:79:DF:57:04

DMA: TX reclaim

read pkt , p0: 0x503bc0

intstatus: 0x10000, NO PACKET

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

DMA: TX reclaim

read pkt , p0: 0x5034a0

intstatus: 0x10000, NO PACKET

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

DMA: TX reclaim

read pkt , p0: 0x502d80

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x502660

intstatus: 0x10000, NO PACKET

DMA: TX reclaim

read pkt , p0: 0x501f40

intstatus: 0x10000, NO PACKET

Init took ~403 ms

0 Likes
1 Solution

m.lagrassa_3768146

I finally got around to prototyping your idea and it works well.

Thanks for the idea!

View solution in original post

0 Likes
9 Replies