It could anything, jetting, crank shaft seals, plugged exhaust, and on and on. This does sound like what my 250 did with a bad ignition. Put an inductive timing light on your bike, and see that the ignition advances with an increase in RPM. My defective ignition advanced to midrange, then dropped back to no advance. It ran exactly as you describe.
|