T87 Swaps

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
I'm good with it. Not my wife..

Not having any luck with a 16 truck within an hour of me. So, plan B. Who has a 16 truck and a simple WIFI or Bluetooth OBD dongle. Take me a few to setup the commands again here, but one can capture canbus data using a simple ELM327 chip. All I need is the GMLAN ID set to solve this without access to a truck..

Sent from my SM-S901U using Tapatalk
 
  • Haha
Reactions: darkness

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Ok @Cougar281 got another good one for you to test, before ya get in trouble with the wife.. As this scientific study post probably won't do much good after the fact... LOL

I attempted to clear these DTC's with a Full Flash of the same Allison OS. No luck, and some further reading shows these Permanent DTC's are stored in NVRAM. However I now wonder if changing the OS back to a gasser version would clear it? Because I don't recall encountering any Permanent DTC's in the 16 Gasser version. So before I try a double OS swap again, I think your tools do it a bit safer...

Now here is our reasons why I hope that trick will work. Clearing these Permanent DTC's on the bench is basically impossible. According to the T87A annotations, it only takes 10 seconds of a single missing CANbus ID to set the No ECM PCM comms DTC. However to clear it, takes 15 or more successful starts, and up to 200 miles of actually driving... Which is sorta a big deal. Not only because I don't have TCM attached to a truck, but because I'm not yet 100% positive which CANbus ID has it pissed off. And the PID's I used to verify TCM was happy before, are not active in this Allison OS. I'm throwing darts in the dark over here.

So the only reasonable approach to resolving this is gonna be either disable that DTC using HPT, and then migrate said file to EFIlive. Or clear the DTC somehow, then after re-flash, test any CANbus changes within the first 10 seconds of power up. Guessing I can kill the power completely at the 8 seconds mark, reset, and hopefully get a few shots at it that way.. Or we have to start with a 87A model, which I can change that timeout to like 10 minutes, and work backwards from there.

Last night I was able to locate the full list of ID's, that if missing, sets the U0100 DTC in the 87A file. So I'm pursuing that list as our starting point until I can find a 2016 truck to verify against. Believe I can get the network parts happy now. The other Permanent DTC's are not a big deal at the moment. Figured out why the speed sensors set, and probably go grab a valve body tonight. Then once I have those parts happy, will modify the Arduino Crank/Cam emulator script again, to match up or Input and Output speed sensor pulses to our Engine RPM.. Then I can crank the old LMM up to 5800R's and set the speedo to 150mph, and likely trick it to clean up within an hour or so. Best bet..

Below is just some of what we are dealing with, straight from the T87A. These things have over 100 buffers dedicated to store CVN changes and Permanent DTC related fields. Short of severe electrical shock, or a big freaking magnet, I don't think ya can erase this NVRAM with the chip attached to the board... ⚡


" Set of stored Trigger DTCs which have already been transmitted in the CAN signal. "

"Indicates to the warm up cycle process to either use the classic warm up cycle definition with coolant temperature or the new definition with the Permanent DTC Standard OBD Drive Cycle Conditions criteria"

" This expandable NVM array is used to track for each Permanent DTCs stored, whether a pass and no fail drive cycle has occurred without any subsequent failure reports. "

This adaptable NVM array is used to store Permanent DTCs stored as DTC Identifiers

" This expandable NVM array is used to track for each Permanent DTCs stored, whether a pass and no fail drive cycle has occurred without any subsequent failure reports. "

" An indicator that the minimum required driving in order to clear Permanent DTCs (Mode 0A) has been met this drive cycle. "

" The amount of time the controller has been operating. Note - in order to provide correct data in the Permanent Failure Record, Controller Reflash History and PID $2068, this cumulative NVM variable is reset to zero at First Time Init. Function. "

" An indicator that the minimum required driving in order to clear Permanent DTCs (Mode 0A) has been met since fail or codes were cleared using a scan tool or by battery disconnect. "
 

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
Do you have an EFILive tune for a 15/16 gasser version? I don't have a 'good' way to do it with SPS2, but worst case if something goes sideways, I can use the other tools to put the 15 Allison cal back in... It would be nice if SPS2 was still like it used to be - you could buy a three day sub for like $45 and had unlimited access during that time... could program, test, program another, test some more, etc no problem. Now, it's $45 per VIN, which to be fair, it's totally bad because that gives two years of access to program that VIN.
 
Last edited:

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Yes I saved the 16 gasser before changing to the Allison. Will post it up on my FTP and IM you the link shortly.

