Are you using an unlock to get service? If so, follow this guide. If you don't rely on an unlock, upgrade to 3.1.3 and JB using Spirit -
Spirit
----------
Edit your hosts file to point to Saurik's Cydia server
Shift-Click restore to 3.1.2
Upon first reboot and 1015 error, use iRecovery to escape boot-loop recovery screen
Unlock with Blackra1n.
---------------
Hosts file is located in C:\windows\system32\drivers\etc\
Add: 74.208.10.249 gs.apple.com
Save file
---------------
iRecovery Commands
setenv auto-boot true
saveenv
exit