One of my friend's has a 2013 Hyundai Elantra w/79K that has an intermittent check engine light. Supposedly the light would come on for a few days and would stay off for a week or two. I do not normally work on Hyundai's but I decided to give this one a try since he purchased the car from a mutual friend.
I scanned the car with my Autel and found a history fault for P2096, which is Post Catalyst Fuel Trim System too lean (Bank1). After doing a quick internet search, this does not appear to be an uncommon problem and it isn't always an easy one to fix. I pressurized the exhaust system with shop air (don't have a smoke machine) and did not find any leaks at the flex-pipe or any areas around the downstream O2. Checked the downstream o2 wiring harness and the heater in the sensor and it was fine. The service manual said to also make sure that the upstream sensor switches a minimum of 3 times in 10 sec (it does, so that's ok) and the downstream sensor voltage should be >0.6v at idle; this one read .7-.8v most of the time.
I then found a TSB from late 2014 (#14-FL-006) advising that Hyundai had released an updated PCM calibration to address the P2096 diagnostic logic. The vehicle's current calibration ID and the model year fit the description in the bulletin. Unfortunately, I do not own a J2534 reprogramming interface and battery maintainer. Luckily one of my buddies has a Cardaq Plus 2 and a Snap-On EEBC500 at his shop and he graciously allowed me to use them.
So I setup my laptop, paid $75 for the calibration file from Hyundai, hooked up the battery maintainer and did the reflash. It was a scary 15 min process but luckily the update completed successfully; the Hyundai J2534 utility does not have a manual mode (only the dealer's GDS tool does), so if the reflash failed, I could have been on the hook for a new ECM.
I then cleared the codes and the fuel adaptations, drove the car and immediately noticed that the transmission shifted smoother and the vibration at idle being gone. Weird - perhaps there were other changes with this update? Unfortunately I could not get all of the monitors to set during the test drive, so we will need to wait for the owner to put some miles on the car to find out if the problem is fixed. I was advised that sometimes, you will also need to replace the downstream o2 sensor even if the software is updated. We will see. If anyone has any experience with this fault code on this vehicle, any advice would be greatly appreciated.
Moral of the story - do your diagnostics and check for all applicable service bulletins before replacing parts. Car repair is becoming more complex and software reprogramming is often part of the fix, if not the only fix; replacing parts is not always the fix.