Pages: [1]
Author Topic: KWP 5baud confusion - 0x01 or 0x11  (Read 920 times)
kartoffelpflanze
Newbie
*

Karma: +5/-0
Offline Offline

Posts: 20



« on: September 02, 2025, 10:20:14 AM »

Messing around with a ME7.5, I have found out that it supports both KWP1281 and KWP2000 in a strange way.

It only seems to support 5baud init.
When sending address 0x01, it sends keybytes 018A and starts KWP1281 communication.
With address 0x11, it sends EF8F and starts KWP2000.

The thing is, in every specification I was able to find, odd parity is imposed for the address sent at 5baud. This implies that actually 0x91 should be sent in order to target address 0x11.
But this ECU will not wake up when sending 0x91.
As such, VCDS can only connect to it in KWP1281 mode, it fails to connect to 0x11 ("Engine II") since it is sending 0x91.
I tried looking through ODIS too, and EnginContrModul2KWP2000KLINE has CP_5BaudAddressPhys defined as 0x91 too.

What am I missing?
Logged
prj
Hero Member
*****

Karma: +1105/-522
Offline Offline

Posts: 6194


« Reply #1 on: September 03, 2025, 06:28:45 AM »

Everything older than 2002 or so, is a wild west.

Generally for diagnosis, if it responds to KW1281, then the diagnosis runs over that.
Otherwise it runs over KWP2000.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
kartoffelpflanze
Newbie
*

Karma: +5/-0
Offline Offline

Posts: 20



« Reply #2 on: September 03, 2025, 07:43:44 AM »

if it responds to KW1281
Well, it's not that it responds to KWP1281, rather with KWP1281 Angry

Like, how are you supposed to know that you need to send an "incorrect" 5baud address to access KWP2000? Is it supposed to be a hidden mode?
As far as I can tell, there is no way to get KWP2000 on this ECU using standard test equipment, as it will always calculate the parity bit and send the address as 0x91, to which it doesn't respond.

if it responds to KW1281, then the diagnosis runs over that. Otherwise it runs over KWP2000.
Then this ECU is a counterexample, since it "responds to" KWP1281, yet diagnosis can run on KWP2000 just fine.

Everything older than 2002 or so, is a wild west.
It's a much more plausible explanation, but I feel like that's not all...
Logged
prj
Hero Member
*****

Karma: +1105/-522
Offline Offline

Posts: 6194


« Reply #3 on: September 04, 2025, 01:25:17 AM »

On pre-2002 stuff it can be 0x01, 0x10 or 0x11 Cheesy

In fact, to get a KWP2000 session, on pre-2002 stuff you need to open a KW1281 session on 0x01, send the minimum commands to run through and exit the session, then send init again on 0x01 and you will get a KWP2000 session the second time you init on 0x01 (double slowinit).

On all the newer ECU's it's always 0x10 for master and 0x11 for slave.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
kartoffelpflanze
Newbie
*

Karma: +5/-0
Offline Offline

Posts: 20



« Reply #4 on: September 04, 2025, 03:46:22 AM »

On pre-2002 stuff it can be 0x01, 0x10 or 0x11 Cheesy
I know I'm starting to sound like a broken record, but the main point of my question is why does the ECU insist that 0x11 be sent with a purposefully wrong parity bit? Shocked

Like, is there any specification document, like a Funktionsrahmen for any ECU like this one, where it outlines that 0x11 must be sent in 8N1 data mode instead of 7O1? I mean, 0x01 and 0x10 too, but those wouldn't have an odd parity bit added anyways.

you will get a KWP2000 session the second time you init on 0x01
Hm, that sounds a bit more sensible for a way of switching between KWP protocols, instead of sending a mutilated address byte Grin

On all the newer ECU's it's always 0x10 for master and 0x11 for slave.
Yeah, but I assume those are implemented according to spec, i.e. 0x91 is actually sent for slave, so that VCDS can connect too.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 1.259 seconds with 14 queries. (Pretty URLs adds 0s, 0q)