iPhone 3GS on Consumer Cellular with Edge data working!

[contentblock id=2]

Read this first: This post is somewhat dated so I’ve written a follow-up post that could save you a lot of time if you just want a quick way to set up your iPhone or iPad on Consumer Cellular.

As you read on, you’ll see that this was a discovery process for me. I took several steps that weren’t really necessary. So try this first…

  1. Make sure your iPhone is jailbroken. Read up at the iPhone Dev Team blog for more info on jailbreaking.
  2. Update your AT&T carrier bundle to allow APN editing. You will need an SFTP application such as Cyberduck (mac) or Filezilla (PC) to connect in and see the files on your iPhone. Connect to root@youriPhoneIPaddress using the user name root and the password alpine (unless you’ve already changed the root password – which you should do if you haven’t already). Inside the AT&T carrier bundle, there is a file named carrier.plist. It is located here… /System/Library/Carrier Bundles/ATT_US.bundle/carrier.plist. It contains a property named “AllowEDGEEditing” which is a bool (true/false) property. If that property is not in the file, you can manually add it using the Apple plist editor (part of the Apple developer tools – a free download). I’m sure there are free plist editors for the PC as well. Note that this file must be saved in the same format that you found it (binary). Don’t try to save it as a plain text XML file. It won’t work. If you are using an editor other than the Apple plist editor you’ll need to make sure it supports binary when saving. After editing this file, go to Settings > General > Network > Cellular Data Network and enter the consumer cellular APN, MMSC, MMS Proxy and MMS UA Prof URL.

That’s it. If that doesn’t work for you, read on…

Here is what your carrier.plist might look like…

Discovery Process (don’t do this stuff unless you know what you are doing):
Finally after almost 2 years with an iPhone on Consumer Cellular I figured out how to get their data plan working!  It took a great deal of hacking at carrier bundles.  By default Consumer Cellular uses the AT&T bundle but for some reason it does not use the AT&T carrier name on screen.  I haven’t figured that one out yet.  At any rate, this is pretty kickin’ because Consumer Cellular is cheap and you don’t have to unlock your phone for them to work!  On the flip side you do have to jailbreak to do this hack.

I’m uploading my AT&T bundle so that you don’t have to go through all the work but you might have to anyway since there are signatures in the carrier.plist file.  I’m not sure if those are tied to the phone or not.  Here are the files…

Consumer Cellular Custom .ipcc (I really don’t think you need this)
Consumer Cellular Custom AT&T bundle
ATT_US.bundle (4.3.1)

There’s definitely an easier way but this worked for me…

Custom Consumer Cellular carrier bundle (I don’t think you need to do this part)…

  1. Used the carrier bundle generator website to create a bundle using the listed Consumer Cellular APN and MMS settings**.
  2. Installed carrier bundle via iTunes as recommended by the carrier bundle generator website.
  3. Using SFTP, copied everything in /var/mobile/Library/Carrier Bundles/ (including ConsumerCellular_custom.bundle) to my desktop.  This serves as a backup in case something goes wrong.
  4. Deleted everything in /var/mobile/Library/Carrier Bundles/
  5. Copied ConsumerCellular_custom.bundle to /System/Library/Carrier Bundles/

Custom AT&T carrier bundle…

  1. Using SFTP, copied /System/Library/Carrier Bundles/ATT_US.bundle to my desktop.
  2. Opened carrier.plist from inside the AT&T bundle on my desktop with the Apple plist editor and added settings that were in the Consumer Cellular bundle but not in this one.  I also updated the name of the provider and MMS proxy URL.  Download the custom AT&T bundle and compare it to yours to see what all I changed.
  3. Copied ATT_US.bundle from my desktop back to /System/Library/Carrier Bundles/.
  4. Restarted the phone.

Note that you can use SBSettings to check if you have a “Data IP Address” on the Edge network.  If this is helpful leave me a comment and let me know of your success!

**Consumer Cellular’s listed APN and MMS settings…

