I am also facing a similar issue, and need a little help. I am confused by the re transmission of an earlier packet by the ecu.
08:28:04.495 - Erasing Flash: 0x020000 - 0x07FFFF
08:28:04.497 - 1.5556 07 40 25 00 0E 31 C4 02 00 00 -- start routine (erase flash)
08:28:04.500 - 1.5583 07 40 26 07 FF FF 00 01 02 03
08:28:04.503 - 1.5607 07 40 17 04 05
08:28:04.505 - 1.5635 03 00 B8
08:28:04.954 - 2.0114 03 00 14 80 03 7F 31 78 -- start routine (neg response, request pending)
08:28:04.963 - 2.0210 07 40 B5
08:28:05.054 - 2.1119 03 00 15 00 03 71 C4 05 -- start routine positive response (0x05?)
08:28:05.059 - 2.1173 07 40 B6
08:28:06.566 - 3.6239 07 40 18 00 02 33 C4 -- request routine results - no response from server
08:28:08.273 - 5.3303 07 40 19 00 02 33 C4 -- request routine results - no response from server
08:28:10.272 - 7.3303 07 40 1A 00 02 33 C4 -- request routine results - no response from server
08:28:10.708 - 7.7657 03 00 98 -- ack, not ready for next packet
08:28:10.844 - 7.9008 07 40 1A 00 02 33 C4 -- request routine results
08:28:10.854 - 7.9123 03 00 15 00 03 71 C4 05 -- start routine positive response (0x05?) same response as above @ 2.1119 this confuses me
08:28:10.870 - 7.9278 07 40 B6
08:28:10.900 - System.Exception: Unable to request routine C4 result -- code crash
What's up with the second start routine positive response, and how can I handle it?