Hi folks,

Sorry to bother the group, but perhaps someone can give me a kind nudge in the right direction, so I can stop spinning my wheels.  I'm trying to decode the communication between a car's OBD-II port, and the various telemetry dongles that plug into it.  My short term mission is to create a Raspberry Pi-based simulator for the OBD-II port, enough to keep a Wi-Fi Hot Spot dongle content that it's plugged into something active and not go to sleep after 5 minutes (turning off the Wi-Fi).  My Tesla Roadster's OBD-II port doesn't provide such, making the dongle somewhat less than useful.  Long term goal is to contribute code to the next OVMS project so that cars like my Roadster can make use of the various OBD-II tracking, telemetry, and Wi-Fi dongles that are on the market.

I currently have a Raspberry Pi with a PiCAN-2 board on top, lashed to either an OBDwiz module or a T-Mobile "SyncUp Drive" Wi-Fi hotspot.  Wireshark running on the Pi captures the initial messages that the modules transmit (500kbps assumed).  I need to find a table of what these messages translate to, so I can create a small program to provide suitable answers.

I am expecting that the initial requests are for basic information, such as make/model or VIN, and some general status, such as engine RPM or vehicle speed.  All I can find online are tables that talk about the very low level stuff of the CAN bus itself, or the high level "check engine" diagnostic codes that apparently occur later on after these initial interactions have completed.  Missing is this initial "connect" handshake that I assume I need to get through first.

I understand that a lot of the CAN messages are vehicle-specific, but upon initial power-up, the dongles have no clue what they are plugged into, so the initial messages must be pretty generic, if not standardized.  Both the OBDwiz and SyncUp, in fact, appear to send several packets in common, yet no such decoding information can be found that matches what I am seeing.  Can someone give me a pointer to where to look?  Or, perhaps am I just not understanding how to apply (mask) the bits that I am getting for use with the published PID tables?

To simplify the capture, I've just looked at the dongle's initial queries, without hooking it to a live car with all the responses cluttering things up.  (I do have an ICE available for that, if needed.)  Below are the first few packets captured from the T-Mobile dongle.  You can see that the messages are repeated, presumably waiting for something specific in reply.  Where can I find a table of what it's asking for?

I suppose I could just drive around the block in the ICE and then play back what I recorded.  That would satisfy my short-term goal.  But eventually I will need to understand the messaging in detail, so I'd rather start there now if I can.

Thanks for any pointers you can give me,

Greg