PS. Right after I crack this, thinking maybe I'll start a class action against GM... The whole OBDII regulation from 90's specifically states that all tools to perform updates must be provided by the OEM's for small shops to perform. Haven't read that old law in a while, but pretty certain it stated something about reasonable costs...
 
Last edited:

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
Got it and flashed it using 'the method' lol... No U0100 when connected to the E39A. I do get it connected to the E35B. What's odd is EFILive shows it as current (not Permanent, but there are some permanent codes like P0960, P0964 etc), but my innova scanner shows it as pending. I tried a few 'key cycles' and it wouldn't go to history (not sure how many it would take), but I cleared the codes and the U0100 stayed away. I imagine it would have gone to history or away in general eventually. So it seems like the gasserT87/T87A cals like 'most' gasser ECMs, even if it's not one it was supposed to originally be mated with, but the Allison cals are looking for something else that the gasser and older diesel ECMs are not providing.

Edit: The Gasser cals are, not surprisingly, also happy with the E80 ECM, which is actually the one the T87A was originally paired with.

My other guess is that in a truck like a 2011+ that had a T14, the U0121 and U0140 likely won't set, but likely will in an older truck like the LBZs, because that communication is over Class 2. The LMMs have GMLAN/CAN going to the EBCM.
 
Last edited:
  • Like
Reactions: kidturbo

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Got it and flashed it using 'the method' lol... No U0100 when connected to the E39A. I do get it connected to the E35B. What's odd is EFILive shows it as current (not Permanent, but there are some permanent codes like P0960, P0964 etc), but my innova scanner shows it as pending. I tried a few 'key cycles' and it wouldn't go to history (not sure how many it would take), but I cleared the codes and the U0100 stayed away. I imagine it would have gone to history or away in general eventually. So it seems like the gasserT87/T87A cals like 'most' gasser ECMs, even if it's not one it was supposed to originally be mated with, but the Allison cals are looking for something else that the gasser and older diesel ECMs are not providing.

Edit: The Gasser cals are, not surprisingly, also happy with the E80 ECM, which is actually the one the T87A was originally paired with.

My other guess is that in a truck like a 2011+ that had a T14, the U0121 and U0140 likely won't set, but likely will in an older truck like the LBZs, because that communication is over Class 2. The LMMs have GMLAN/CAN going to the EBCM.
That sounds very promising. I'll give the old hack and flash a try again here shortly and let ya know.

Playing with the GMLAN protocol almost daily for past decade, gives a good insight into it's progression. The gasser high speed GMLAN stuff started out with a just a handful of simple message back in late 90's when they moved from single wire to two wire CAN.

I consider the E38 as the OG of modern GMLAN. But it wasn't only game in town. Because they outsourced some TCM's and BCM's back then, ya also have the common industrial J1939 protocol on the early Diesels, and a Bosch based BCM matching version in the Vettes up until like 2014. Digging thru E38 bin files, you'll find 2 sets of CANbus ID's and message structures. Our basic High Speed GMLAN, a Corrvette and Holden also I believe set. Determined by the OS# on same hardware.

Once they got their poop in a pile to control all the hardware nodes, ya have what they call GlobalA protocol, and after 2020 GlobalB. First is what I started reverse engineering long ago, so I skipped over the Class 2 single wire stuff. But the messages used in GlobalB today, are still based off OG code from 2000. Now what I have noted is some slight differences in between who's speaking what in those early year E67 vs E38 based on platform they were installed. But by 2014, they pretty much sorted all the messages, and same similar setup is shared across all platforms. However they have continued to ADD TO that list with every new platform release. Getting what we have here today, a failure to communicate...

But if you play within model years, then almost all of the hardware is swapable. Meaning you can drop a 2014 Duramax into a 2012 Camaro, and it will pretty much start, run, and drive with no more than a couple tweaks and simple VATS relearn.


