Understanding all this !

540 views
Skip to first unread message

le.ma...@gmail.com

unread,
Mar 14, 2013, 4:49:00 PM3/14/13
to jazdw-s...@googlegroups.com
Hi,
I'm french so i apologize for my bad english.

First of all, i've read all the sources to try to understand your implementation of KWP.
Afaik, vag use KWP2089, and i'm trying to create a real time logger.

I have an elm 327, and i use it on an audi A3 8P.
With only AT commands and auto detection protocol, it goes on 4 (KWP 5baud init) 5, 6 doesn't work with default values.

When i set the header values to 81 10 F1 it work with protocol 5 (KWP fast init, maybe KWP2000?)
then i start diagnostic session and so on and so on.

My question is , how can i send AT command to get measure block, in the ssp they do not give any params but some examples.

Is the Elm327 can compatible on VAG car ? it seems to be ISO 15.... -2 and not 15...-4 wich is standard.

In your app, you use the user B protocol and you send the entire can packet ... i don't know if i could understand all that.

Could you give me an example of request to :
- open a module
- send id request 1A 9B (for example)
- send a mesure block request 21 XX ..
- decode result ...

for example :
ATZ
ATL0
ATSP5
ATSH8110F1
ATSTFF
1089
1A9B
21XX

thanks in advance !

le.ma...@gmail.com

unread,
Mar 14, 2013, 4:55:35 PM3/14/13
to jazdw-s...@googlegroups.com
I've forgotten, your app is not working with my BT elm327... in the log area there is only "open port" "close port" "port configured" but nothing else, and the serial port selector shows up continuously.
"putty" works in serial mode

jazdw

unread,
Mar 19, 2013, 5:40:50 AM3/19/13
to jazdw-s...@googlegroups.com
OK So you will have to get the app to connect to the serial port to start with. Make sure no other process is using the serial port, try after a reboot.

Once you have the app communicating with your ELM327 device you can turn on more logging in order to see the AT/ST commands issued.
In the .ini file which is created set the following:
[Log]
logLevel=255

If you dig into the code you will also find the required AT commands to setup the ELM327 correctly.

Have you had a read of the following? It will show you how to read blocks using TP2.0

le.ma...@gmail.com

unread,
Mar 19, 2013, 5:46:15 AM3/19/13
to jazdw-s...@googlegroups.com
Thanks for your answer.
Yes i've read all your site ! and all your code ! I'm not very familiar with cpp but i've understood the global idea.

I'll try to change the log level.

Thanks alot !!

Message has been deleted
Message has been deleted

le.ma...@gmail.com

unread,
Apr 9, 2013, 3:02:54 PM4/9/13
to jazdw-s...@googlegroups.com
It seems that my bt dongle doesn't work with your app.
I've tested the example from your TP2 page.

Here are my commands :
ATZ
ATH1
ATD1
ATPBC001
ATSPB
ATSH200
starting your example chan setup
01 C0 00 10 00 03 01
response is correct, like in your example
then chan param
ATSH740
A0 0F 8A FF 32 FF
response is NO DATA

i've tried to set ATCRA to 740 or 300 it still have no data

I'm doing something wrong, but what ?

le.ma...@gmail.com

unread,
Oct 1, 2013, 2:01:31 PM10/1/13
to jazdw-s...@googlegroups.com
After reading all your code, I didn't found a solution... help please.

dnch...@gmail.com

unread,
Mar 14, 2014, 10:27:33 PM3/14/14
to jazdw-s...@googlegroups.com
I ran into this same issue when connecting to a VW MK6 GLI. The clue I was able to make progress from was that I received the chan setup response several times, and it seems the ECU was timing out waiting for me to send the chan parameters. Because it keeps re-sending the chan setup response, the ELM327 device keeps reading data without returning control with a '>' character until the timeout occurs and the ECU stops sending.

To show this a little clearer, if you run the following to set the address filter wide open before sending the chan setup request:
ATCM000
ATCF000


01 C0 00 10 00 03 01

You should see:
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
300 A8
>

Notice the ECU I connected to sent a A8 disconnect message on 300 at the end!

The best workaround I've figured is to tell the ELM327 device that you only want one response, and that it should wait for commands after returning a single response:
01 C0 00 10 00 03 01 1
201 7 00 D0 00 03 40 07 01
>
Then you can send the chan params request and you'll see the right response:
ATSH740
ATCRA300
A0 0F 8A FF 4A FF
300 6 A1 0F 8A FF 4A FF
>


Hope this helps!

le.ma...@gmail.com

unread,
Mar 16, 2014, 2:58:48 PM3/16/14
to jazdw-s...@googlegroups.com
Thanks a lot for your answer.
I'll test this method.

