Wanted: SavvyCAN HowTo

Yes but the docs on the macchina website do not show you how to install M2RET.

hey @kobyanthony - we’ll work on this and add it to the docs.

In the mean-time, Step 1: if you only want to use M2RET/SavvyCan, Collin was kind enough to create a script to flash M2 without compiling anything. Here is a link to that:

http://savvycan.com/M2RET_Flash.zip

You may need to install drivers for this to work. If you install the Arduino IDE, those drivers will come along with it.

Step 2: From there, install SavvyCan from one of the 4 links from http://savvycan.com/ below this heading:

Links to all of the binary versions (Updated Nov 09 2017 - Version 180)

Let us know if you get stuck.

2 posts were split to a new topic: How do I install an under-the-dash M2 under-the-hood?

Hi @josh,

I have tried the links you provided:

http://savvycan.com/

But it seems that I can flash the firmware into m2:

for file in /dev/tty.usbmodem*
do
 stty -f $file 1200 cs8 cread clocal
done
./bossac -e -w -v -b M2RET.ino.bin


Device found on cu.usbmodem1411
Erase flash
Write 90936 bytes to flash
[==============================] 100% (356/356 pages)
Verify 90936 bytes of flash
[==============================] 100% (356/356 pages)
Verify successful
Set boot flash true

But I’ve tried to plug m2 into the ODBII under the dash, there isn’t any data send through. I’ve looked at the arduino serial monitor already, no data flow through at all. Maybe I did something wrong or is a faulty board :frowning:

update

Just got some data from the board,

But still, when I tried to connect it to my car, nothing else is showing up except the data in the device console.

You’ll have to tell us what car you are trying this on. Unfortunately, it is becoming more common on newer vehicles for them to segment the OBDII port out onto it’s own bus such that you get no traffic on it unless you send a request to the ECU for info. Then it’ll send the reply back and that’s it. The OBDII port can be very quiet on some vehicles.

Oh, maybe that is the reason why.

My car is Subaru impreza 2017.

For the request to the ECU, is that a standardized request or it is a manufacture custom request?

Well, kind of both. There is a standard - OBDII PID codes over CAN. But, manufacturers are free to color outside the lines quite a bit. They can add all sorts of custom requests and then require huge sums of money to tell people what they are. Obviously, open source developers don’t have that kind of money and can’t sign an NDA to not release the codes so we’re stuck with what people have figured out on their own and the standard codes. You could try the UDS scanner window in SavvyCAN to see if any ECUs respond on the normal IDs of 0x7E0 to 0x7E7.

Cool, I will try to test that on the car tonight after work. Thank you for the info sir.

Hi Collin,

I have the same issue, nothing is shown I tested it on a Mercedes GLE350 from 2016 and a Mitsubishi Truck. Nothing is shown in the window. The cheap dongles from ebay all show data on both vehicles tested only the M2 with Savvycan shows connected but no data coming through. I did the UDS scanner and there is no reply from any device on the vehicle. Also in the Arduino monitor mode I do not see traffic coming from the vehicle.
Device console shows data as shown by kiddkai.

Can you help on that?

Thanks
Michael

Did you install the M2ret software onto your M2?

I was able to download and compile SavvyCAN on mint 18.3 and I’m still a bit new to Linux
I followed this guide to install Qt https://wiki.qt.io/Install_Qt_5_on_Ubuntu
Change wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run
to : wget http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

yes I did, since the M2RET is installed it gets connected in the connection screen. But no data in the main screen. The off the shelf dongles received data easily. I need to check the pin connections if the match with the OBD2 port on my Mercedes GLE, maybe that is the problem.

If your cheap dongles are working then it is likely a software configuration issue with your system. The ports should line up the same as those cheap dongles do. While SavvyCAN and M2RET only work with canbus this shouldn’t be an issue.

Try grabbing the November Firmware and SavvyCAN version from http://www.savvycan.com/ and use those. If you still have issues Collin will have to help you out as he wrote both. The firmware there I know works as I have used it on my vehicle.

Hi redheadedrod,
I had M2RET already on the M2. Now I checked it on a Mercedes C-class, there the data are coming without any problem. So the device is working well. That nothing is coming on my GLE must be another problem. The documentation from the dealer says that the pins for CAN high and low are the same as other devices. It could be then only the protocol or the CAN speed. But I have no clue in which direction I should search now.
Any idea to help me out?

Regards
Michael

Hi CollinK,

I have an issue with the Savvycan, on my Mercedes GLE 350 Diesel. On the C-Class I can read out all data, Savvycan does a good job there. ON the GLE nothing is coming through. The pins I checked they are standard and the Chinese cheap dongles are working. I suspect it is with the protocol or the CAN Bus speed, but I tried different speed already and were not successful.
Any idea what I could do?

Your help would be appreciated.

Regards
Michael

Others have had similar issues due to the vehicle having a simple security system engaged. Basically you may have to tie into the databus somewhere else within the car in order to “sniff” data passively.

What others have mentioned is some newer vehicles do a better job of isolating the diagnostic port. It still works for diagnostics but doesn’t have a steady stream of data. It only responds with data as requested.

So to use the M2, or any other sniffing tool, you either have to tap into the “unprotected” active bus or figure out the codes you have to use to go through the diagnostic connector. If you can get a factory schematic of the databus layout you can see the best location to tap into.

As the companies get up to speed on vehicle security it should become harder and harder to “sniff the bus”.

On the chinese dongle what are you doing? Using something like Torque on Android where it connects to the OBDII adapter and reads things like RPM and engine temperature? The reason I ask relates very closely to what RedheadedRod is talking about. You see, on newer vehicles (particularly European vehicles) the auto designers have segmented the OBDII port away from the normal CAN traffic in the car. You just plain can’t see it anymore. Instead the OBDII port runs on a separate bus straight to the ECU. You can still query the ECU for info. If you ask it for engine temperature or RPM or the current vehicle speed it’ll respond back. But it might not send anything unless you ask. The cheap chinese adapters are specifically meant to ask. M2RET does not ask anything by default, it just listens. On the forum here I posted an Android sketch that acts must more like the chinese adapters where it will connect and try to ask for various info. But, it might still fail for you since nothing is being sent until you ask and that sketch tries to automatically determine the speed which won’t work if there is no traffic. But, that sketch defaults to 500k speed if there wasn’t any traffic so it still ought to work. If you get a response from that sketch then your problem is that the car has a segmented away diagnostics bus with no traffic to sniff.

Thanks for the good explanation, it looks like the CAN is protected in my case in the GLE vehicles. The Chinese adapter I just bought to see if there is a mistake by me using the M2. But it sounds logic to me that the Chinese stuff is asking the ECU and the M2 just waits that something passes by. That is why on the C-Class I could sniff something and on the GLE not as well I tried yesterday the GLA from Mercedes and there also was nothing found on the CAN it looks the GL-Series is protected. I will try with other cars to so what is going on there. Thanks a lot.

Hi CollinK is possible to know the address of your sketch? Thanks

The best version that exists right now:

https://github.com/sergiomiracco/OBD2Scan/tree/dev