<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Didier,<br>
    <br>
    welcome :-)<br>
    <br>
    <div class="moz-cite-prefix">Am 31.12.20 um 00:52 schrieb
      <a class="moz-txt-link-abbreviated" href="mailto:didier@ernotte.com">didier@ernotte.com</a>:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1448506789.5872580.1609372377146@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
        Helvetica, Arial, sans-serif;font-size:16px;">
        <div dir="ltr" data-setdir="false">Hi,</div>
        <div dir="ltr" data-setdir="false"><br>
        </div>
        <div dir="ltr" data-setdir="false">I am new here, just received
          my OVMS device, and started to play with it.</div>
        <div dir="ltr" data-setdir="false">I have a couple of questions
          :<br>
        </div>
        <div dir="ltr" data-setdir="false">1) Is there anyone around
          that has started the integration with the Jaguar IPace ? or
          any JLR products ?<br>
        </div>
      </div>
    </blockquote>
    <br>
    None that I know of.<br>
    <br>
    <blockquote type="cite"
      cite="mid:1448506789.5872580.1609372377146@mail.yahoo.com">
      <div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
        Helvetica, Arial, sans-serif;font-size:16px;">
        <div dir="ltr" data-setdir="false">2) I can see that there is
          multiple CAN bus on the plug (can1, can2, can3). Does the car
          use the 3 of them, only one, or a mix and we have to listen to
          all of them ?</div>
      </div>
    </blockquote>
    <br>
    Please read:
    <a class="moz-txt-link-freetext" href="https://docs.openvehicles.com/en/latest/crtd/can_logging.html">https://docs.openvehicles.com/en/latest/crtd/can_logging.html</a><br>
    <br>
    The OBD2 port has only one standard CAN bus (on pins 6+14) which is
    connected as can1. Manufacturer specific additional buses may be
    present in your car, it depends on their purposes and your goals if
    you need to use them.<br>
    <br>
    The standard OVMS OBD2 cable connects can2 additionally to pins
    12+13, which are used by many manufacturers for a secondary CAN bus.
    If you need the third CAN bus as well, you'll need to use the DA26
    connector.<br>
    <br>
    If you need to connect to the K-Line or need a fourth CAN bus,
    you'll need to add the K-Line or SWCAN extension boards.<br>
    <br>
    <blockquote type="cite"
      cite="mid:1448506789.5872580.1609372377146@mail.yahoo.com">
      <div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
        Helvetica, Arial, sans-serif;font-size:16px;">
        <div dir="ltr" data-setdir="false">3) Is there a detailed
          step-by-step process to start investigating the data on the
          bus ? I just plug the cable and expected to see "something" in
          the RE console, in "discover" mode, out of the box, without
          results. No a good start... :-(</div>
      </div>
    </blockquote>
    <br>
    Sorry, we don't have a reverse engineering guide yet. It's on the
    list…<br>
    <br>
    If you don't know anything about the car, you'll first need to find
    the right CAN bus and baud rate to access the vehicle (see above).<br>
    <br>
    Be aware there may be no regular transmissions on the buses you can
    access via the OBD port, so simply listening may not be enough.<br>
    <br>
    If you can see frames on some buses, using the RE tool is an option.
    Another is to stream the packets to SavvyCAN for analysis. Both will
    help you to identify related bits & bytes. Next step is then to
    find out which metrics and indicators can be read from the frames.
    Standard procedure is to record changes you see on the bus from
    actions you do with the car, and to correlate changes you see in the
    car's displays to those on the bus. Then you need to decode the
    values, i.e. how to convert the raw values into their respective
    readings.<br>
    <br>
    Next step is checking for OBD2 or CANopen devices on the bus(es).
    These devices need to be queried actively, so you need to send
    requests on the bus.<br>
    <br>
    For CANopen, read:
<a class="moz-txt-link-freetext" href="https://docs.openvehicles.com/en/latest/components/canopen/docs/Howto-detect-CANopen-nodes.html">https://docs.openvehicles.com/en/latest/components/canopen/docs/Howto-detect-CANopen-nodes.html</a><br>
    <br>
    We don't have a similar guide for OBD2 yet. Begin by some simple
    standard broadcasts to see if you get any reaction, for example "<font
      face="monospace">obdii can1 request broadcast 0100</font>" asks
    all broadcast listeners to tell which of the service 01 PIDs in the
    range 01…20 they support. The responses should give you a hint about
    the device addresses, so you can investigate specifically.<br>
    <br>
    Most OBD2 devices won't respond to broadcasts though. To identify
    them, you need to send a test request to all CAN IDs in your assumed
    ID range. The scan tools for this are below "<font face="monospace">re
      obdii scan</font>":<br>
    <br>
    <font face="monospace">OVMS# re obdii scan start ?<br>
      Usage: re obdii scan start <bus> <ecu>
      <start_pid> <end_pid> [-r<rxid>[-<rxid>]]
      [-t<poll_type>] [-x<timeout>]<br>
      Give all values except bus and timeout hexadecimal. Options can be
      positioned anywhere.<br>
      Default <rxid> is <ecu>+8, try 0-7ff if you don't know
      the responding ID.<br>
      Default <poll_type> is 22 (ReadDataByIdentifier, 16 bit
      PID).<br>
      Default <timeout> is 3 seconds.</font><br>
    <br>
    Most newer vehicles will support reading 16 bit PIDs by poll type
    22. If you're lucky, poll type 24 is supported and gives you info on
    how to translate the raw values.<br>
    <br>
    If not you once again need to monitor the response data, correlate
    changes to car data updates and actions and find out how to convert
    the values.<br>
    <br>
    Be aware you may need to activate a diagnostic session with a device
    before actually be able to read data from it. Diagnostic sessions
    need to be kept alive by either sending the session control request
    once per minute or activating the "tester present" signal ("<font
      face="monospace">re obdii tester</font>"). Once again, you need to
    find out which session mode you need for a device. You can tell if
    the device supports a session mode by it's response.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:1448506789.5872580.1609372377146@mail.yahoo.com">
      <div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
        Helvetica, Arial, sans-serif;font-size:16px;">
        <div dir="ltr" data-setdir="false">Didier<br>
        </div>
      </div>
    </blockquote>
    <br>
    You'll find more info on CAN reverse engineering and OBD hacking on
    the web. A good starting point is SavvyCAN.<br>
    <br>
    You'll also find more on all of this by browsing the list archives:
    <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/pipermail/ovmsdev/">http://lists.openvehicles.com/pipermail/ovmsdev/</a><br>
    <br>
    The MG ZS EV team can most probably give you some more valuable
    hints, as they just recently decoded "their" vehicle.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>