ChargePoint / wireshark-v2g

Dissector for the V2G Protocols
Other
43 stars 18 forks source link

DIN70121 PCAP not decoding properly. All messages appear as "Handshake". #36

Closed Andgun98 closed 1 year ago

Andgun98 commented 1 year ago

Untitled This is a successful charge session using DIN70121 but the PCAP is not decoded properly. It seems like the trace always must be started before the charging session is started, if not all data will appear as "Handshake". As charging sessions usually contain lots of data it would be nice to be able to trace small parts of the session and still be able to decode the data.

jhart-cpi commented 1 year ago

What you're seeing here is a fundamental sequence issue with decoding EXI packets in V2G. The dissector must see the handshake exchange in order to determine which EXI grammars were chosen to communicate. EXI is schema informed in V2G, so the dissector must know which grammar is being used just as an EVSE and EV must. In other words, the entire handshake sequence must be seen in order to know what EXI grammar (DIN, 15118-2) we're decoding.

The code will likely need changes to support pcaps where no handshake is present but the schema is known in advance.

chardin-cpi commented 1 year ago

This should give a way to force DIN or other EXI decoders.

https://github.com/ChargePoint/wireshark-v2g/pull/39

There might be a better way to do it later - but for now, that should suffice.

chardin-cpi commented 1 year ago

@Andgun98 - we tried this internally with the prefs and got some better results so please try https://github.com/ChargePoint/wireshark-v2g/releases/tag/v0.6.0 and let us know if the prefs workaround is ok for now.

Andgun98 commented 1 year ago

@chardin-cpi I have now tested this preferences workaround on a couple different partial DIN traces and it seems to work quite well!

protocol_preferences

Thanks!