Adding ALDL to ELM protocol - What have I done!

A place For General Chit Chat Etc
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Adding ALDL to ELM protocol - What have I done!

Post by Tazzi »

With the development of the latest OBDX tool and a new manufacture bringing it to light, I have been motivated to finish the development of the ELM side for all protocols.

In saying that, I cannot explain the absolute hate I have for ELM cables and its protocol. The literally tears and blood them f*ing things have caused from day dot. They have single handedly shortened my life spam, I know it. Then topping them off with only supporting string commands which was the absolute most inefficient way for transferring data from app to tool. But as much shit as I give them, they were a simple starting point back when I barely understood the difference between a string and bytes, and are great for beginners.

So this now leads us to a first with ELM protocol standards, implementing ALDL. It both hurts and pleases me to show the below image of an OBDX setting up ALDL and sending a simple ALDL frame (01 00) to request diagnostic data from an VY BCM.
ELM_ALDL_Demo.PNG
ELM_ALDL_Demo.PNG (17.46 KiB) Viewed 3306 times
For those wondering what the commands are.. we have:
AT I (Request ELM name)
AT @1 (Request OBDX name)
AT SP F (Set protocol to F = ALDL)
01 00 (send ALDL frame request of F1 57 01 00 B6)
01 00 11 FB ... (BCMs response frame)
AT H1 (enable headers so we see full frame)
01 00 (Send same frame again)
F1 75 01 00 11 FB (BCM response with headers on)
ATMA (monitor all live data)
..all bus data after this.

For those technically inclined, the length byte and checksums are automatically calculated and put into the frame. And the response also has its header, length and checksum bytes removed as its all validated by the tool before sending to the user. Oh and the echo is also ignored too.

The single downfall with the basic setup is if someone was to filter for a frame such as the VT-VZ heartbeat (08 55 A3), this frame would not be displayed because that is a no data payload frame (08= header, 55=length, A3=checksum). This is the equivalent of a VPW frame with no payload (6C 10 F1 XX) where XX is the checksum and first three bytes are the header, technically the ELM does not show this to the user with default settings.

This can be over-ridden by enabling headers to get the full frame sent, but regardless I now understand why the ELM developers did what they did for all other protocols in the attempt to try make it as easy as possible for the end user.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: Adding ALDL to ELM protocol - What have I done!

Post by ironduke »

Elm is the arduino of obd tools.. Definitely nice to get started, I learned a lot from using an elm and I still am.. Very easy to use with a serial terminal tool like termite. Definitely opened some doors.. lol..

I did stop work with the elm myself because I managed to get the gm mdi to work. I have a few of those and it is so much easier communication wise once you learn how to connect with it...
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: Adding ALDL to ELM protocol - What have I done!

Post by Tazzi »

ironduke wrote:Elm is the arduino of obd tools.. Definitely nice to get started, I learned a lot from using an elm and I still am.. Very easy to use with a serial terminal tool like termite. Definitely opened some doors.. lol..

I did stop work with the elm myself because I managed to get the gm mdi to work. I have a few of those and it is so much easier communication wise once you learn how to connect with it...
I love working with specfic J tools. Unfortunately they are not all equal, and also don't all respond identical as they should as per SAE, but in general its my go to with all my current commercial software.

I do look forward to migrating to obdx tools fulltime since Im sick of updates from 3rd party scantools which end up causing problems :roll:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Adding ALDL to ELM protocol - What have I done!

Post by antus »

Tazzi, you sick sick man! I dont know whether to laugh or cry. But I do understand the undeniable urge to do something you shouldn't when you know you can with technology.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
monaro308
Posts: 340
Joined: Sat Mar 21, 2009 2:02 pm
cars: VT S1 LS1 C/dore track car
HJ GTS Monaro Coupe
CV8 V2 S3
VE SSV

Re: Adding ALDL to ELM protocol - What have I done!

Post by monaro308 »

Can't believe this was back in 2014.
You were ELMing your way then.
elm.JPG
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: Adding ALDL to ELM protocol - What have I done!

Post by Tazzi »

antus wrote:Tazzi, you sick sick man! I dont know whether to laugh or cry. But I do understand the undeniable urge to do something you shouldn't when you know you can with technology.
Most certainly a "Hold my beer" moment :lol:
monaro308 wrote:Can't believe this was back in 2014.
You were ELMing your way then.
elm.JPG
yeeeeeeeeeeeeeeeeeeeeeep thats going back some time now! Man how time flys!
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Holden202T
Posts: 10311
Joined: Sat Feb 28, 2009 9:05 pm
Location: Tenambit, NSW
Contact:

Re: Adding ALDL to ELM protocol - What have I done!

Post by Holden202T »

we've all been playing this game for far too long now Tazzi ;)
User avatar
The1
Posts: 4694
Joined: Mon Jan 04, 2010 10:23 am

Re: Adding ALDL to ELM protocol - What have I done!

Post by The1 »

yeh i looked at ELM originally with vz tool and backed out pretty quick for J2534 lol, your a legend sticking with ELM as long as you did.
mattyjf01
Posts: 282
Joined: Wed Sep 04, 2019 8:41 pm

Re: Adding ALDL to ELM protocol - What have I done!

Post by mattyjf01 »

Nice
I went a bit backwards Arduino J2534 then Elm

Does it support SW-CAN?
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: Adding ALDL to ELM protocol - What have I done!

Post by ironduke »

mattyjf01 wrote:Nice
I went a bit backwards Arduino J2534 then Elm

Does it support SW-CAN?
It can with a little bit of work.. If you wire up 14 to gnd and pin 6 to pin 1 then define a custom protocol at 33.3k then it seems to work fine. I didn't get it to wake up the gmlan data line though, it was a few years ago but I remember needing to jump pin 1 to voltage to wake up modules, then use the elm327 to talk on it.. or if I had the key on it would work just fine..

I'm not sure where it is but I did the pin wiring with a double pole switch at the end of the case so I could switch to high speed can or gmlan with the flick of a switch.. not automated though and couldn't talk to both at the same time.
Post Reply