P1635 or U0422 in TCM or PCM after tire size change
Posted: Sat Apr 07, 2018 12:17 pm
We receive many complaints that on new cars (usually after 2011-2013 model years) changing tire size in BdyCM causes P1635 in PCM and/or TCM.
Models app. after 2011-2013 model years keep tire size and axle ratio in BdyCM and other modules (first of all, PCM and TCM) load it from there. Some models have no dedicated TCM module. In these models PCM manages both engine and transmission.
PCM usually requires special function to learn related changes in BdyCM module. This function in FORScan is called "Configuration and Programming->PCM module initialization/relearn vehicle data". As for TCM, only some of them have this function actually implemented. FORScan has no ablity to determine if the TCM has the learning function supported or not. So it shows this function in the list for all TCMs. If you get error in this function, it most likely means that this function is not really suported AND is not necessary because TCM learns new tire size in an automated mode.
So far our investigations and investigations of our users show the following:
1. if tire size is changed AND PCM and/or TCM have not learnt the new tire size, the P160A code will most likely appear. In this case owner needs to run PCM and/or TCM module initialization/relearn vehicle data function.
2. If P1635 appears in PCM or TCM after tire size change, it means that the module has learnt the new tire size, but this tire size is out of allowed range . Actually, this is exactly what P1635 DTC description tells us about:
P1635 - Tire/Axle Out of Acceptable Range
We suggest a simple test to check this. PCM and TCM modules usually have a TIRESIZE (or similar) PID that shows tire size in revs/mile or revs/km (depends on FORScan settings). Owner can add this PID to the Dashboard and check after the tire size change in BdyCM configuration (learn function may be necessary). The BdyCM parameter is the tire length (2 * Pi * R * 0.967) and TIRESIZE parameter is in revs/mile, but these parameters can be easily converted from length to revs/mile or vice versa.
At this moment the tests show the following behaviour:
i. If the new tire size is in acceptable range, the TIRESIZE is changed and matches (learn function may be neccessary)
ii. if the new tire size is out of acceptable range, the TIRESIZE becomes the lowest (or highest) possible value.
We suspect the tiresize limits are hardcoded in TCM firmware. The transmission as built data (TRID block) usually contain transmission strategy and solenoid ID numbers and doesn't seem to have the limits (but we cannot guarantee it). Also we do not recommend to play with TRID block as transmission strategy and solenoid ID are critically important for normal transmission work and if these values are incorrectly changed, it will be not good for the transmission health at all.
Update 2019-11-08: It seems MY2018+ models throw U0422 "Invalid Data Received From Body Control Module" instead of P1635. Also for new models it seems to be not possible to read "actual maximum allowed" tire size.
Models app. after 2011-2013 model years keep tire size and axle ratio in BdyCM and other modules (first of all, PCM and TCM) load it from there. Some models have no dedicated TCM module. In these models PCM manages both engine and transmission.
PCM usually requires special function to learn related changes in BdyCM module. This function in FORScan is called "Configuration and Programming->PCM module initialization/relearn vehicle data". As for TCM, only some of them have this function actually implemented. FORScan has no ablity to determine if the TCM has the learning function supported or not. So it shows this function in the list for all TCMs. If you get error in this function, it most likely means that this function is not really suported AND is not necessary because TCM learns new tire size in an automated mode.
So far our investigations and investigations of our users show the following:
1. if tire size is changed AND PCM and/or TCM have not learnt the new tire size, the P160A code will most likely appear. In this case owner needs to run PCM and/or TCM module initialization/relearn vehicle data function.
2. If P1635 appears in PCM or TCM after tire size change, it means that the module has learnt the new tire size, but this tire size is out of allowed range . Actually, this is exactly what P1635 DTC description tells us about:
P1635 - Tire/Axle Out of Acceptable Range
We suggest a simple test to check this. PCM and TCM modules usually have a TIRESIZE (or similar) PID that shows tire size in revs/mile or revs/km (depends on FORScan settings). Owner can add this PID to the Dashboard and check after the tire size change in BdyCM configuration (learn function may be necessary). The BdyCM parameter is the tire length (2 * Pi * R * 0.967) and TIRESIZE parameter is in revs/mile, but these parameters can be easily converted from length to revs/mile or vice versa.
At this moment the tests show the following behaviour:
i. If the new tire size is in acceptable range, the TIRESIZE is changed and matches (learn function may be neccessary)
ii. if the new tire size is out of acceptable range, the TIRESIZE becomes the lowest (or highest) possible value.
We suspect the tiresize limits are hardcoded in TCM firmware. The transmission as built data (TRID block) usually contain transmission strategy and solenoid ID numbers and doesn't seem to have the limits (but we cannot guarantee it). Also we do not recommend to play with TRID block as transmission strategy and solenoid ID are critically important for normal transmission work and if these values are incorrectly changed, it will be not good for the transmission health at all.
Update 2019-11-08: It seems MY2018+ models throw U0422 "Invalid Data Received From Body Control Module" instead of P1635. Also for new models it seems to be not possible to read "actual maximum allowed" tire size.