Ian
Notorious member
Yep, done the hokey pokey programming dance more than once. I think the program engineer did that just so he can laugh his butt off knowing how many people will be (with deep concentration) hopping about like idiots going through the sequence. It never works the first time, also probably part of the program sequence, that line of code in the end that contains a counter. (Nah, they wouldn't really do that would they??) Well.... who knows. The whole stupid ordeal deal just as easily been done through steering wheel audio or cruise buttons, or buttons on the AC control head, with the clock, cluster, or overhead display operating a countdown sequence, you know, like it was in the '80s. Oh, but if it was easy everybody would do it and not go pay the dealer to do it for them with their OEM scan tool (MUCH simpler process).
I bet what's happening with your liftgate glass isn't a malfunction, it's a program. If you had a scan tool that could read bus codes or body control module codes, it would be setting a set of codes for open circuits in the liftgate switch when you unplug it (remember, the systems are still awake and chatting to each other when you pull out the key), at which point the BCM is likely programmed to cut power to the whole flipper operation (meaning ignore further switch signal inputs) when it sees a connection problem so if you hit a bump at 70 mph and make mildly irritated and terribly inconvenienced pixies jump a bad connection somewhere, the glass doesn't inadvertently fly open and cause you to veer off a bridge in your moment of WTF!!! Clearing your codes by disconnecting the battery (TERRIBLE idea, by the way, more on that in a minute) puts everything back to normal until another malfunction is detected.
OK, I get it that sometimes you have no choice, but just power cycling the whole electrical system via the battery terminal isn't something you want to do very often. Reason? Adaptive memory gets wiped. Every module in the system except a few that actually write to hard memory (RKE codes, VIN, milage, cam/crank synchronization yes/no, etc.) gets its adaptive learned values reset to factory default values...which are barely good enough to make the vehicle operate when all the parts are brand new, much less compensate and optimize for your driving style (yep, you read that right, if it's OBD II it adapts to how you drive), wear on parts, carbon buildup, increased resistance in electrical connections, etc. etc.. There are a number of values which are re-learned almost instantly, but many are contained in a program set of the powertrain computer that we refer to as "MODE 6", or non-continuously monitored circuits. These Mode 6 parameters are what makes the vehicle run the way you expect, and they are only updated during certain conditions. Your altitude, for example, is only monitored at wide-open-throttle (zero manifold vacuum), and if the system doesn't know your altitude it has to make corrections vs. speed/density calculations (calcs based on pre-programmed formula that don't adapt) and oxygen sensor input...which doesn't work well on a cold start until the O2 heaters come on line. So you can get a case of the cold-start stalls. Also, idle air controls or electronic throttle controls have to adapt their position counters against airflow, and this must be learned and fine-tuned by actually driving. Then of course there's the short and long term fuel strategies, one set per bank of cylinders, and these keep the stoichiometry right at every instant of driving....IF each cell has had a chance to operate and trim fuel correctly. There are a whole stack of program "cells" for just about every conceivable driver input vs. sensor reading, and once this is all updated through driving (called a "good trip", a trouble-free run through a driving routine that is even more ridiculous and dangerous than programming an extra RKE), all the adaptives get a chance to learn the best strategy, and all the Mode 6 monitors re-set themselves, then your car should operate without any hitches, jerks, hiccups, or anything out of the ordinary. Exhaust catalyst monitors take the longest to reset, sometimes hundreds of miles. Automatic transmission shifts are all constantly learned and adapted based on your driving input, sensor feedback, and a little thing called an exponentially-weighted moving average of shift timing which compares shift solenoid duty cycle, transmission line pressure, and various shaft speed sensors to determine clutch pack wear and trim the shift solenoid duty cycle to make each shift the correct firmness and speed to maximize clutch life and driver comfort. When you disconnect the battery, you lose all that. Then you get bit startup RPM flares, possibly stalls, hard or slipping shifts, poor fuel economy, etc. until everything gets a chance to re-learn its state of wear, unique resistance ranges, state of restriction (such as fuel pressure, injector deposits, intake carbon, spark plug wear, compression values for each cylinder, yadda yadda). Oh, yeah, most engines have individual injector balance adaptives based on crank angle variances fore each cylinder's power cycle which compensate remarkably for valve or ring leaks, injector tip clogs, caked carbon on the valve stems of an individual cylinder. You get a check engine light when ANY of these adaptives reach their pre-programmed limit...that's how rationality trouble codes like "transmission range error" or "bank 1 lean" are generated. The BEST way to clear DTCs in any module is with the appropriate scan tool, granted it is impractical to obtain an OEM one which can access non-powertrain systems. You can re-boot the whole enchilada with a main bus power cycle, but you are well advised to research your vehicles drive re-learn procedures and take the time to go through it after you do.
I bet what's happening with your liftgate glass isn't a malfunction, it's a program. If you had a scan tool that could read bus codes or body control module codes, it would be setting a set of codes for open circuits in the liftgate switch when you unplug it (remember, the systems are still awake and chatting to each other when you pull out the key), at which point the BCM is likely programmed to cut power to the whole flipper operation (meaning ignore further switch signal inputs) when it sees a connection problem so if you hit a bump at 70 mph and make mildly irritated and terribly inconvenienced pixies jump a bad connection somewhere, the glass doesn't inadvertently fly open and cause you to veer off a bridge in your moment of WTF!!! Clearing your codes by disconnecting the battery (TERRIBLE idea, by the way, more on that in a minute) puts everything back to normal until another malfunction is detected.
OK, I get it that sometimes you have no choice, but just power cycling the whole electrical system via the battery terminal isn't something you want to do very often. Reason? Adaptive memory gets wiped. Every module in the system except a few that actually write to hard memory (RKE codes, VIN, milage, cam/crank synchronization yes/no, etc.) gets its adaptive learned values reset to factory default values...which are barely good enough to make the vehicle operate when all the parts are brand new, much less compensate and optimize for your driving style (yep, you read that right, if it's OBD II it adapts to how you drive), wear on parts, carbon buildup, increased resistance in electrical connections, etc. etc.. There are a number of values which are re-learned almost instantly, but many are contained in a program set of the powertrain computer that we refer to as "MODE 6", or non-continuously monitored circuits. These Mode 6 parameters are what makes the vehicle run the way you expect, and they are only updated during certain conditions. Your altitude, for example, is only monitored at wide-open-throttle (zero manifold vacuum), and if the system doesn't know your altitude it has to make corrections vs. speed/density calculations (calcs based on pre-programmed formula that don't adapt) and oxygen sensor input...which doesn't work well on a cold start until the O2 heaters come on line. So you can get a case of the cold-start stalls. Also, idle air controls or electronic throttle controls have to adapt their position counters against airflow, and this must be learned and fine-tuned by actually driving. Then of course there's the short and long term fuel strategies, one set per bank of cylinders, and these keep the stoichiometry right at every instant of driving....IF each cell has had a chance to operate and trim fuel correctly. There are a whole stack of program "cells" for just about every conceivable driver input vs. sensor reading, and once this is all updated through driving (called a "good trip", a trouble-free run through a driving routine that is even more ridiculous and dangerous than programming an extra RKE), all the adaptives get a chance to learn the best strategy, and all the Mode 6 monitors re-set themselves, then your car should operate without any hitches, jerks, hiccups, or anything out of the ordinary. Exhaust catalyst monitors take the longest to reset, sometimes hundreds of miles. Automatic transmission shifts are all constantly learned and adapted based on your driving input, sensor feedback, and a little thing called an exponentially-weighted moving average of shift timing which compares shift solenoid duty cycle, transmission line pressure, and various shaft speed sensors to determine clutch pack wear and trim the shift solenoid duty cycle to make each shift the correct firmness and speed to maximize clutch life and driver comfort. When you disconnect the battery, you lose all that. Then you get bit startup RPM flares, possibly stalls, hard or slipping shifts, poor fuel economy, etc. until everything gets a chance to re-learn its state of wear, unique resistance ranges, state of restriction (such as fuel pressure, injector deposits, intake carbon, spark plug wear, compression values for each cylinder, yadda yadda). Oh, yeah, most engines have individual injector balance adaptives based on crank angle variances fore each cylinder's power cycle which compensate remarkably for valve or ring leaks, injector tip clogs, caked carbon on the valve stems of an individual cylinder. You get a check engine light when ANY of these adaptives reach their pre-programmed limit...that's how rationality trouble codes like "transmission range error" or "bank 1 lean" are generated. The BEST way to clear DTCs in any module is with the appropriate scan tool, granted it is impractical to obtain an OEM one which can access non-powertrain systems. You can re-boot the whole enchilada with a main bus power cycle, but you are well advised to research your vehicles drive re-learn procedures and take the time to go through it after you do.