So, i recently got a CEL, and the code I got from several scanners was p0031. That is the heated upstream a/f sensor. I put in a genuine Subaru part. I tried to reset the light. No dice. It stayed on. I checked the wiring, the fuses and relays behind the glove box, nothing worked. I finally decided to replace the downstream oxygen sensor, and viola, no more check engine light!