The Volvo Parts, Accessories &
Performance Specialists Since 1963

Learning Things and Rambling (an occasional confession) P3 Denso adaptation


Last week we were struggling with a problem on one of our project vehicles and the outcome taught us a lesson about assumptions and electronic things.

Our 2010 XC60T6 Overland project vehicle suddenly threw a fuel system compensation code that is fairly typical. This is a good example of the thoughts that run through my head when I am diagnosing a fault. It is usually unwise to take the OBD codes at face value.

  1. Since we had recently done a full service on the vehicle it was really easy to assume that one of the parts, or some of the labor was defective in nature. We spent some time checking all of the work that had been completed a couple weeks ago but could find nothing that seemed to apply to this issue. So we were leaning toward a new unrelated issue.
  1. From fishing around for information it looked most likely that this code and behavior would be generated by an air mass sensor that is a bit out of range. This vehicle is in the 100k range and has had little work done previously so that could certainly happen as a random failure. We installed a new sensor and cleared the code. The code came back on very quickly (as soon as the car drops out if start idle mode) when the vehicle goes to loop.
  1. After pondering a bit longer we lifted the hood again and discovered that, while installing the new sensor we had knocked off a fairly critical hose and caused an unmetered air leak. (see step one above;) this air leak could cause the same code so the confusion was bound to happen. It is brutally ironic when you are attempting repair and instead you install new errors. We reattached the hose and reset the codes.

Now the story should end here but it does not. As soon as the car dropped from high idle the error code returned.

I have always been impressed by the ability to adapt to problems that is present in these Denso system cars. But this problem led me down a path that causes questions as well as answers. Our car had been slapped silly by the succeeding issues of a failed/failing mass sensor followed by a mechanic induced unmetered air leak. In the process the vehicle had decided to completely ignore the data coming from that sensor channel since this data was clearly unreliable. After the data stream was repaired the vehicle continued to ignore the data stream and set the same error code.

In vehicle systems of these newer generations we have come to expect that the computer will adapt to and around errors and recognize when these errors have been corrected. In this case the vehicle had lost its spatial orientation regarding the mass signal and was simply stuck with believing the preprogrammed “safe” figure in memory storage. It does make sense that the systems engineers have built in this kind of safety to protect the consumer from suffering significant damage to the vehicle power-train.

The fix? In the factory/dealer repair computer system (VIDA) and some more advanced OBD code reader tools there is a function that will reset/erase the adaptations in the vehicle. This is essentially telling the vehicle to forget everything that has happened before and go back to operating the way it was originally designed. Then the vehicle will gradually re-adapt to the parts you have on the car currently (and hopefully you have fixed the issue that caused this quandary to start with). So we simply reset the adaptations and the Overland project is running well again with no codes. I saw this several years ago with an O2 sensor issue on a 2005 R model with ME7 so this problem is not new but I fear it may become more common.

The problem here for the shade-tree on the street is that it is very easy to leap to the conclusion that you have not diagnosed the car correctly or that the replacement part is defective. This really could be an issue for the kind of wrench that simply hangs new parts on a car until the problem goes away. Do not assume that this kind of wrenching is limited to amateurs.