WIFI Mesh Internal communication fails with Guru mediation Error

Yuvaraj1867
Posts: 63
Joined: Wed Mar 06, 2019 4:39 am
Contact:

WIFI Mesh Internal communication fails with Guru mediation Error

Postby Yuvaraj1867 » Fri Feb 28, 2020 8:18 am

Hi,

I am working on WiFi Mesh where my task is to send temperature data from each child node to its parent node and that parent node will receive it and send it to other server via mqtt.
I am using ESP-IDF-V3.3's mesh->internal communication example as reference code.

I have written the code for it but it is just resetting with guru mediation error.
Here is my Log:

Code: Select all

I (32) boot: ESP-IDF v3.3-dirty 2nd stage bootloader
I (32) boot: compile time 12:22:03
I (33) boot: Enabling RNG early entropy source...
I (38) boot: SPI Speed      : 40MHz
I (42) boot: SPI Mode       : DIO
I (46) boot: SPI Flash Size : 4MB
I (50) boot: Partition Table:
I (53) boot: ## Label            Usage          Type ST Offset   Length
I (61) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (68) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (76) boot:  2 factory          factory app      00 00 00010000 00100000
I (83) boot: End of partition table
I (87) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x240f0 (147696
) map
I (148) esp_image: segment 1: paddr=0x00034118 vaddr=0x3ffb0000 size=0x03c74 ( 1547
6) load
I (154) esp_image: segment 2: paddr=0x00037d94 vaddr=0x40080000 size=0x00400 (  102
4) load
0x40080000: _WindowOverflow4 at C:/esp32/esp-idf-v3.3/components/freertos/xtensa_ve
ctors.S:1779

I (155) esp_image: segment 3: paddr=0x0003819c vaddr=0x40080400 size=0x07e74 ( 3237
2) load
I (177) esp_image: segment 4: paddr=0x00040018 vaddr=0x400d0018 size=0x93af8 (60492
0) map
0x400d0018: _stext at ??:?

I (390) esp_image: segment 5: paddr=0x000d3b18 vaddr=0x40088274 size=0x085dc ( 3426
8) load
0x40088274: temprature_sens_read at /home/qgu/git_tree/chip7.1_rtc/board_code/app_t
est/pp/rtc/rtc_analog.c:13

I (414) boot: Loaded app from partition at offset 0x10000
I (415) boot: Disabling RNG early entropy source...
I (415) cpu_start: Pro cpu up.
I (419) cpu_start: Application information:
I (423) cpu_start: Project name:     internal_communication
I (430) cpu_start: App version:      1
I (434) cpu_start: Compile time:     Feb 28 2020 12:22:24
I (440) cpu_start: ELF file SHA256:  562d7494d614d76c...
I (446) cpu_start: ESP-IDF:          v3.3-dirty
I (451) cpu_start: Starting app cpu, entry point is 0x40081158
0x40081158: call_start_cpu1 at C:/esp32/esp-idf-v3.3/components/esp32/cpu_start.c:2
70

I (442) cpu_start: App cpu up.
I (462) heap_init: Initializing. RAM available for dynamic allocation:
I (469) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (475) heap_init: At 3FFBB1E0 len 00024E20 (147 KiB): DRAM
I (481) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (487) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (494) heap_init: At 40090850 len 0000F7B0 (61 KiB): IRAM
I (500) cpu_start: Pro cpu start user code
I (183) cpu_start: Chip Revision: 1
W (183) cpu_start: Chip revision is higher than the one configured in menuconfig. S
uggest to upgrade it.
I (187) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (292) wifi: wifi driver task: 3ffc3aa0, prio:23, stack:3584, core=0
I (292) system_api: Base MAC address is not set, read default base MAC address from
 BLK0 of EFUSE
I (292) system_api: Base MAC address is not set, read default base MAC address from
 BLK0 of EFUSE
I (322) wifi: wifi firmware version: aeed694
I (332) wifi: config NVS flash: enabled
I (332) wifi: config nano formating: disabled
I (332) wifi: Init dynamic tx buffer num: 32
I (332) wifi: Init data frame dynamic rx buffer num: 32
I (332) wifi: Init management frame dynamic rx buffer num: 32
I (342) wifi: Init management short buffer num: 32
I (342) wifi: Init static rx buffer size: 1600
I (352) wifi: Init static rx buffer num: 10
I (352) wifi: Init dynamic rx buffer num: 32
I (452) phy: phy_version: 4102, 2fa7a43, Jul 15 2019, 13:06:06, 0, 0
I (452) wifi: mode : sta (c4:4f:33:16:f0:15) + softAP (c4:4f:33:16:f0:16)
I (452) wifi: Total power save buffer number: 16
I (452) wifi: Init max length of beacon: 752/752
I (462) wifi: Init max length of beacon: 752/752
W (462) wifi: [beacon]new interval:100ms
I (472) mesh: <nvs>read layer:1
I (472) mesh: <nvs>read assoc:0, err:0x1102
I (492) wifi: Total power save buffer number: 16
I (1492) wifi: Set ps type: 0

