agnunez / espros

ROS serial for ESP8266 over WiFi
MIT License
126 stars 51 forks source link

esp8266 is crashing on connection #2

Closed rahuldeo2047 closed 6 years ago

rahuldeo2047 commented 7 years ago

Log from ROS 192.168.1.4 rosrun rosserial_python serial_node.py tcp

[INFO] [1504026878.861724]: ROS Serial Python Node
Fork_server is:  False
[INFO] [1504026878.866898]: Waiting for socket connections on port 11411
waiting for socket connection
[INFO] [1504026895.864035]: Established a socket connection from 192.168.1.5 on port 32163
[INFO] [1504026895.864462]: calling startSerialClient
[INFO] [1504026901.808561]: socket.error exception caught
[INFO] [1504026901.809044]: startSerialClient() exited
waiting for socket connection
[INFO] [1504026903.043857]: Established a socket connection from 192.168.1.5 on port 9521
[INFO] [1504026903.044350]: calling startSerialClient
[INFO] [1504026912.801278]: socket.error exception caught
[INFO] [1504026912.801747]: startSerialClient() exited
waiting for socket connection

https://github.com/agnunez/espros/blob/master/examples/esproswifi/esproswifi.ino log from esp8266 192.168.1.5 over uart

Connecting to HHH7351HHH
Ready! Use 192.168.1.5 to access client

Exception (3):
epc1=0x4000bf64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x402309fd depc=0x00000000

ctx: cont
sp: 3fff03b0 end: 3fff0650 offset: 01a0

>>>stack>>>
3fff0550:  00000000 00000010 402014cc 3ffef630
3fff0560:  0000000d 00001388 00001388 40201943
3fff0570:  00000000 00000001 3fff17c4 00000000
3fff0580:  3ffef4d0 00000001 3ffee458 40204400

3fff0590:  40205535 00000000 3fff170c 00000000
3fff05a0:  3ffef4d0 3ffef534 3ffee458 402040b9
3fff05b0:  3ffe8518 00000064 3ffe84bc 402309fd
3fff05c0:  402309dc 00000800 3fff170c 3ffef55c
3fff05d0:  402043cc 3ffee458 3ffee458 40203ed7
3fff05e0:  3ffe8500 00000000 00000000 3ffef55c
3fff05f0:  00001eb2 3ffee458 3ffef458 40204316
3fff0600:  3fffdad0 3ffef620 402014cc 3ffef630
3fff0610:  4020194e 000001f4 000001f4 3ffef620
3fff0620:  3fffdad0 00000000 3ffef618 402043b0
3fff0630:  3fffdad0 00000000 3ffef618 40201518
3fff0640:  feefeffe feefeffe 3ffef630 40202610
<<<stack<<<

On Wireshark

