Torque

Forums

Forums

Guest  

Show or hide header
Welcome Guest, posting in this forum require registration.




Torque » Torque OBD ECU Scanner » Torque Discussion / Ideas » VAGCOM

Pages: [1] 2 3 4 5 6 7 8 9
Author Topic: VAGCOM
larsson
Member
Posts: 9
Post VAGCOM
on: January 2, 2012 (GMT)

Hello,

have you gotten your VW ECU communicating yet?
I’m still very interested in you getting the vagcom protocol working.
Any updates?

Thanks!

Darquan
Member
Posts: 2
Post Re: VAGCOM
on: January 2, 2012 (GMT)

i second this!

larsson
Member
Posts: 9
Post Re: VAGCOM
on: January 23, 2012 (GMT)

Nothing? :(

piemmm
Administrator
Posts: 6134
Post Re: VAGCOM
on: January 23, 2012 (GMT)

Nothing yet – I have a house move at the end of this month so the ECU is packed up. I’ve spent some time on it but not had any luck so far. Once I’m setup in my new place I will be able to spend some more time on getting this to work

Alternatively, if anyone has a log of how to talk the protocol, then I can use this as a starting point (and can begin work on the protocol module itself)

forcedfx
Member
Posts: 12
Post Re: VAGCOM
on: February 28, 2012 (GMT)

This would be AMAZING. Fiancee’s ABS system has been acting up.

AYoo
Member
Posts: 2
Post Re: VAGCOM
on: February 29, 2012 (GMT)

subscribed to notifications on this one. i want this to work as well. would be AWESOME!!! would even pay for an add on. (only if its not that much, ahem) haha. to do VAGCOM mods and have accurate boost data over android via bluetooth obdII interface…. i hope it comes to fruitition.

on a side note. would be really awesome if the host can work with the major tuners out there in the market to work out a way to switch tuning software. especially Revo… hint hint…

’11 GTI over here btw 😀

edie209
Member
Posts: 8
Post Re: VAGCOM
on: February 29, 2012 (GMT)

Yep another vote here

Tom B
Member
Posts: 10
Post Re: VAGCOM
on: February 29, 2012 (GMT)

what age of ECU are you working on Ian? There are several protocols in use, I can probably talk you through KW1281 but will be less help with KW2089 and later CAN based systems.

I’m not sure it will be possible to make an ELM 327 speak KW1281 but believe it should be do-able for the later protocols.

Tom

piemmm
Administrator
Posts: 6134
Post Re: VAGCOM
on: March 1, 2012 (GMT)

It’s a Mk.4 Golf ECU (literally just the ECU (via ebay) with no loom). I have a USB adapter which is compatible (it is advertised as being able to use it) which arrived a couple of weeks ago, though since I was moving house last month haven’t yet had a chance to plug it in and try it

frodus
Member
Posts: 518
Post Re: VAGCOM
on: March 1, 2012 (GMT)

I vote for this too! Might be best as another product? Not sure it fits into Torque when it’s just VW/Audi.

I have an 2007 Audi A4 Quattro 2.0T, Samsung Infuse (and Samsung Galaxy Player 5) and a OBD reader based on the STN1110 chipset (batman.homelinux.com) that I built. Let me know and I can test anything out for you.

Have you read much at http://www.ross-tech.com/

Maybe contact them, they’re working on something too:
http://www.ross-tech.com/vcds-mobile/index.html

Tom B
Member
Posts: 10
Post Re: VAGCOM
on: March 1, 2012 (GMT)

mark 4 golfs would probably cover the transition from 1281 to 2089. (it was about 2001-2002 in passats). As a rule of thumb I guess cars which use ISO 9141-2 for OBD will probably use 1281 and cars supporting ISO14230/KWP2000 will use 2089. I’ve read that some cars use both.

Communication on 1281 is one byte at a time without headers or checksums. Each byte must be acknowledged with it’s complement before the next is sent. I don’t think this is compatible with ELM327

I think 2089 is essentially a manufacturer specific application of ISO 14230. If you don’t want to buy ISO 14230 google for SSF 14230. The Swedish standards people are kind enough to make a modified version of the standard public, in English

much of my information about the protocols is from here:
http://www.blafusel.de/
The German version is better than the English.
Also from the above mentioned ross-tech website.

In a few minutes I’ll look out some files I wrote for my reference when researching these protocols.

Please don’t take anything I say as gospel, I got distracted from this project and so my “knowledge” has not been put to practical test.

Tom B
Member
Posts: 10
Post Re: KWP 1281
on: March 1, 2012 (GMT)

here is my file on KW1281…


Information Extracted from http://www.blafusel.de/obd/obd2_kw1281.html
english version (poor translation) http://www.blafusel.de/obd/obd2_obdii_obd-2_list_me_en.html
also from the ross-tech website

this file regards protocol kw1281. This was replaced by kw2089 around 2001. Some cars around this date implement both.

Communication on KW1281 occurs on the same lines as ISO 9141-2 with the same voltages etc but may use a different baud rate. message structure is completely different. priority and checksum are not used. bytes are sent one by one and must be acknowledged. I don’t think this protocol can be implemented over elm327 unless headers and checksums can be disabled in some way. Elm372 does support various baud rates (AT IB commands) and initiation addresses (AT IIA).

initiation is by sending the desired address at 5 baud, as with ISO 9141-2.

slow (5 baud) init. addresses (in hex):
ECU 01
trans. 02
ABS 03
climate 08
electrics 09
stereo 0E
airbags 15
steering wheel 16
dash 17
Can gate 19
driver door 42
ccm 46
sound system 47
pass. door 52

the ECU should reply hex 55. This is binary 01010101, it is used to set baud rate for communications. baud rate will probably be 4800, 9600 or 10400.

the hex 55 will be followed by 01 8A (this identifies kw1281). The initiator must reply 75. The link will time-out if the reply is too late, but it must not be too soon either. One website suggests between 5ms and 500ms delay is OK.

communication then commences. At all times one end must be master. initially the car is master. After each byte the slave must reply with the byte’s complement, before the next byte will be sent. If the complement is not received the link will drop. if it is wrong an error will be logged.

the first byte of each message is the length of the message, in bytes.

the next is a counter. each message increments the counter by 1 and it rolls over from ff to 00.

the next is message type: 06 = kill link, 09 = keep link active (ack), 29 = request ‘group’ of data, E7 = reply to 29, f6 = ASCI data.

next comes the data, as many bytes as are needed.

finally, 03 ends the block. the slave need not reply to this last byte.

The slave becomes master. The master becomes slave. If the new master has nothing to say it sends an ack, 03 ?? 09 03. (length, counter, ack, end).

The slave becomes master. The master becomes slave. repeat ad infinitum

The communication must be kept up. 09 is sent repeatedly to stop it ending. 06 may be sent to end the link, failing to reply will also cause it to drop.

If one end wants to make a communication it must wait until it is master. The ack is then replaced with a message encapsulated as described above.

this protocol supports writing alterations to the controllers, so be careful what you write.

you may request a data group. This is simply by sending 29 followed by the hex number of the one you want. There may be groups from 00 to ff with gaps depending on ECU.

A group will usually contain four blocks. Which blocks are in which group varies from car to car. some groups may contain 10 blocks. lists of which blocks are in each group are available in Ross-tech’s VAG-COM label files. These used to be on their website but now appear to be hidden. Newer versions may be encrypted.

The reply will contain one byte E7 telling you it is a reply to a request 29, then one telling you the index of the first block, then two bytes containing that block’s data (a,b). then the next block’s index and it’s data etc.

It seems that the index is a code telling you the equation and units for a block. It does not tell you what the block actually is, e.g. 05 is used for air temperature and for oil temperature. It may be possible to interpret this in some cases as some indices may only be used for one block. Indices translate as follows:

(!index and equations given in decimal!)
1	a*0.2*b			rpm
2	a*0.002*b		%
3	a*0.002*b		Deg
4	abs(b-127)*0.01*a	ATDC if Value >127, else "BTDC"
5	a*(b-100)*0.1		°C
6	0.001*a*b		V
7	0.01*a*b		km/h
8	0.1*a*b			-
9	(b-127)*0.02*a		Deg
10	b			if b==0 then "COLD", else "WARM"
11	0.0001*a*(b-128)+1	-
12	0.001*a*b		Ohm
13	(b-127)*0.001*a		mm
14	0.005*a*b		bar	
15	0.01*a*b		ms	
16				bitvalues	
17	chr(a)	chr(b)		-
18	0.04*a*b		Mbar	
19	a*b*0.01		L	
20	a*(b-128)/128		%	
21	0.001*a*b		V	
22	0.001*a*b		ms	
23	b/256*a			%	
24	0.001*a*b		A	
25	(b*1.421)+(a/182)	g/s	
26	b-a			C	
27	abs(b-128)*0.01*a	ATDC if Value less than 128, else "BTDC"	
28	b-a				
29	Kennfeld		if b128 : b-256 else b	
33	100*b/a(ifa=0then100*b)	%
34	(b-128)*0.01*a		kW			
35	0.01*a*b		l/h			
36	b*10+a*2560		km			
37	???			-			
38	(b-128)*0.001*a	Deg	k/w		
39	b/256*a			mg/h			
40	b*0.1+(25.5*a)-400	A			
41	b+a*255			Ah			
42	b*0.1+(25.5*a)-400	Kw			
43	b*0.1+(25.5*a)		V			
44	chr(a)	:	chr(b)	h	
45	0.1*a*b	/100			
46	(a*b-3200)*0.0027	Deg k/w		
47	(b-128)*a		ms			
48	b+a*255			-			
49	(b/4)*a			mg/h			
50	(b-128)/(0.01*a),	mBar	(if a==0 (b-128)/0.01	mBar)
51	((b-128)/255)*a		mg/h			
52	b*0.02*a-a		Nm			
53	(b-128)*1.4222+0.006*a	g/s			
54	a*256+b			Count			
55	a*b/200			s			
56	a*256+b			WSC			
57	a*256+b+65536		WSC			
58	1.0225*b, 			[if b>128 then	1.0225*(256-b)]
59	(a*256+b)/32768		-			
60	(a*256+b)*0.01		sec			
61	(b-128)/a,ifa==0(b-128)	-
62	0.256*a*b		S		
63	chr(a) + chr(b) + "?"	-		
64	a+b			Ohm		
65	0.01*a*(b-127)		mm		
66	(a*b)/511.12		V		
67	(640*a)+b*2.5		Deg		
68	(256*a+b)/7.365		deg/s		
69	(256*a+b)*0.3254	Bar
70	(256*a+b)*0.192		m/s^2


edit: I’m gonna give up trying to make the columns line up.

Tom B
Member
Posts: 10
Post Re: KWP 2089
on: March 1, 2012 (GMT)

and on 2089:

This file written with information from http://www.blafusel.de/obd/vag_kw2000.html

KWP2089 is based on KWP2000
KWP2098 is also called KWP2031
SSF 14230 is freely available on the internet and explains how KWP2000 works.

The physical layer is the same as ISO 9141 and kw2000. Initialisation is the same as also, keywords are 6F0F (the first message after initialisation is the keyword and identifies the protocol: in this case it indicates both types of header and both types of length byte are accepted, and that normal timing is in use)

The messages are sent uninterrupted (there is no need to acknowledge each individual byte as with kw1281)

The message format is Header, receiver, transmitter, message, CRC, exactly the same as KWP2000.
The header is the number of bytes in the message +hex80. This +80 implies physical addressing is in use. ECU address seems to be at hex 10

I am unsure how to request groups or blocks. I think I should request a diagnostic session code hex 81 with parameter 89 but I’m not sure what next.

The replies are interpreted in the same way as KW1281

AYoo
Member
Posts: 2
Post Re: VAGCOM
on: March 2, 2012 (GMT)

woah that was some serious foreign language to me LOL. Just please make this work!!! 😀

piemmm
Administrator
Posts: 6134
Post Re: VAGCOM
on: March 2, 2012 (GMT)

That’s enough for me to be getting on with – I’ve unpacked the ECU (“06A 906 018 cl” an AGN) so will hopefully be able to work out which pin(s) from the 80 pin connector are for the k-line, then it’s seeing if it’ll talk (the cheaper option than buying a golf :-)

I have a kw1281 compatible adapter and a few other bits now, I’ll likely have a chance to solder wires and play this weekend.

piemmm
Administrator
Posts: 6134
Post Re: VAGCOM
on: March 2, 2012 (GMT)

Ok, had a play this morning, and now have the ECU talking to the KKL cable adapter and talking. It should now be straightforward to write some code for it. Will likely do that at the weekend and see what happens.

edie209
Member
Posts: 8
Post Re: VAGCOM
on: March 2, 2012 (GMT)

Thats great news I have been waiting to use this for some time now I Purchased a full version a little while in the hope you would do this.

cupratdi
Member
Posts: 2
Post Re: VAGCOM
on: March 4, 2012 (GMT)

I have a seat files tdi 2007. I managed to once get all the icons solid showing a connection and see the leds on the one adapter flashing but it timed out reading the fault codes and has never connected since. Is this likely due to comments above as I.assume the ecu is similar to the Vw golf and Audi protocol in use?

I paid for the app thinking it would work on my car as well lol bugger 😉

piemmm
Administrator
Posts: 6134
Post Re: VAGCOM
on: March 5, 2012 (GMT)

Hi

The icons won’t show a connection unless your vehicle is OBD2 compliant, so if you have had that, then its entirely likely you had an OBD2 compliant vehicle, then the adapter went kaput.

Double check your vehicle is OBD2 compliant – if it is, then the app will definately work. (so then you look at the adapter). Clone adapters have been known to go dead just as simply as that!

cupratdi
Member
Posts: 2
Post Re: VAGCOM
on: March 5, 2012 (GMT)

Plugged in this morning and its connected within a minute using iso 9141 or something similar. Can’t remember exactly as I’m at work now. It was showing the real time info n working fine although it disconnected once worth an adapter error then reconnected. I did manually set it to use the iso9141 setting though rather than auto.

Pages: [1] 2 3 4 5 6 7 8 9
WP-Forum by: Fredrik Fahlstad, Version: 2.4
Page loaded in: 0.479 seconds.

  Follow me on twitter