But how do you tell the ELM device that you only want one response ? just by adding "1" at the end of the command ?

dnch...@gmail.com

unread,
Mar 16, 2014, 3:06:46 PM3/16/14
to jazdw-s...@googlegroups.com
Yep. The ELM documentation describes this towards the end of the 'Talking to the vehicle' section of the elm327 documentation, which you can get here.
http://www.elmelectronics.com/obdic.html

It seems if you specify one extra hex char, it will assume the last one corresponds to the number of messages requested. It's not exactly how they intended it to be used, but it does the job in this case.

le.ma...@gmail.com

unread,
Mar 16, 2014, 3:17:04 PM3/16/14
to jazdw-s...@googlegroups.com
Ok, cool !
Thanks for your tip !

soumya...@gmail.com

unread,
Aug 8, 2017, 7:24:53 AM8/8/17
to Jazdw Software
Hey, I am also having the same issue. I could only get the response as 201 for engine, 203 for ABS, 205 for airbags. But I get No Data for any commands after that.

It's a Skoda 2009 Octavia.

>at z
at z


ELM327 v2.1



>at h1
at h1
OK

>at l1
at l1
OK

>at s1
at s1
OK

>at pb c001
at pb c001
OK

>at dp 1
at d1
OK

>at sp b
at sp b
OK

>at sh 200
at sh 200
OK

>200 05 c0 00 10 00 03 01 1
05 c0 00 10 00 03 01 1
205 7 00 D0 00 03 68 07 01

>03 c0 00 10 00 03 01 1
03 c0 00 10 00 03 01 1
203 7 00 D0 00 03 90 07 01


>at sh 768
at sh 768
OK

>at cra 300
at cra 300
OK

>a0 0f 8a ff 32 ff
a0 0f 8a ff 32 ff
NO DATA

>a0 0f 8a ff 32 ff 1
a0 0f 8a ff 32 ff 1
NO DATA

soumya...@gmail.com

unread,
Aug 10, 2017, 4:13:21 AM8/10/17
to Jazdw Software
Please help!

le.ma...@gmail.com

unread,
Aug 10, 2017, 4:52:43 AM8/10/17
to Jazdw Software
Hi,

I didn't go much far, as I switch off from this project.
My last test gave the same results as yours, I thought it was because my dongle was a chinese one.

I've found another dongle, wich is base on a STN chip (better than elm) but I didn't test it.
Here is a link if you want to get one : https://www.vscan.pl/product/vscan-ivag/

Did you test Jared's soft ? Is your dongle usb or BT ?
Mine was BT and it didn't work with Jared's soft.

soumya...@gmail.com

unread,
Aug 10, 2017, 5:13:06 AM8/10/17
to Jazdw Software
I tried with 2 BT dongles - iCar (ELM chip) and OBDLink (STN chip). But the issue persists.
I haven't tried the software, but was requesting the commands via PuTTY (similar to HyperTerminal).
I downloaded an app called VAG-UDS, which works with both these dongles. So, I don't think the dongle has any problem. Maybe we are missing some AT commands or something.
Any help in this regard will be appreciated. (Any websites or research papers etc.)

le.ma...@gmail.com

unread,
Aug 10, 2017, 5:23:48 AM8/10/17
to Jazdw Software
My last prototype, used kwp but not over CAN.
My goal was to read mesure groups only.

You can decompile the android app or check if there is a debug mode.
Or you can sniff BT packets, this was what i've done with the old vag-com app.

soumya...@gmail.com

unread,
Dec 25, 2017, 3:37:30 AM12/25/17
to Jazdw Software
Hey, the command ATSH8110F1 is for engine, right? I am getting the required result for this. 18 00 FF 00 is giving the DTCs as well. Can you please give me any source/website link where I'll find the commands for other modules like ABS, airbag etc on KWP?

le.ma...@gmail.com

unread,
Dec 26, 2017, 8:53:02 AM12/26/17
to Jazdw Software
Hi,

8110F1 is the header for diagnostic device.

For documentation you can seach for iso "14230-3" / "14230-4" or read Jazdw vagblock code. I don't remember all.
Another way is to read com communication with old VAG (4xx).
But it will work only on "old" before 2004 Vw, because after they use CAN for all other unit. Engine still available with old protocols

le.ma...@gmail.com

unread,
Jun 21, 2019, 5:31:10 PM6/21/19
to Jazdw Software
Found something interesting about elm327, not tested yet but can be useful.
https://github.com/uholeschak/ediabaslib/blob/master/docs/Replacement_firmware_for_ELM327.md
Reply all
Reply to author
Forward
0 new messages