Testa denna guide:
I had the same problem.
Looking at the iFixit dissection of the iPhone 4, the vibration motor is in the top right hand side of the phone when looking at the rear surface. It is right next to the headphone socket. Reading other forums, it could be that the motor is jammed or stuck.
What I did was this:
Enable vibrate in both modes
Download a free vibrating app like “iBrate”
Activate vibration via the app
Gently tap the area where the vibration motor is and it kind of wakes up if that makes sense
It will stutter and come on and off but after a while it becomes a bit more regular
I also exercised the motor by leaving the vibrate on via the app for a few mins to get it going
I hope that helps as it has for me. I realised the problem last night and since the last hour it has been spot on.
Worst case is to get Apple to check it out as it has 12month warranty.
Annars får du nog kontakta Apple och kolla vad man kan göra åt saken, kan ju vara hårdvarufel.. Men dom kommer förmodligen be dig återställa luren först.