jacobschaer / python-doipclient

Pure Python ISO 13400 Client
MIT License
151 stars 50 forks source link

Vehicle Identification Request over TCP #3

Closed s0kr4t3s closed 3 years ago

s0kr4t3s commented 3 years ago

Hey,

is there a reason, why the following payload types use a TCP socket for communication with the server entity, since ISO13400 recommends an UDP socket?

class DoIPClient:
...
    def request_vehicle_identification(self, eid=None, vin=None)...
    def request_diagnostic_power_mode(self)...
    def request_entity_status(self)...

Thanks!

jacobschaer commented 3 years ago

I'd have to look again at the spec. I don't have access to an ECU at the moment that utilizes these, so all that's tested is the unit tests for packing/unpacking the buffers. If you have access to an ECU that uses them and can test we can change. Looking at a commercial implementation does seem to have those services on the UDP socket.

jacobschaer commented 3 years ago

@s0kr4t3s Try the udp_messages branch: https://github.com/jacobschaer/python-doipclient/tree/udp_messages

I haven't updated the unit tests, but it looked good on wireshark for entity status at least.

jacobschaer commented 3 years ago

Resolved in master and published to pypi