I have the same problem for about half of a year. I've tried entering "checkin" secret code in phone Dialer many times, many weeks in a row, tried to clear data of Google service framework - no luck.
But yesterday I've finally get updated to Android OS 4.1.1! Here is how I did this:
- open phone Dialer, enter *#*#2432546#*#* (numbers is representing word "checkin")
- wait for message "checkin succeeded" in status bar (you need active internet connection, WiFi or mobile - doesn't matter)
- open system Settings -> Apps -> All -> Google Services Framework
- click "Force stop" button, wait few seconds
- next click "Clear data" button
- when open Settings -> About -> System updates. You should see something like "Last checked for update on 1/1/1970"
- click "Check now" button
- if you didn't receive update yet, repeat this procedure from first
step few more times (I've succeeded after second attempt). You could also try to replace step 7 by step 1.
All this sounds very strange for me, but I've tried some separate parts of this sequence many times before and it didn't work. Yesterday I've repeat all 8 step exactly as them written above, two time in a row - and I've finally get Jelly Bean on my Galaxy Nexus (I have yakjuxw firmware).