"I have checked the starter relay, sometimes it gives 12v and sometimes it gives 4 or 6v"
What are you checking? The red cable from the battery should always be 12 V while the black cable to the starter should be 0 V except when cranking, when it should be around 11 V. You have a bad electrical contact if otherwise. The Y/G to the solenoid coil should be 0 V when not cranking and 12 V when the start button is pressed. The B/G lead from the solenoid to the clutch switch should be 0 V when not cranking and 0 V or 12 V when the start button is pressed, depending on whether the clutch lever is pulled or not.
What are you checking? The red cable from the battery should always be 12 V while the black cable to the starter should be 0 V except when cranking, when it should be around 11 V. You have a bad electrical contact if otherwise. The Y/G to the solenoid coil should be 0 V when not cranking and 12 V when the start button is pressed. The B/G lead from the solenoid to the clutch switch should be 0 V when not cranking and 0 V or 12 V when the start button is pressed, depending on whether the clutch lever is pulled or not.