Last updated Dec 15th,2009
Tips
#1 Do not use SBSettings Push toggle to turn push on and off. It may cause the dreaded "Connect to iTunes to use Push Notifications" problem. Use Settings -> Notifications -> Off.
#2 If you are using SBSettings EDGE toggle to save power or because you don't have an unlimited data plan, DON'T. First off, the EDGE toggle does not actually turn off EDGE. It prevents you, the user from using EDGE, but push still happily connects on EDGE even though it won't function. Push will not switch to WiFi if you turn off EDGE. The only way at this time to get WiFi pushes is to toggle Phone off with SBSettings. Push will then immediately switch to WiFi.
As far as I know, there is NO real way of turning off EDGE at the chip level. These hacks just temporarily break it so it doesn't work. BigBoss confirms it right here : http://thebigboss.org/tag/sbsettings-edge-toggle/
To save your data plan usage, go to Settings -> Notifications and turn push off there. If you do it this way and then go back in there and turn it back on, push will start up right away and work great.
FAQ
Q: PSFTP (or scp/ssh) won't let me enter the password. What do I do?
A: When you get to the password prompt, don't be afraid to type alpine. Your keyboard is working, the program just does not print your password out as you type it, nor does it print *s.. If you type alpine and press return you will find that it works. If you make a mistake while typing, just press enter and it will let you try again.
Q: Push is working in some apps, but not all. What can I do?
A: If you have received your keys, completed the procedure, and you get even one app working with push, then push is working on your phone. I suggest trying other apps and seeing if you have an isolated problem with one app.
Here are the steps to try with a non-working app:
1) Try to change a push setting within the app. If it allows you to turn notifications off and on in the app, do so. If you can change the sound effect of a push alert, try that.
2) For apps such as Ping!, you have to unregister your ID and register it again. Tap Unregister in the top left of Ping! and click through the warnings. Register again using the same ID and Ping! should now have your new push token. You can send a Ping! to your own ID to test this and you will get an echo of your message back. For NotifyMe, your key is only stored once upon registration. You will have to register with a different email or contact the developer to get them to reset your push token.
3) Uninstall the app and then install it again. This should work to resend the push key to the developer for almost all push apps.
4) Contact the developer. Greater than 95% of apps should be fixed by steps 1-3, but if it still isn't working, contact the developer. I don't recommend telling them you have a jailbroken phone because they will assume you have shared certificates. I am working to make developers aware of working push on jailbroken devices, but it is a slow process. For now, tell them you restored your phone doing a full restore, not from backup, and your push is not working in the app. The reason I say this is because this situation for a legitimate user is the same exact situation that we face when changing our push keys.
Q: Push is working, but why are messages delayed sometimes?
A: There are a few causes of this, so it's hard to be certain which one it is. First of all, it could be the WiFi DNS issue, which is the last question in the FAQ below. Second, it could be the quality of the push solution the developer is using (hardware, software, etc). Third is a phone carrier issue because I'm supporting push over any carrier in the world and not all carriers have the same service.
Developer slowdown description
If the delays only affect one or two apps, it is more likely the developers push solution. Not all push apps are created equal. Apple runs the push servers and they have massive hardware for this purpose. However, Apple is just the conduit to distribute the push message. The developer of every iPhone app has to have a server that tells Apple when to push a message, to whom, and the content.
Some developers have totally inadequate hardware for this purpose and you'll get sporadic push messages from them. Free apps usually have poor push notifications for this reason. Paid apps, like IM+ & Beejive have excellent push notifications. Free or cheap apps by big companies sometimes have good push results as well, the CNN & Yahoo apps are a good example. BargainBin is free, and their push notifications work ok, although right now the notifications are coming about 30 minutes late. UPDATE: Notifications are now several hours late.
Phone carrier description
Push is usually self adjusting to carrier conditions. Some carriers close idle TCP connections, which affects how push works. It opens a TCP connection to the push service and holds it open for hours. It only sends an occasional packet to make sure the connection is still alive, thus saving battery life. It does this anywhere from 5 minutes to an hour and adjusts if it finds out your carrier closes connections older than say 30 minutes.
That sounds cool, but in practice, it does occasionally think that it's connected to the push service when it is not (the carrier closed the connection without telling anyone). It may take up to 30 minutes before it realizes the connection is dead and reconnects to get the push alert. When this happens, the push service adjusts the interval down, but eventually it tends to climb back up until this happens again.
I am trying to come up with a way of forcing this interval, but so far I haven't been able to lock it. The OS keeps adjusting it.
Q: Should I setup my phone as a new phone on restore or not?
A: That depends. If you had a corrupt key, it is stored in the backup and it will be restored if you restore from a backup. If you set it up as a new phone, you will have an empty keychain that you can add the push fix to.
However, if your backup contained a working push key and you restore your backup, you will also restore the working push key and won't have to reinstall the key.
Q: I get the message "Connect to iTunes to use Push Notifications" when I turn notifications on.
A: I currently do not know what the cause of this problem is. UPDATE: Something in common with users experiencing this is that they all used SBSettings Push toggle, which is why I am recommending it not be used. A google search of that message yields thousands of pages. If you look at them, many legitimately activated users are experiencing the problem as well. If you think you know what causes it, or the solution, please contact me. You can try the "Try this if all else fails" thread in this forum and see if it works.
Q: I get the message "Can't connect to Youtube".
A: The YouTube servers are not accepting your YouTube key. This happens for an unknown reason, but I do have a fix: http://www.pushfix.info/forum/viewtopic.php?f=5&t=17
Q: I have an iphone 3g and 3gs. Currently i have your pushfix installed on my 3GS. If i use the same fix for my 3G and use the 3G to only send push messages to my 3GS will this create a problem. Since i don't send massages from both phones at the same time, it seems it shouldn't.
A: If it is on two devices at the same time, there will be problems. It will not work as you think. If you send from your 3G, it may come back to the 3G instead of the 3GS. There is no way of knowing where the push will go.
Q: I installed the new youmail app with push and I still haven't received even one message. I have received Beejive and Mail messages. Do you have any suggestions?
A: If a particular app stops working or has not worked, you need to contact their support. Their support link is usually on their iTunes application page in the app store, in the description area. They can tell you whether your phone has registered with them and further troubleshoot the problem. Maybe they can send you a test push message.
If you have started receiving push notifications from just one app, your phone is just like a legitimate activation. I would not mention the push fix because many devs are aware of the previous broken push fixes. They will not help you if you tell them you have a jailbroken phone. I hope to change their minds in the future, but for now, they are not aware jailbroken users can have working push.
Q: Push just stopped working. Anything I can try?
Nov 9, 09 : I just experienced the DNS push problem that I have heard about. Also, the past couple days all of my iPhones and iPods have had intermittent errors connecting to the app store as well. I used tcpdump to discover that the problem seemed to be with DNS between the phone and my wireless router (Linksys WRT54G). The minute I set my DNS server on each phone to my ISP's DNS server instead of my router, everything worked again.
This is a widespread problem and is mentioned as a fix on Ping!'s Tips page (last tip) : http://www.pingmessaging.com/Ping!/Ping!_Tips.html as well as WhatsApp's FAQ : http://www.whatsapp.com/faq/#33
The WhatsApp FAQ has a better solution to the DNS problem.
So, you may want to try the DNS tip on his page and see if that works - or set your DNS to that of your ISP if you happen to know that. You may need to reboot your phone to flush the bad DNS entries from RAM.
This probably only affected my push while I was at home because on EDGE or 3G without WiFi, your provider answers the DNS requests.
