Sniffing the CAN-BUS with the SuperSniffer Software v1.xx

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby Bimbo » Thu Oct 20, 2016 10:22 am

Hi Martin!

I'm glad talk with You!
And yes, this problem happens every time when i start the program and connect to Arduino board. In Terminal software messages comes in correct format. I'm not totally sure about Volvo CAN messages format. I will try today set up fresh WinXp on my laptop and try read messages from car.
I will try decoding DIM module (Speedometer) CAN messages.

I will give You later info what happens on WinXP.

P.S. - One more thing... When i try save to text file Messages from one ID i can see in this text file only one message but not all messages with this ID.

Have a nice day!
Bimbo
 
Posts: 4
Joined: Tue Sep 13, 2016 10:54 am

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby Bimbo » Fri Oct 21, 2016 5:26 am

MartinViljoen wrote:Hi Bimbo.

I'm not sure what's happening, but its not supposed to happen the screen in your screenshot, should only contain messages from the same ID.
It looks like a bug.

Is it doing it all the time ?


Hi Martin!

I check whats happen on WinXP (i use another laptop too)... Same result as on Windows 7 64bit.
I see messages with diferent ID's in list as i describe before. I use CAN-Buss sniffer ver.1.08.

At this moment i don't have any idea why this happen.

Do You have any idea?

Have a nice day!
Bimbo
 
Posts: 4
Joined: Tue Sep 13, 2016 10:54 am

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby MartinViljoen » Fri Oct 21, 2016 4:34 pm

Bimbo wrote:
MartinViljoen wrote:Hi Bimbo.

I'm not sure what's happening, but its not supposed to happen the screen in your screenshot, should only contain messages from the same ID.
It looks like a bug.

Is it doing it all the time ?


Hi Martin!

I check whats happen on WinXP (i use another laptop too)... Same result as on Windows 7 64bit.
I see messages with diferent ID's in list as i describe before. I use CAN-Buss sniffer ver.1.08.

At this moment i don't have any idea why this happen.

Do You have any idea?

Have a nice day!


Hi Bimbo,

Looks like its the message length that's causing the issue, When I wrote the software i did it based on a 4 character message, your seems much longer. I will have to look at the code to see how I can help you.

If you can send me a screenshot of some messages from the Arduino serial monitor I should be able fix it.

cheers!
Martin
Image
User avatar
MartinViljoen
 
Posts: 110
Joined: Mon Oct 06, 2014 5:23 pm
Location: Centurion South Africa

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby Bimbo » Fri Oct 21, 2016 9:34 pm

MartinViljoen wrote:
Bimbo wrote:
MartinViljoen wrote:Hi Bimbo.

I'm not sure what's happening, but its not supposed to happen the screen in your screenshot, should only contain messages from the same ID.
It looks like a bug.

Is it doing it all the time ?


Hi Martin!

I check whats happen on WinXP (i use another laptop too)... Same result as on Windows 7 64bit.
I see messages with diferent ID's in list as i describe before. I use CAN-Buss sniffer ver.1.08.

At this moment i don't have any idea why this happen.

Do You have any idea?

Have a nice day!


Hi Bimbo,

Looks like its the message length that's causing the issue, When I wrote the software i did it based on a 4 character message, your seems much longer. I will have to look at the code to see how I can help you.

If you can send me a screenshot of some messages from the Arduino serial monitor I should be able fix it.

cheers!
Martin



Hi!

Thanks for fast answer!

Techtinker server don't allow me attach a .txt log file. I will post screen shoot.
If i can help you let me know.

P.S. - This log is edited for better view. On COM port info comes in right format (comas and <, >)
You do not have the required permissions to view the files attached to this post.
Bimbo
 
Posts: 4
Joined: Tue Sep 13, 2016 10:54 am

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby italianbub » Wed Jan 04, 2017 3:54 am

Hey Martin, (or anyone with knowledge in this), I am in need of some help. I'm working with a Nissan 2008 350z. I have no experience in this sort of thing but so far I've got the Arduino UNO R3 and Seeed CAN-Bus Shield and the SuperSniffer it's all working great! I can see all the CAN-Bus messages and I believe I have the messages needed to make the headlights turn on, I just have no idea how to write the code to send into the system. The example for sending, I don't understand how to implement the ID and message into the coding. It takes 2 strans from 2 ID's to make it function on and off. I still have to build some kind of trigger for the Arduino/CAN Shield but baby steps, just trying to make sure I fully understand the CAN-Bus first and control it via Laptop

Thanks in advance!
italianbub
 
Posts: 1
Joined: Fri Dec 30, 2016 12:24 am
Location: Clermont, Florida, USA

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby parrafin23 » Thu Jan 05, 2017 8:49 pm