I (1492) wifi: mode : sta (c4:4f:33:16:f0:15)
I (1492) mesh: <MESH_NWK_LOOK_FOR_NETWORK>need_scan:0x3, need_scan_router:0x0, look
_for_nwk_count:1
I (1492) mesh_main: <MESH_EVENT_STARTED>ID:77:77:77:77:77:77
I (1502) mesh_main: mesh starts successfully, heap:177676, root not fixed

I (5412) mesh: [S1]Uchi_Babu, b0:4e:26:03:37:1f, channel:1, rssi:-47
I (5412) mesh: find router:[ssid_len:9]Uchi_Babu, rssi:-47, b0:4e:26:03:37:1f(encry
pted), new channel:1, old channel:0
I (5412) mesh: [FIND][ch:0]AP:16, otherID:0, MAP:0, idle:0, candidate:0, root:0[b0:
4e:26:03:37:1f]router found
I (5422) mesh: [FIND:1]find a network, channel:1, cfg<channel:0, router:Uchi_Babu,
00:00:00:00:00:00>

I (5432) mesh_main: <MESH_EVENT_FIND_NETWORK>new channel:1, router BSSID:00:00:00:0
0:00:00
I (5442) wifi: mode : sta (c4:4f:33:16:f0:15) + softAP (c4:4f:33:16:f0:16)
W (5452) wifi: <MESH AP>adjust channel:1, secondary channel offset:1(40U)
I (5462) wifi: Total power save buffer number: 16
I (5762) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:1,i:1][b0:4e:26:03:37:1f]router found<>
I (5762) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (5772) mesh: 1250, vote myself, router rssi:-41 > voted rc_rssi:-120
I (5782) mesh: [SCAN:1/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (6092) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (6092) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (6102) mesh: [SCAN:2/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (6422) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (6422) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-42], mine:0, voter:0
I (6432) mesh: [SCAN:3/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
2,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (6742) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (6742) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-43], mine:0, voter:0
I (6752) mesh: [SCAN:4/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
3,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (7072) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (7072) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-40], mine:0, voter:0
I (7082) mesh: [SCAN:5/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
0,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (7392) mesh: [SCAN][ch:1]AP:2, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (7392) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (7402) mesh: [SCAN:6/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (7722) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (7722) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (7732) mesh: [SCAN:7/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (8042) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (8042) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (8052) mesh: [SCAN:8/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (8372) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (8372) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-41], mine:0, voter:0
I (8382) mesh: [SCAN:9/10]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:15,-4
1,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0:16]


I (8692) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (8702) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-40], mine:0, voter:0
I (8702) mesh: [SCAN:10/13+x+]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:1
5,-40,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0
:16]

I (9022) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (9022) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-44], mine:0, voter:0
I (9032) mesh: [SCAN:11/13+x+]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:1
5,-44,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0
:16]

I (9352) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (9352) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-42], mine:0, voter:0
I (9352) mesh: [SCAN:12/13+x+]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:1
5,-42,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0
:16]

I (9672) mesh: [SCAN][ch:1]AP:3, other(ID:0, RD:0), MAP:0, idle:0, candidate:1, roo
t:0, topMAP:0[c:0,i:1][b0:4e:26:03:37:1f]router found<>
I (9672) mesh: 1212[SCAN]init rc[c4:4f:33:16:f0:16,-43], mine:0, voter:0
I (9682) mesh: [SCAN:13/13+x+]rc[128][c4:4f:33:16:f0:16,-41], self[c4:4f:33:16:f0:1
5,-43,reason:0,votes:1,idle][mine:1,voter:1(1.00)percent:1.00][128,1,c4:4f:33:16:f0
:16]

