2000 Jeep Cherokee 4.7L V8: P0601, P0320, P0108 Codes - Engine Stalls, Black Smoke, Gas Smell & Check Engine Light
I own a 2000 Jeep Cherokee with a 4.7L V8 engine. About a year ago, while driving on the freeway, I heard a loud pop from the engine as I approached my destination. Shortly after, the check engine light illuminated, and I began noticing a strong gasoline smell along with black smoke coming from the exhaust. After taking it to a mechanic, the following diagnostic codes were returned: P0601 (PCM Internal Controller Failure), P0320 (No Crankshaft Position Reference Signal at PCM), and P0108 (MAP Sensor Voltage Too High). The vehicle now stalls unexpectedly, exhibits fluctuating MAF/MPR readings that rise and fall on their own, and shuts off when coming to a stop. Once restarted, it emits a noticeable gas odor—suggesting a possible fuel leak or sensor malfunction. I understand the codes but am unsure what causes the stalling and the smell of gasoline. Can someone clarify these symptoms and provide guidance on how to diagnose and fix them?
This is a 4.7L V8 engine, not 4.0L. P0108 indicates the MAP sensor voltage is too high—this could mean the sensor isn't properly sensing vacuum or has a short to power. P0320 shows no crankshaft position reference signal at the PCM, which means the CKP (Crankshaft Position) sensor is likely faulty or has intermittent connectivity. P0601 points to an internal failure in the Powertrain Control Module (PCM). Two major issues: first, a vehicle should not run with a P0320 code—this suggests intermittent signal problems. Check the CKP sensor for corrosion, loose connections, or damage. The MAP sensor is also suspect—verify it's not shorted to voltage or misreading vacuum levels. Is the vehicle stock? Confirm and repair CKP and MAP issues before considering PCM replacement. After fixes, clear codes and perform a road test to verify improvement.