I currently have a check engine light on my 1998 540i. The OBDII meter shows three codes P0505, P0170 and the P0173. What do these codes mean and what is the cure? I need to pass my California smog to get it registered for 2011. We have replaced the O2 sensors and the MAF unit, cleared the codes and they returned within a couple of hundred miles. Feeling lost and terrified of the cost if I have to take it to a shop.