I believe a snap on will reset permanent codes. Not sure if that’s helpful
Thanks I will give it a try. Typically I would agree the SnapOn can do what others often can't. But from what I've read about it, GM can't even clear those once set.
 

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
But if you play within model years, then almost all of the hardware is swapable. Meaning you can drop a 2014 Duramax into a 2012 Camaro, and it will pretty much start, run, and drive with no more than a couple tweaks and simple VATS relearn.
Well, by that theory, the 2016 Allison calibrated T87 should have been happy with the 2016 calibrated E92A... That theory does seem to hold true when sticking to gasser cals, but when you start crossing gasser and diesel cals, that's where things are going sideways.
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Well, by that theory, the 2016 Allison calibrated T87 should have been happy with the 2016 calibrated E92A... That theory does seem to hold true when sticking to gasser cals, but when you start crossing gasser and diesel cals, that's where things are going sideways.
Exactly... Why I'm setting here sorting and eliminating CANbus ID's between the 16 E92 and 17 E40 data I have recorded from vehicles. I never had a call for anyone running the LML in a stand alone environment, so kinda skipped over those years. Have a couple dozen airboats out there running my NMEA 2000 CANbus gateways with the E92. And plenty more with E67 and E38's. But that split year change in the Duramax seems to be where things are hung up.

Hopefully the T87 will talk nice to an L5P, cause I'm gonna feed it all those msg ID's as next attempt. Question is, who changed for whom?? Did our Hitachi engineers write their code to fit the 15 LML, or did GM change the ECM code to work with a 16 T87?? Simple question to answer, if I could find a truck, or get someone to capture the CANbus data off of one for me.
 

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
So I have a functional and communicating BCM on the bench... with the VIN of a 2015 Sonic but the calibrations from a 2015 Silverado Duramax... I tried scoping the 'serial data wakeup' line on the BCM, but still don't have a clear answer. The 'cheap' Hantek scope I have is a pain to figure out lol, but what I know is the 12v input, when the BCM is powered up, shows as about 12.09v with a DMM. The 'Serial Data Wakeup' shows 11.7v, so either the 'Serial Data Wakeup' is not just a '12v signal', or there's about a .4v voltage drop across whatever circuit/transistor/mosfet that's inside the BCM.... More research and maybe better tools may be required lol. Like I said before, the name suggests that there may be data involved... on the other hand, it could actually be just a 12v signal that means more along the lines of 'wake up the serial data'.... and if that's the case, why couldn't it just be 'IGN'?
 
Last edited:

TheBac

Why do I keep doing this?
Staff member
Apr 19, 2008
15,610
1,865
113
Mid Michigan
You know how GM is with naming simple stuff some "exotic name" to make it seem more important than it is to DIYers.
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Yeah it's always been a question of mine because of the way K-line works, starting at 12v is very similar to what I've noted. Only know that haven't found a node that didn't work correctly if ya just power that wire along with 12v Key On.
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Now just need a EBCM, and you'll be ready to drive off..

Quick question. What year did they switch from 87 to 87A in the Duramax builds? I've been analyzing CANbus captures I had on the laptop from a buddies 2018 L5P according the VIN.

2018 Chevrolet Silverado 2500HD 4WD Crew Cab 153.7" LTZ​

 

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
As far as I know, the T87 was up to the end of 2016(ish), T87A started with the 2017MY. T93 started with the 10-speed, possibly different years depending on application, but in 2019 in the case of my CT6 Sport.... The 2018 CT6 was a T87A 8-speed.
 
  • Like
Reactions: kidturbo

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,362
113
Somewhere On The Ohio
www.marinemods.us
Ok that's what I needed. Are those early T87A's also locked up, can ya swap OS on any of those?

Spent a few hours, more like eight actually, reviewing the 2018 messages structure against the T87A bin map data. Found a couple conflicting messages in the bin that didn't seem to line up with captured L5P data.. But did verify that some message ID's I know were required by the 87 gasser OS version, are not in the 87A required list, or transmitted by the L5P ECM. So still in the dark on the comms required for the LML-T87 version.. HOWEVER, I did find some off the shelf PC software that will work with an ELM327 BT Dongle, and record live CANbus messages. Making it super easy to capture some raw packets.. So who reading actually has a 2016 truck?

Getting ready to go test what I learned so far. Found a single msg ID missing from our happy gasser version testing that I'm gonna add to the mix. Secondary Axle data.. The L5P ECM is who sends front shaft status to the TCM, and of course that wasn't in our Camaro data set. But it's listed in the Required Message list for the 87A.. Wish me luck.
 

Cougar281

Well-known member
Sep 11, 2006
1,809
252
83
St Louis, MO
As far as I know, all T87A's are locked the same. I imagine you can change OSes and such, but I have no way to test it because I'd need a 2017 ECM connected at the same time because apparently, starting in 2016, SPS2 doesn't allow you to select the TCM only - it's a 'batch' program that includes both the ECM and TCM.
 
  • Like
Reactions: kidturbo