i've had exact same issue.
rough idle then it gets better when engine is near operating temp.
during summer weather, no issue.
but if you read short/long fuel trim, it should be way too high(+20) (engine too lean)
when temp drops even more, it will throw p0300 random misfire.
i checked fuel pressure, fuel pressure regulator, egr valve, maf sensor, throttle body only because didn't want to mess with intake manifold gasket for a whole day.
finally replaced intake manifold gasket($70 from autozone, about 4 hours with hand tools) and it runs fine.
no rough idle, misfire and my fuel trim is now around +1.00~+3.00 even in subzero temp.
basic hand tools will do but you will need some small size socket for intake manifold bolts and fuel line disconnecting tool.
the hardest part for me was disconnecting fuel injector harness. still can't figure it out how to disconnect it properly, but somehow managed it.
to check live data, invest $20 for bluetooth obd2 reader and install some obd2 app on your smart phone.
fuel trim should be in single digit (positive or negative) and closer to 0 is better.
i believe if it stays 25 in either positive/negative, it will throw codes. (positive = too lean, negative = too rich)
rough idle then it gets better when engine is near operating temp.
during summer weather, no issue.
but if you read short/long fuel trim, it should be way too high(+20) (engine too lean)
when temp drops even more, it will throw p0300 random misfire.
i checked fuel pressure, fuel pressure regulator, egr valve, maf sensor, throttle body only because didn't want to mess with intake manifold gasket for a whole day.
finally replaced intake manifold gasket($70 from autozone, about 4 hours with hand tools) and it runs fine.
no rough idle, misfire and my fuel trim is now around +1.00~+3.00 even in subzero temp.
basic hand tools will do but you will need some small size socket for intake manifold bolts and fuel line disconnecting tool.
the hardest part for me was disconnecting fuel injector harness. still can't figure it out how to disconnect it properly, but somehow managed it.
to check live data, invest $20 for bluetooth obd2 reader and install some obd2 app on your smart phone.
fuel trim should be in single digit (positive or negative) and closer to 0 is better.
i believe if it stays 25 in either positive/negative, it will throw codes. (positive = too lean, negative = too rich)