"No.","dTime","Source","Destination","Protocol","Length","Info"
"12","0.000000000","192.168.1.4","192.168.1.5","TCP","70","11411  >  12537 [PSH, ACK] Seq=1 Ack=1 Win=29200 Len=16"
"67","4.953325587","192.168.1.5","192.168.1.4","TCP","58","20458  >  11411 [SYN] Seq=0 Win=5840 Len=0 MSS=1460"
"68","0.000063971","192.168.1.4","192.168.1.5","TCP","58","11411  >  20458 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1460"
"69","0.002769226","192.168.1.5","192.168.1.4","TCP","54","20458  >  11411 [ACK] Seq=1 Ack=1 Win=5840 Len=0"
"70","1.715842547","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  12537 [PSH, ACK] Seq=1 Ack=1 Win=29200 Len=16"
"71","0.003213314","192.168.1.5","192.168.1.4","TCP","54","12537  >  11411 [RST, ACK] Seq=1 Ack=17 Win=5840 Len=0"
"74","2.105902690","192.168.1.4","192.168.1.5","TCP","62","11411  >  20458 [PSH, ACK] Seq=1 Ack=1 Win=29200 Len=8"
"75","0.160145716","192.168.1.5","192.168.1.4","TCP","54","20458  >  11411 [ACK] Seq=1 Ack=9 Win=5832 Len=0"
"76","0.016768009","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=1 Ack=9 Win=5832 Len=1"
"77","0.000031492","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=2 Win=29200 Len=0"
"78","0.002006589","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=2 Ack=9 Win=5832 Len=1"
"79","0.000045126","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=3 Win=29200 Len=0"
"80","0.004521424","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=3 Ack=9 Win=5832 Len=1"
"81","0.000053878","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=4 Win=29200 Len=0"
"82","0.001765268","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=4 Ack=9 Win=5832 Len=1"
"83","0.000051152","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=5 Win=29200 Len=0"
"84","0.001820491","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=5 Ack=9 Win=5832 Len=1"
"85","0.000057232","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=6 Win=29200 Len=0"
"86","0.001755244","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=6 Ack=9 Win=5832 Len=1"
"87","0.000054622","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=7 Win=29200 Len=0"
"88","0.001814952","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=7 Ack=9 Win=5832 Len=1"
"89","0.000052916","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=8 Win=29200 Len=0"
"90","0.001716363","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=8 Ack=9 Win=5832 Len=1"
"91","0.000054600","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=9 Win=29200 Len=0"
"92","0.001801711","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=9 Ack=9 Win=5832 Len=1"
"93","0.000055512","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=10 Win=29200 Len=0"
"94","0.002660727","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=10 Ack=9 Win=5832 Len=1"
"95","0.000050897","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=11 Win=29200 Len=0"
"96","0.002062846","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=11 Ack=9 Win=5832 Len=1"
"97","0.000048712","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=12 Win=29200 Len=0"
"98","0.002034003","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=12 Ack=9 Win=5832 Len=1"
"99","0.000049223","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=13 Win=29200 Len=0"
"100","0.001781780","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=13 Ack=9 Win=5832 Len=1"
"101","0.000060632","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=14 Win=29200 Len=0"
"102","0.001886663","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=14 Ack=9 Win=5832 Len=1"
"103","0.000063788","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=15 Win=29200 Len=0"
"104","0.001799169","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=15 Ack=9 Win=5832 Len=1"
"105","0.000054328","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=16 Win=29200 Len=0"
"106","0.001918051","192.168.1.5","192.168.1.4","TCP","55","20458  >  11411 [PSH, ACK] Seq=16 Ack=9 Win=5832 Len=1"
"107","0.000054095","192.168.1.4","192.168.1.5","TCP","54","11411  >  20458 [ACK] Seq=9 Ack=17 Win=29200 Len=0"
"108","0.000155631","192.168.1.4","192.168.1.5","TCP","70","11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"109","0.221617392","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"113","0.447994540","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"119","0.896060984","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"133","1.795927560","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"192","3.592229708","192.168.1.4","192.168.1.5","TCP","70","[TCP Retransmission] 11411  >  20458 [PSH, ACK] Seq=9 Ack=17 Win=29200 Len=16"
"200","3.085579866","192.168.1.4","192.168.1.5","TCP","62","11411  >  20458 [FIN, PSH, ACK] Seq=25 Ack=17 Win=29200 Len=8"
"212","4.106211379","192.168.1.4","192.168.1.5","TCP","78","[TCP Retransmission] 11411  >  20458 [FIN, PSH, ACK] Seq=9 Ack=17 Win=29200 Len=24"
"281","14.368005899","192.168.1.4","192.168.1.5","TCP","78","[TCP Retransmission] 11411  >  20458 [FIN, PSH, ACK] Seq=9 Ack=17 Win=29200 Len=24"
agnunez commented 7 years ago

Hi, we got problems like this with some "abused" ESP8266 (reprogrammed many times). As the applications, number of timer and enconder interrupts are very demanding, the WiFi stack lose time slots and fail starting retransmission that degenerate and crash the MCU. Please, just program a fresh ESP8266 with exactly the same code to check that is not this issue. If you want to keep current ESP8266, relax the loop interval and timer interrupt delay, to allow WiFi stack to recover.

@agnunez