IMO, if the speedometer needle is reflecting the speed correctly, the fault is in the speedometer.
If the needle is not moving while the motorcycle is underway the problem is either with the drive cable or with the drive gearbox on the front wheel.
Both ends of the inner, rotating cable have a square shape that connects to a square hole, one in the bottom of the speedometer and one that connects with the drive gearbox.
The inner cable is easily removed by loosening the knurled nut at the gearbox on the front wheel.
Pulling the outer cable sheath back a bit will reveal the inner cable. Once this is done the cable can be pulled out for examination.
If it is in one piece with both square drives showing, now is the time to lubricate it.
(A lack of lubrication is a common reason for both a failure of the cable or a failure of the drive gearbox).
One should not use a heavy grease to lubricate this inner cable. Some like a graphite lube or a very soft grease. I've had good luck with petroleum jelly, the white grease used on injuries and available at many drug stores.
If the cable is broken, obviously it needs to be replaced and I believe the one supplied by Royal Enfield is only sold as a assembly consisting of both the outer and inner cable. This assembly is not greased to my satisfaction so if this part is purchased it should be greased as mentioned above.
If the cable proves to be all right, before reassembling it, the front wheel needs to be raised up off of the ground.
Turning the front wheel in a 'forward' direction you should be able to see the inner square drive in the wheels drive gearbox rotate. If it does not turn while the wheel is turning there are two possible reasons.
First, the gearbox is broken and needs to be replaced.
A second reason is if the front wheel has been removed for any reason like fixing a flat, and it was not replaced properly with the speedometer drive gearbox engaging the tabs on the front hub, it will not turn while the wheel is turning.
Properly engaging the tabs by removing and reinstalling the front wheel should fix it.
If this is done, it is best to check the drive gearbox to make sure that the output is rotating when the wheel is rotating.
If only the inner cable was removed and greased, getting the speedometer cable back in can be frustrating.
Rotate the inner cable as you push it back up into the outer sheath.
When it is almost in place, you will have to have good luck because the square drive on the cable must align with the square drive hole in the speedometer.
I've had to rotate the inner cable slightly and retry to get it engaged for over 5 minutes but eventually, success will come and it will slide up into the sheath like it was meant to.
When inserting the lower square end into the drive gearbox, don't forget, it too must be rotated to align with the square hole.
Also, do NOT over-tighten the knurled nut that holds the cable to the gearbox.
It only needs to be tightened until it stops turning by hand. Then just another 1/8 turn and its done.
Edit: The answer was given while I was typing this. I'll leave it in place with the hope that it might help others.
In the meantime, especially in India where there is a lot of rain and humidity you should all make an effort to either lubricate the cable yourself or to be sure to ask your mechanic to do it the next time you have your bike into the shop.
![Smile](https://www.team-bhp.com/forum/images/smilies/smile.png)