Car stopped running and giving power to the engine but it does still turn on. I got a code for P0016, P228d, and P0089, I've already replaced the crankshaft sensor. Is P0016 for sensor A or sensor B. And what else could be the problem
My car has an automatic transmission.
P0016 pertains to the intake camshaft (i.e., position "A"). If that code has set, apart from a sensor fault, there are quite a few other potential causes of the code, including: incorrect camshaft timing due to the timing chain having jumped; camshaft phaser out of position; impeded oil flow to the phaser due to incorrect oil viscosity or partly clogged passages; and the oil control valve (OCV) has a restriction in the OCV filter. P228d relates to out-of-range fuel pressure and that can be due to a faulty fuel pressure regulator, faulty fuel pump, and/or faulty fuel pressure sensor. P0089 also relates to the fuel system and could be due to a failed fuel pressure regulator, clogged fuel filter or screen, restricted fuel lines, or fuel pump output not meeting specifications.
There was a recall, initiated in late 2016, on the high pressure fuel pump used in the 2010 GMC Terrain. Given the codes that you are reporting, I would first check to see if your VIN number is within the GM recall because faults in that pump can cause engine operating problems much like what you are describing. To have the applicability of the recall checked out for your vehicle, and to then get a diagnosis performed once the status of the recall is determined (that is, whether the recall is applicable to your vehicle or not and, if applicable, whether the required replacement was performed by GM), please request a Check Engine Light diagnostic and the responding certified mechanic will resolve this. If you have further questions or concerns, do not hesitate to re-contact YourMechanic because we want you to make the most of your repair dollars and help you to get the best possible results.
Our certified mechanics come to you ・Backed by 12-month, 12,000-mile guarantee・Fair and transparent pricing