6A1/6A2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
61 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

6A1/6A2

mcaldwelva
Has anyone been able to decipher what these messages mean? I noticed issues with my SID calculating mpg and this seems to be the source. What I noticed is that the mpg wasn't changing. I started clearing the SID every couple days and check the mpg periodically and find that it was always stuck at 00.0 or 99.9. I tried various changes to my 6a2 message and it seemed to have a direct affect on this behavior.

From the ecu project, these seem to be typical message sequences:

power-up
6A1 21 00 00 13 01 02 44 00
6A2 32 00 00 03 01 02 00 00
6A2 42 00 00 22 00 00 00 00
6A2 52 00 00 22 00 00 00 00
6A2 62 00 00 22 00 00 00 00

active (repeated every 2 seconds)
6A1 21 00 00 12 01 02 44 00
6A2 32 00 00 16 01 02 00 00
6A2 42 00 00 36 00 00 00 00
6A2 52 00 00 36 00 00 00 00
6A2 62 00 00 36 00 00 00 00

power-down 
6A1 21 00 00 18 01 00 00 00
6A2 32 00 00 18 01 00 00 00
6A2 42 00 00 38 00 00 00 00
6A2 52 00 00 38 00 00 00 00
6A2 62 00 00 38 00 00 00 00

The only thing I've been able to see from sniffing 6a1 is that data[3] isn't always 13, 12, 18.  I do always see {2,3,8} on the bottom half but I've seen {0,1,2,3} in the top half at various times. So I think just the bottom half is the power-on/active/power-off part of the message.

Based on that, I'm sending the first corresponding 6a2 message from above. Now with that change, when I reset my computer, it appears to calculate mpg correctly for a while, but it eventually gets stuck at other some other absurd number. Has anyone else seen any issues like this?
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Karlis
Administrator
We're in the same boat on this one. We're also seeing DTE and MPG values being messed up. Since there are only two messages we're replying with (3C8 and 6A2) I thought it might be 3C8, cause it essentially keeps saying that it is "playing 1st second of 1st minute of 1st track of 1st disc". Just a wild guess... It also might be 6A2, but I haven't been able to decipher it yet.
I believe a good test to verify that it's the 6A2 causing the problem would be to remove the reply 6A2 to 6A1 request in the code and test the code on a 9-3. If I'm not mistaken 6A2 reply is only required on 9-5s. 9-3s are happy without it.
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
That sounds like a good test. If I get a chance later today, I'll try tweaking mine to not send the 6a2 message, run with that for a while, and see if that makes the SID happy.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
Although, since the code is written to only send the 6A2 when it sees 6A1, why would 9-3 have the issue??? Obviously my 9-3 is having an issue with the DTE/MPG, but I fail to see why the 6A2 message would fix anything if it's not being sent (unless it is being sent?!).....Looking at you, Karlis ;D
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
a quick google search for "saab 6a1 6a2" revealed this guy's page
http://mauselec.blogspot.com/p/tinyemuc.html
which may have been where I found out I needed that when I *first* got my module to work in a 9-5...
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Karlis
Administrator
It might be a glitch in CAN code when we send 6A2 even though we're not asked to. I thought I eliminated that bug (and I hope that's the case) but ... :)

So here's a comparison if messages:

Mati from mauselec: 0x00,0x00,0x08,0x32,0x00,0x00,0x16,0x01,0x02,0x00,0x00

We use: 0x32,0x00,0x00,0x16,0x01,0x02,0x00,0x00

Clearly messages are of different size, but why...
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
We do get the 6a1 message on the 9-3, so the code will response with 6a2.  Fortunately the 9-3 doesn't seem to care if it gets a response, so I think this is a good environment to confirm that 6a2 is the problem.

The tinyemu message looks longer because that's the entire message.  The data portion is the same thing we're sending.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Karlis
Administrator
Oh, sh**! You are right mcaldwelva! I need another cofee... :)
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
In reply to this post by mcaldwelva
Ok, I think you're right, mcaldwelva; I seem to remember now seeing 6a1 but the car doesn't need to see 6a2 to turn on the cd changer. the 9-5 does need to see the 6a2.

on a side note, if the 6a2 message isn't right, it will throw ABS or Airbag warning lights or something...I think my old code had a 64 for bit1 or something....so 6a2 probably needs to be finessed...
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
In reply to this post by Seth
And the guy who did SaabLin has some code we can look at, too, including 6A2, 337, 357, 348, and others
http://saablin.net/sites/default/files/saablin-0.9.1.pl_.txt
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
I think we can call this one confirmed. I tweaked mine to stop sending 6a2 and reset my computer. I only drove it for about 30 mins today, but it immediately started with a reasonable number (5 mpg) and appeared to update normally (about 1/s) throughout the drive, going up & down, and settling on a reasonable number (26mpg).

I'll try tweaking it again now to send the sequence of 4x 6a2 messages and see how that does.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
mcaldwelva wrote
I think we can call this one confirmed. I tweaked mine to stop sending 6a2 and reset my computer. I only drove it for about 30 mins today, but it immediately started with a reasonable number (5 mpg) and appeared to update normally (about 1/s) throughout the drive, going up & down, and settling on a reasonable number (26mpg).

I'll try tweaking it again now to send the sequence of 4x 6a2 messages and see how that does.
nice! Hopefully we can figure out what a "good" 6a2 command needs to look like... :)

