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. "