NefMoto

Technical => Communication Protocols => Topic started by: jbalze on July 10, 2021, 11:25:21 AM



Title: UDS scaling
Post by: jbalze on July 10, 2021, 11:25:21 AM
Hi guys,

I query an ECU with:
07E0 03 22 20 06

answer:
07E8 05 62 20 06 04 B0

The request for scaling doesnt get any answer:
07E0 03 24 F4 0C

Where do you find the scaling for this specific value? I checked within the A2L, but could not find specific addresses.

Cheers
jb


Title: Re: UDS scaling
Post by: prj on July 10, 2021, 11:56:10 AM
OEM diagnostics on development level usually use ODX and on production level use an MCD Kernel for the scaling.

Just having the ECU you're not gonna calculate anything or know what ID is what.


Title: Re: UDS scaling
Post by: jbalze on July 16, 2021, 02:09:36 AM
I got the ODX file for my ECU - the data field is encrypted.

I got the chance to look into some A2L files, but the addresses do not really correspond to what I expect.


Title: Re: UDS scaling
Post by: prj on July 16, 2021, 02:32:32 AM
You most likely got a flash ODX, not the diag ODX.

Diag ODX is not encrypted in any way, it lists all the diagnostic actions that can be taken by the ECU according to the ISO ODX standard.
This includes scaling, naming and PIDs for all identifiers available in $22.

A2L is not going to help you one bit.
Well, unless you have the exact one, then you can try reading RAM directly.


Title: Re: UDS scaling
Post by: d3irb on July 16, 2021, 08:52:26 AM
If you are a files hunter, you want either a Diagnostic ODX (sometimes stored in a simple zip file container with a .PDX extension, containing all of the "layers" which are built up to make a full Diagnostic ODX package) or the FR. The alternative is to reverse-engineer a software binary on the ECU side or a diagnostic tool on the PC side for this ECU.

You could also try CAN-sniffing a diagnostic tool and manually correlating the display values to the wire values to come up with the scaling.

Also if you did us the favor of telling us what you're working with instead of "an ECU," that would help too...