I should be getting a working official cd changer from a buddy, so I'm gonna try to sniff the actual traffic that the cd changer has with the IHU, so maybe that will help.

...to be continued...
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
Cool! I don't think we can get much more out of sniffing just the head unit.

The code I'm testing now responds to each 6a1 with a series of 6a2's. I'm just looking at the bottom half of byte 3 of the 6a1 message to determine the request type:
21 00 00 13 01 02 44 00 power on
21 00 00 12 01 02 44 00 active
21 00 00 18 01 00 00 00 power off

In response, I'm sending a sequence of 4 messages like I saw on ecuproject.  This is my response to "power on", which I think is "I'm spinning up":
32 00 00 03 01 02 00 00
42 00 00 22 00 00 00 00
52 00 00 22 00 00 00 00
62 00 00 22 00 00 00 00

This is my response to the "active" request:
32 00 00 16 01 02 00 00
42 00 00 36 00 00 00 00
52 00 00 36 00 00 00 00
62 00 00 36 00 00 00 00

And using this as the response to "power down":
32 00 00 19 01 00 00 00
42 00 00 38 00 00 00 00
52 00 00 38 00 00 00 00
62 00 00 38 00 00 00 00

It looks like there should be 100ms between messages, but at the moment I'm just blasting them out and letting the CAN chip send them as soon as it can.  It also looks like there's more to the normal shut down sequence, but I'm hoping to keep it simple.

I cleared the SID again this morning to test this code and it actually seems to be behaving well so far.  I'll keep an eye on it and let you know how it goes.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
I've been running with this change for the last 5 days and so far the SID seems to be working normally now.  So this might be the fix, but I wonder if we actually need to send all 4 messages? It behaves like maybe it just keeps repeating the second message until it hears something else that's not a 6a1.  I'm curious what we'll see with the actual CDC if the 3c0,3c8,6a1,6a2 messages are all logged together with ms.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Seth
Administrator
I got the CD changer and we attempted to marry it to my car, but I don't think it was divorced properly from the previous car, and it would never actually let us marry it; the radio always says "CDC - LOCKED". But I'll try connecting my module to the i-bus also and sniffing any traffic I can in regards to the commands we're interested in. If anything, the car knows there's a CD changer available, it's just not allowed to use it, so I would assume that we should be able to see some 6A2 and 3C0 commands floating around...
NC, USA
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

mcaldwelva
Sorry to hear that. On ecuproject, it looks like there was some success divorcing a CDC via PC, but I'm not able to download the software.

I tested sending just the first two 6A2 replies for my commute yesterday and my mpg started creeping up into unbelievable territory, so I'm back to the four message sequence. I don't know what it means, but the SID does seem to need it. I hope the 4 message reply works on the 9-5 as well.
'00 9-3 Viggen
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

aaronbguerrero
I don't know anything about the 9-3 as I have a 9-5 but I can tell you that for my project I only send the 3C8 header with the "0xE0, 0x00, 0x3F, 0x31, 0xFF, 0xFF, 0xFF, 0xD0" message and the 6A2 header with the "0x32, 0x00, 0x00, 0x16, 0x01, 0x02, 0x00, 0x00" message.

I send the 3C8 every 950 ms to update the "CD Changer" status and I only send the 6A2 in response to 6A1. Literally as soon as the code sees 6A1, it just sends 6A2 in response. I NEVER send 6A1.

Works perfectly, for like 2 years now.
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Karlis
Administrator
Thanks for the info, Aaron! Yeah, our code currently behaves in the same way. As in - as soon as it receives a 6A1, it replies with 6A2. This is for both 9-3s and 9-5s. You might want to check your DTE and average MPG values though because as described above the 6A2 messages we send are screwing up those values.

Also, you said you could share your code. Can you please post a link in this forum to it?
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

aaronbguerrero
No problem!

DTE and MPG are perfect, I use them regularly and have never noticed a problem. In fact, the only "problem" I can detect is that my Tech 2 thinks there is supposed to be a CD Changer installed and I typically get a "No Communication" error while I'm using it, but I just click OK and all is well.

I'll post my code in a few days when I have time to clean it up and explain the caveats. Comments are pretty good on the Arduino code, but I'm using a library for my CAN chip that I modified to work with the Saab and I need to go back and figure out what those mods were (it's been a year or 2).

I actually started a writeup a long time ago and haven't gotten around to finishing it. Maybe I'll just do that and post it up :P

In the mean time, here's my main file running on the Arduino. WARNING: It's dirty-nasty. I use it to experiment and then comment stuff out, so please ignore the commented out code. I can tell you for a fact that the SID message works like crap. I tried it once to play with, commented it out, and never bothered to come back to it.

Also, it's VERY high level, most of the dirty work is buried in the libraries. It should give you a pretty clear idea of how I'm doing it though.Saab_Bluetooth_Aux_Code.c
Reply | Threaded
Open this post in threaded view
|

Re: 6A1/6A2

Karlis
Administrator
In reply to this post by mcaldwelva
I've integrated your changes in my code as well. However now the IHU is not able to "see" the CDC module at all. As in I can't even push the IHU into CD changer mode by pressing the CD/RMD button twice. Maybe I have made some stupid mistake in my code (again :)). Will keep looking...
2001 9-5 SE V6; 2006 9-5 Wagon; iOS; BlueSaab version = "latest and greatest" :)
1234