Hi Scott, I have a 2017 Subaru Impreza manual with 40k miles on it. Recently I started hearing lots of rattling on light accelerations from the engine bay. Did some research on the internet and people recommended putting premium gasoline in the car so I did, the rattles went away. So now every time I put regular gas in it, it will start rattling again. Went to check at the dealership and they charged me tons of money for diagnosis without finding any problems. Have you ever heard of this issue? If yes, how do I get it fixed? (It’s my work car and I leave it on idle all the time but make sure to maintain it very well) I live in Houston.
@khoanguyen
same here on my 2011 impreza. only happended with light throttle. hitting the up-pipe, down-pipe around when cold but not really find any shield loose. no idea.
The engine in that car (FB20 I believe) is designed to run on 87 octane. The rattling you're experiencing is likely engine knock from detonation or pre-ignition (not rod knock). Running premium fuel appears to solve this issue because the octane rating is, most simply, a rating of the fuel's ability not to knock. Higher octanes will resist knocking better than lower octanes.
This issue happens when the car's computer is unsure of how to fuel the engine for the load condition (how fast the car is going and what you're doing with the gas pedal). If this gets bad enough, it will eventually trigger a lean code, rich code, or some misfire code. A couple of very simple, cheap, and easy ways to troubleshoot fixes are as follows:
- Check the air filter and make sure it isn't clogged or dirty.
- Clean the Mass Air Flow Sensor
- (If possible) Use a scan tool and see if your Long Term Fuel Trim (LTFT) is running rich or lean. It should be pretty close to 0% on an engine that new, but anywhere from ±1.5% is normal-ish (every engine is different). If you are outside of that range, that may indicate a more serious issue that will require more troubleshooting to fix.
It is possible that a sensor may be faulty (not just dirty) but this would usually trip a code.