I (9702) mesh: <nvs>write layer:0
W (9702) wifi: [beacon]interval:100ms
I (9702) mesh: [DONE]connect to router:Uchi_Babu, channel:1, rssi:-43, b0:4e:26:03:
37:1f[layer:0, assoc:0], my_vote_num:1/voter_num:1, rc[c4:4f:33:16:f0:16/-41/1]
I (9842) wifi: new:<1,1>, old:<1,1>, ap:<1,1>, sta:<1,0>, prof:1
I (9842) wifi: state: init -> auth (b0)
I (9842) wifi: state: auth -> assoc (0)
I (9852) wifi: state: assoc -> run (10)
I (9872) wpa: <EAPOL>state:6
I (9872) wpa: <EAPOL>receiving the 1/4 EAPOL-Key, state:6
I (9882) wpa: <EAPOL>state:7
I (9882) wpa: <EAPOL>receiving the 3/4 EAPOL-Key, state:7
I (9882) wifi: connected with Uchi_Babu, channel 1, HT20, bssid = b0:4e:26:03:37:1f

I (9892) wifi: pm start, type: 0

E (9892) event: invalid static ip
I (9892) mesh: [scan]new scanning time:600ms
W (9892) wifi: [beacon]new interval:300ms
I (9902) mesh: <nvs>write layer:1
I (9902) mesh_main: <MESH_EVENT_PARENT_CONNECTED>layer:0-->1, parent:b0:4e:26:03:37
:1f<ROOT>, ID:77:77:77:77:77:77
in mesh_rx
Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Core 1 register dump:
PC      : 0x40123576  PS      : 0x00060530  A0      : 0x801239e8  A1      : 0x3ffd5
2c0
0x40123576: mesh_recv at ??:?

A2      : 0x3ffd5360  A3      : 0x00000000  A4      : 0x3ffd5490  A5      : 0xfffff
fff
A6      : 0x00000008  A7      : 0x00000000  A8      : 0x00000000  A9      : 0x3ffd5
2d0
A10     : 0xffffffff  A11     : 0x3f41b3b4  A12     : 0x0000008a  A13     : 0x3ffb9
820
A14     : 0x00000000  A15     : 0x00000000  SAR     : 0x00000000  EXCCAUSE: 0x00000
01d
EXCVADDR: 0x00000008  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xfffff
fff

ELF file SHA256: 562d7494d614d76c98bf434afdb824478326045e0ad837f86498025ecb086d73

Backtrace: 0x40123576:0x3ffd52c0 0x401239e5:0x3ffd5320 0x400d312a:0x3ffd5350 0x4008
dab1:0x3ffd54c0
0x40123576: mesh_recv at ??:?

0x401239e5: esp_mesh_recv at ??:?

0x400d312a: esp_mesh_p2p_rx_main at C:/esp32/Z.My_Test_Examples/internal_communicat
ion/main/mesh_main.c:419 (discriminator 3)

0x4008dab1: vPortTaskWrapper at C:/esp32/esp-idf-v3.3/components/freertos/port.c:40
3


Rebooting...
As per EXCVADDR register address is close to zero. That means that application attempted to access member of a structure, but the pointer to the structure was NULL. But i am not able to solve the issue.

Kindly check and guide me.
Last edited by Yuvaraj1867 on Mon Aug 17, 2020 5:18 pm, edited 1 time in total.

Yuvaraj1867
Posts: 63
Joined: Wed Mar 06, 2019 4:39 am
Contact:

Re: WIFI Mesh Internal communication fails with Guru mediation Error

Postby Yuvaraj1867 » Mon Mar 02, 2020 4:40 am

I found.

Code: Select all

err = esp_mesh_recv(&route_table[i], &data, portMAX_DELAY, MESH_DATA_TODS, NULL, 0);
In this above line if i use "flag" as "MESH_DATA_TODS" , it is giving the above error log. If i use flag as "0", it is working.
As per programming guide we can use flag as below,

Code: Select all

    If the packet is to the root and “to” parameter is NULL, set this parameter to 0.
    If the packet is to an internal device, MESH_DATA_P2P should be set.
    If the packet is to the root (“to” parameter isn’t NULL) or to external IP network, MESH_DATA_TODS should be set.
    If the packet is from the root to an internal device, MESH_DATA_FROMDS should be set.
But i am not able to use MESH_DATA_TODS.

ChangMing
Posts: 2
Joined: Wed Feb 26, 2020 12:58 pm

Re: WIFI Mesh Internal communication fails with Guru mediation Error

Postby ChangMing » Fri Mar 06, 2020 4:17 am

  1. esp_err_t esp_mesh_recv(mesh_addr_t *from, mesh_data_t *data, int timeout_ms, int *flag, mesh_opt_t opt[], int opt_count)
The type of flag parameter is int *, So a integer pointer should be pass to it.
After esp_mesh_recv() finished, the variable that the pointer linked to will be set MESH_DATA_TODS or MESH_DATA_FROMDS, according the direction of received packet(From DS/To DS).

Who is online

Users browsing this forum: Bing [Bot], Tnze__ and 153 guests