Civic Touring 2017 unable to read ODB2 messages

Hey folks. So ive got the photon talking SLCAN over to my linux PC using slcand and it SEEMS to work (I get data using candump/cansniffer). What im trying to do is to make sure its actually communicating over CAN so im trying to do something super simple like query the ODB2 for engine RPM. I seem to never get a response to this message. Im tried using cansend/cansniffer over SLCAN and thinking that maybe something is wrong with the SLCAN implementation also tried to have code run directly on the photon looking for ODB2 replies over an id of 0x700.

Im stumped since I get nothing.

What im trying to send with cansend is: cansend can0 7df#02010c0000000000 - I do see 7df in cansniffer but no replies whatsoever (ID over 0x700)

I’ve also tried a custom application: carloop-obd-publisher/application.cpp at master · frk2/carloop-obd-publisher · GitHub

Also no replies. I can see other can messages just fine. Im guessing im missing something basic here - what am I doing wrong?

Thanks!

So - everything works fine and as expected on my 2015 Toyota 4Runner. So something specific with the honda. Any ideas?

Also noob question: Is there some sort of CRC/Md5 checks on the data thats received via CAN? Just wondering if the data I see on the civic is legit real CAN or is it possible im just looking at garbage?

Thanks!

@frk1206,

Yes, there are CRC checks on the CAN message data. However, that is transparent to you as it is taken care of by the STM chip on your Photon. The STM chip has built-in CAN messaging support.

So, when everything works on the 2015 Toyota but not on the 2017 Honda, my first assumption is that the Honda may use CAN extended format. See Wikipedia here for a description:

Others have dealt with this, so a quick search of this forum should turn up what you are looking for.

@frk1206 I suspect you might be querying the wrong baud rate. When you setup your slcan daemon on linux have you tried different baud rates?

e.g.
slcand -o -c -s5 /dev/ttyACM0 can0 - 250 kbps
slcand -o -c -s4 /dev/ttyACM0 can0 - 125 kbps

Full list:
Here’s a list of the CAN bus speed parameters that can be passed to slcand:

  • -s0 10 kbit/s
  • -s1 20 kbit/s
  • -s2 50 kbit/s
  • -s3 100 kbit/s
  • -s4 125 kbit/s
  • -s5 250 kbit/s
  • -s6 500 kbit/s
  • -s7 800 kbit/s
  • -s8 1 Mbit/s

The extended / non-extended IDs should still come through. See this thread: Handling 29-Bit (Extended) Format - Getting Started - Carloop Community

@cyclin_al1 This looks promising will try it out soon!

@alanm I do get canbus data - but only at 500kbit/s - switching to any other baud rate I get no can messages.

I suspect the civic is expecting 29-bit ODB2 query/broadcast messages and replying similarly. Will test that out tomorrow!

@frk1206 cool! Actually, I remembered someone else had a similar issue with Hondas and sending 7DF for sure will NOT work. You need to send 0x18DB33F1 - see this thread: Handling 29-Bit (Extended) Format - Getting Started - Carloop Community

Ah ha, that was the thread I was trying to think of; it is not easy at 1am local time.
Thanks @alanm for finding this for @frk1206.