# Thread: GMLAN SW-CAN Message woes

1. Yeah that's me.. canbushack.com

Of course I've been to busy for updates.. and i'm out of good ideas..

2. Originally Posted by chewwtoy
Yeah that's me.. canbushack.com

Of course I've been to busy for updates.. and i'm out of good ideas..
I know a good idea... dump everything you have on GMLAN in a post :P. i just got back into hacking on my car. Trying to figure out now if velocity, rpm and maf are available on the SW CAN. this guy makes a bunch of claims about a bunch of information... but a lot of it doesn't make sense --especially what he claims about speed and rpms.

3. ## SWCAN Speed messages

I have notes for two different speed readings on SWCAN:

Average Speed (if available). Transmitted at least 1/second by the BCM
10 05 00 40
bits 17-31
Divide result by 64 to get to KPH.

Navigation speed (OnStar), Transmitted exactly 1/second
10 0A C0 97
bits 32-39
in KPH, no conversion necessary.

Note that on each network, certain things can change:
1. The address of each node. My Onstar is 97 but yours could be 98.
2. The priority at which messages are sent.

So the headers shown above are what I see in my car, but your packet may differ in its source node address or priority. Study the packet breakdown below to see where the priority, ID, and Source-node fields are located in a 29-bit packet.

Take for example this 29-bit SWCAN packet (Param ID 0x0F=Chime):
10 01 E0 60 82 08 01 FF D4

Break it down into binary and separate the bits to visualize the separation of the fields.

Priority=0x04, ParamID=0x0F (Chime via radio unit), source node 0x60.

000 100 0 0000 0000 1111 0 0000 0110 0000
| | | |
0| 4 |0 0 0 F |0 0 6 0

Again:

1 0 0 1 E 0 6 0
0001 0000 0000 0001 1110 0000 0110 0000
<4 > < 0 >< F > < 6 0 >

Originally Posted by tripzero
I know a good idea... dump everything you have on GMLAN in a post :P. i just got back into hacking on my car. Trying to figure out now if velocity, rpm and maf are available on the SW CAN. this guy makes a bunch of claims about a bunch of information... but a lot of it doesn't make sense --especially what he claims about speed and rpms.

4. ## Speed on the SWCAN

We're going open source. Once the source code is organized I'll post a link to GITHub. I'll include all of our notes and source code. Stay tuned.

5. Done. https://github.com/gtosoft/libvoyager

6. Originally Posted by K1GTo
Done. https://github.com/gtosoft/libvoyager
+1. Very cool .

Okay, I think I'm starting to understand how to get information from these messages. Your example was great help. Here's my own attempt at parsing by hand the onstar message from my bus:

From what I gather, 4 is the priority, 0x56 is my parameter ID (destination node?) and 0x97 is my source id. Then bits 32-39 tell me I'm going 1kph?

7. ## ID 0x56 = accuracy, heading, elevation...

You pretty much got it. 0x56 is a Parameter ID. If the ID falls within a certain range it can be targeted at a single node, but in this case it is a notice of intent (functional destination). "anybody interested in function 0x56, read the data of this packet". So the node and priority can differ between networks, but as long as a device on the network is listening for functional address 0x56 it will get this type of packet.

0x56 contains GPS data such as heading, elevation, and accuracy of the signal.

Just double checked (not sure how to get fixed width font on this forum):

1 0 0 A C 0 9 7
0001 0000 0000 1010 1100 0000 1001 0111

Break apart by CAN field - three throw-away bits, three priority bits, thirteen bits of CAN ID (
000 100 0000001010110 0000010010111
CAN Priority = 4 (100)
CAN ID = 0x56 (0000001010110)
Source node = 0x97 (0000010010111)

Originally Posted by tripzero
+1. Very cool .

Okay, I think I'm starting to understand how to get information from these messages. Your example was great help. Here's my own attempt at parsing by hand the onstar message from my bus:

From what I gather, 4 is the priority, 0x56 is my parameter ID (destination node?) and 0x97 is my source id. Then bits 32-39 tell me I'm going 1kph?

8. Hrmh. It's open source, but now what? Nobody's contributing =) Need to decide what direction to take this in. It would be nice to make it part of a larger project but everything I've seen so far is focused on watching movies and listening to mp3s.

I have some ideas for where to take this project, speak up if you like one of them

- Universal navigation package (like onstar, but for other cars too)
- Diagnostics - keep going with more data access, graphing, gauges, etc.
- Background service, lots trip related data - distance traveled, fuel used, average economy, stats.
- Distributed/community based network hacking, to accelerate speed of figuring out what's on the network for each different car. Users upload data and work on it in work-units, benefiting the community as a whole.

9. Originally Posted by tripzero
I know a good idea... dump everything you have on GMLAN in a post :P. i just got back into hacking on my car. Trying to figure out now if velocity, rpm and maf are available on the SW CAN. this guy makes a bunch of claims about a bunch of information... but a lot of it doesn't make sense --especially what he claims about speed and rpms.
That's a great idea, the problem is I know too much about it. It would all fit in this forum!

Besides that would take all the fun out of it.. right?

10. And one more thing...
It says Newbie on the left
<----------------

Huh? Are you crazy I've been at these forums since 2005! Don't make sense ..

Page 4 of 6 First 123456 Last

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•