Service Name MMS Web
Proxy Address proxy.mvno.ccmobileweb.com <blank>
Proxy Port 80 <blank>
Proxy Push Disabled Enabled
Authentication Type Secure Secure
Username (CSD/GPRS) <blank> <blank>
Password (CSD/GPRS) <blank> <blank>
GPRS access point att.mvno att.mvno
Homepage http://mmsc.cingular.com http://mmsc.cingular.com

UPDATE:

  • It appears that after running this for 2 days, Consumer Cellular is not tracking my data usage.  Perhaps the hacked carrier bundle is causing the iPhone to bypass their servers and go straight to AT&T? Or perhaps they are tracking it but it’s not being reflected on their website since they still think I’m using an old Nokia phone and the data option is grayed out?  It took a while to show up but they are tracking it.
  • I noticed that in order to get data working I must disable WIFI, data and the phone components.  Then enable phone, then edge.  Sometimes it takes a few minutes to turn on.
  • I later enabled this on my old 3G running iOS 3.1.3.  All I had to do was add the “AllowEDGEEditing” bool property to the beginning of the carrier.plist file inside the AT&T bundle.  Then I went to Settings > General > Network > Cellular Data Network and entered the consumer cellular APN, MMSC, MMS Proxy and MMS UA Prof URL.
  • Since I originally updated my carrier bundle, the plain text APN settings that I added have been converted to “data” entries encoded using a signature (most likely specific to my phone). You’ll see this in the plist if you download the second file listed above. I’m not sure how to generate these signatures but I suppose you could just remove them from the file and then manually add the APN settings again. Perhaps new signatures will be generated for your iPhone after doing so?

If this saves you money, please consider donating. This will allow us to continue to provide quality content.





 

How to Disable Multitasking on iPhone 3G and 3Gs iOS 4 Without Starting All Over

[contentblock id=2]

Problem: If you were in too big of a hurry to install iOS 4 on your jailbroken iPhone 3G, you might be surprised and disappointed to find out that Apple’s multitasking really doesn’t work well, or at all. After opening a few apps it basically leaves your phone with 2 to 4 MB of memory all the time. As you can imagine, that’s not enough memory to do just about anything without the OS having to free some up. You can manually remove the app freeze states but I found myself constantly doing it and trying to free memory before running anything. What a pain!

You might be asking, how did this happen? I thought multitasking was not supported on the 3G? That is correct.  It’s not supported but it can be enabled by simply flipping a switch in a Springboard plist (startup preferences file). Using the pwnage tool from the iPhone dev team you can enable multitasking during creation of your restore image by checking a checkbox but if you don’t want to build a new restore image, here is a better way.

This also applies to 3Gs owners who are disapointed in Apple’s implementation of “multi-tasking”. I prefer backgrounder to this solution. I would even if I were on a 3Gs.

Backgrounder has been updated for iOS4.  The beauty of this solution is that you can turn it on or off any time you wish.  It also supports more than one type of backgrounding (native, and foreground styles).

Solution:

  1. SFTP in to your phone or use something like iPhone Explorer and Go to /System/Library/CoreServices/SpringBoard.app/
  2. Open the N82AP.plist (for iPhone 3G) or the N88AP.plist (for iPhone 3Gs).  If you are unfamiliar with plist files, they are just XML files. In this case you may need the Apple plist editor (already installed on all macs) since these particular plist files are stored in a binary format rather than text.
  3. Expand the “Capabilities” section and uncheck the “multitasking” boolean property.
  4. Save the file and respring.

There are a few other things you may want to modify in the plist file while you’re in there.  Have a look at the options.  For the sake of speed, I disabled “homescreen-wallpaper” and enabled “launch-application-while-animating” and “load-thumbnails-while-scrolling”.  After making these changes and respringing, my iPhone 3G is running snappy!  There are a few exceptions to this such as the built in camera app. It is definitely slower to start up.  🙁

Can somebody please make an SBSetting Toggle for this?  That would be awesome!

UPDATE: There is an app on the SiNfuL iPhone repo now which will disable multitasking.  It’s called “Disable iOS4 Mutlittasking”.  That’s cool but an SBSettings toggle would still be cooler (even though it requires a respring).