I'm glad to see that its not just me that are in need of guidance. I have a small setup here with Arduino and can-bus shield v1.2 from elecfreaks, I copied and pasted the sketch from the sniffer tool and changed the cs pin. Adjusted the com speed and all the data comes in like a charm in putty and in the sniffer.

I have connected the shield directly to an Ipac (instrument Cluster) from a 2007 Lr3. I found the Can H and Can L for the Highspeed bus (500Kbs) it uses the extended 29bit protocol, applied 2x grounds on 2 terminals and 1x 12v to power and 1x 12v to ign and the ipac came to life and loads of data is transmitted. It doesnt matter if i set the can resistor to on of off. i get data anyway

I know that the Ipac sends the stored VIN over this bus. I know that there is a ccf (Car configuration File) stored in the ipack and the milage. I have diagnostic tool that can modify all the values that are changeable in this ccf. etc, if you have Halogen or xenon headlamps or crnering lamps, adaptive cornering lamps and so on.....

I have a Cjb/Bcu, the thing that controls windows, door locking, washers and wipers and interior light ++++ from the same model year, but not from the same vehicle. I havent connected connected it to the network yet, but perhaps I should some day.. Even better, i could just go outside and connect it to my Lr3 and see what messages I get.

I see that i can use Send Buffer, but Im not sure what that do, looking at the received list of ids and can messages.

I have 13 entries here, I have Can ID 600 with Can message 1536,1,189,0,0,0,0,0,0, message count 1. This might be the rpm, or speedo, or temp gauge or fuel level. I dont know, or it can be some info to or from the lcd panel. How can i or what can I do to figure out / try so get my dails moving? How to send bus messages with the 1.08 version of the sniffer?

Mr.P
parrafin23
 
Posts: 2
Joined: Sun May 22, 2016 1:57 pm

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby MartinViljoen » Fri Jan 06, 2017 9:47 pm

Hey there!

Thanks for posting your findings!
The send button as far as I remember does nothing, my intention was to be able to enable the sniffer tool to also send data. so when you find something that attract your attention you can send it right there and then instead of disconnecting the software to use a different tool.

I'm first to admit the sniffer tool isn't perfect. Its not fully in control when receiving data, sometimes data fly past when it tries to process the messages.
But for the most part of it it works.

Regarding figuring out what messages means what, I'm afraid , that's part of the reverse engineering process and why I created the tool. Its easy to detect messages when pressing buttons, but the RPM would be a bit more difficult unless you are willing to rev the engine to see if you get changing messages.

Some people disconnect a node from the bus when hook the arduino and can-bus shield to the disconnected node. Then start scanning for message, this way it will not be flooded with a gazillion messages. I don't really want to take my Jeep apart to get the messages. :mrgreen:

The other thing you can do is to switch the vehicle on but dont start it.
Connect everything up, let it monitor for about for about 5 Mins, once you have built a list of messages that change all the time, eliminate them by removing them from the list.
Then start your vehicle and be on the lookout for new messages, the RPM as I said will be a tad bit difficult Engines arn't DC motors it would probably idle at different RPMS all the time causing the messages to change.

Hope this helps.

Good luck! Please report back if you find something!.

Also something that might be worth your time.
I noticed the original creator of the SEEED CAN-BUS shield linked their website to my instructable on the same page they have also created a tool yo scan the bus.
Check it out maybe its better than the one I made.

http://wiki.seeed.cc/CAN-BUS_Shield_V1.2/
Image
User avatar
MartinViljoen
 
Posts: 110
Joined: Mon Oct 06, 2014 5:23 pm
Location: Centurion South Africa

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby parrafin23 » Sat Jan 07, 2017 1:58 pm

Thanx for the info.

I got another sketch working from another shield type than mine, modified it to use the library for my shield and it works perfectly for 29bit can messages.
I listened to the Ipac, this has a built in 120ohm's resistor and I enabled the resistor on the shield. I got this messages:

CAN Bus Shield Init - OK
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ID: 0x17d5fff0 LEN: 0x7 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ID: 0x17f5fff0 LEN: 0x3 DATA: 0x00 0x20 0x01 0x00 0x00 0x00 0x00 0x00
ID: 0x1f01ffff LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x3d 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x3d 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ID: 0x17d5fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x2d 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x00
ID: 0x17d5fff0 LEN: 0x3 DATA: 0x00 0x20 0x01 0x00 0x00 0x00 0x08 0x00
ID: 0x1f01ffff LEN: 0x7 DATA: 0x00 0x9c 0x8e 0x20 0x00 0x00 0x00 0x00
ID: 0x17f5fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x2d 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x2d 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x00
ID: 0x17d5fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x2e 0x00
ID: 0x17b1fff0 LEN: 0x8 DATA: 0x00 0x00 0x05 0x18 0x4c 0x00 0x2e 0x00

And here are some messages sent by the 4x4 All terrain control module:

CAN Bus Shield Init - OK
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93
ID: 0x17e012b0 LEN: 0x2 DATA: 0x00 0x10 0xcb 0xaf 0xee 0x7a 0x4e 0x93


The F0 part of the ID might be the source address, the FF might be destination. I guess FF is a broadcast address.

These modules where not connected to a car at scanning time. This is 29bit, 500kbs high speed canbus. I have an airbag module and a climate module somewhere from the same model. So I'm planing to sniff out those too. So when i connect it to the diagnostic port of the car, i can at least know and recognize some of the sources and destinations.

This is the sketch I used

/**********************************************
CanMessage Class Begin
**********************************************/
class CanMessage
{
public:
unsigned char data[8];
unsigned char len = 0;
long unsigned int id;

String toString()
{
String messageString = "ID: 0x";
messageString += String(id, HEX);
messageString += "\tLEN: 0x";
messageString += String(len, HEX);
messageString += "\tDATA: ";
for(int i = 0; i < 8; i++)
{
messageString += "0x";
if(data[i] < 0x10)
{
messageString += "0";
}
messageString += String(data[i], HEX);
messageString += " ";
}
return messageString;
}
};
/**********************************************
CanMessage Class End
**********************************************/

#include <mcp_can.h> //This is your library you have to put here
const int canPin = 10;
MCP_CAN CAN0(canPin); //CS PIN 10

void setup()
{
Serial.begin(115200);
//initializing canbus shield for high speed bus
if(CAN0.begin(CAN_500KBPS) == CAN_OK)
{
Serial.println("CAN Bus Shield Init - OK");
}
else
{
Serial.println("CAN Bus Shield Init - OK");
}
delay(1000);
}

void loop()
{
CanMessage message;

message.id = CAN0.getCanId();
CAN0.readMsgBuf(&message.len, message.data);
if(message.id != 0 && message.len != 0)
{
Serial.println(message.toString());
}

}


I hope this do work for others with 29bit can bus vehicles..

Mr.P
parrafin23
 
Posts: 2
Joined: Sun May 22, 2016 1:57 pm

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby JacquesJNel » Mon Jan 09, 2017 12:35 pm

Howzit Martin.

I have a very interesting project I am working on and reading through this forum I can tell you would be interested in said project.

I was wondering if I can dig in your head to help me figure out how to successfully complete the project I am currently working on?.
Also what would the best way of communication be, would you prefer e-mailing or should I start a new topic and we can converse that way?

A brief overview of what I am trying to accomplish:
I have some modern elevator display units that I want to control using relay switching.
The goal here is to use relay switching to send a signal (aka voltage) to the arduino, the arduino uses this signal as an input and then in turn sends a specific CAN BUS signal to the said elevator display.

This is where the tricky part comes in. I have no idea what signals to send and even how to send or read the said signals. I have done some research and I think by using this trick of sniffing the Can bus I can get the said signals from an existing/working elevator.

In theory it all sounds like it should work out but I have very limited knowledge of electronics and especially coding (High Voltage Electrical Engineer) but I have always wanted to play with electronics so I guess now is as good a time as ever

Please let me know what you think and if you will be willing to assist me in this.
JacquesJNel
 
Posts: 10
Joined: Wed Dec 14, 2016 3:35 pm

Re: Sniffing the CAN-BUS with the SuperSniffer Software v1.x

Postby MartinViljoen » Mon Jan 09, 2017 4:33 pm

JacquesJNel wrote:Howzit Martin.

I have a very interesting project I am working on and reading through this forum I can tell you would be interested in said project.

I was wondering if I can dig in your head to help me figure out how to successfully complete the project I am currently working on?.
Also what would the best way of communication be, would you prefer e-mailing or should I start a new topic and we can converse that way?

A brief overview of what I am trying to accomplish:
I have some modern elevator display units that I want to control using relay switching.
The goal here is to use relay switching to send a signal (aka voltage) to the arduino, the arduino uses this signal as an input and then in turn sends a specific CAN BUS signal to the said elevator display.

This is where the tricky part comes in. I have no idea what signals to send and even how to send or read the said signals. I have done some research and I think by using this trick of sniffing the Can bus I can get the said signals from an existing/working elevator.

In theory it all sounds like it should work out but I have very limited knowledge of electronics and especially coding (High Voltage Electrical Engineer) but I have always wanted to play with electronics so I guess now is as good a time as ever

Please let me know what you think and if you will be willing to assist me in this.


Hi Jacques
Got your message, will respond with more detail a bit later! :mrgreen: (Sounds Interesting)
Image
User avatar
MartinViljoen
 
Posts: 110
Joined: Mon Oct 06, 2014 5:23 pm
Location: Centurion South Africa

PreviousNext

Return to OBD2 & CAN-BUS Projects

Who is online

Users browsing this forum: No registered users and 1 guest

cron