Toyota Repair: 2001 4Runner misfire code


Question
QUESTION: I am getting a misfire code on cylinders 1, 2 and 5. The engine runs smooth.  I don't notice any change in power.  After resetting, same codes will pop up.  The mechanic can't find anything wrong.  What could it be?

ANSWER: Hello, the #2 and 5 cylinders are both fired by the coil on #5, #1 also fires #4 but there is no code for #4.
Have you tried replacing the spark plugs and the plug wires? these are very common failures on these engines other than the coils.  

---------- FOLLOW-UP ----------

QUESTION: I tried replacing the plugs and wires before taking to a mechanic.  If 3 cylinders are misfiring shouldn't I notice?  The check engine light starts flashing at highway speeds.  It  won't stop flashing until I am at idle for a period of time.  If the misfiring is significant enough to cause the light to flash, I would expect it to be noticeable.

ANSWER: yes that makes sense, do you feel any vibration at that speed, like a tire balance issue that is bad enough to shake the steering wheel?
A misfire at higher speeds may not be noticeable but the computer may pick it up, try revving the engine to about 2000 rpm for a few minutes, sustain this for about 5 minutes and see if the check engine light turns on.

---------- FOLLOW-UP ----------

QUESTION: I tried running the engine at 2000 rpm for 5 minutes.  There was no light.  There has been a few times that the light flashed at about 45 mph.  This has happened on some colder mornings after the car sat overnight.  I don't feel any vibration.  I did have the issue with tire balance in the past.  When that was the problem, the codes would change.  I am consistently getting cylinders 1, 2 and 5.  How does the ECM check for a misfire?

Answer
It checks via the crank angle sensor, a misfire will cause a deviation of the speed of the crankshaft, a misfiring cylinder will slow the crankshaft down maybe only  few rpm the computer  and matches this deviation with the cylinder that is firing and sets the code number. A vibration caused by something other than that can be picked up by the sensor and the interpreted as a misfire.