JavaChap Blog Java and Technology musings for the masses

1Jul/09389

Vodafone India – GPRS for iPhone without Data Plan

Update: If you have the latest version of  iOS  (3.1.3, 4.0, 4.1 or later), please check update below.

Vodafone(India) will not allow to use the regular GPRS plan (Vodafone Live) on iPhone. We need to take special iPhone data plan which costs min of Rs 199. This is sort of insane, So I just took a crack at it and found a way to access the internet using the regular plan. I have an unlocked, jailbroken iPhone which is running 3.0 firmware. Please follow the below instructions.

Using OpenSSH, edit preferences.plist located in /private/var/preferences/SystemConfiguration.
Important: Make sure you take a backup of the original preferences.plist.

Around line number 89 (this is appox line number, contents of the file may change based on your phone settings) replace the <dict> with below <dict>

	<dict>
	<key>Interface</key>
	<dict>
		<key>DeviceName</key>
		<string>ip1</string>
		<key>Hardware</key>
		<string>com.apple.CommCenter</string>
		<key>Type</key>
		<string>com.apple.CommCenter</string>
		<key>UserDefinedName</key>
		<string>com.apple.CommCenter (ip1)</string>
		</dict>
	<key>Proxies</key>
	<dict>
		<key>HTTPEnable</key>
		<integer>1</integer>
		<key>HTTPPort</key>
		<integer>9401</integer>
		<key>HTTPProxy</key>
		<string>10.10.1.100</string>
		</dict>
	<key>UserDefinedName</key>
	<string>com.apple.CommCenter (ip1)</string>
	<key>com.apple.CommCenter</key>
	<dict>
		<key>AllowNetworkAccess</key>
		<integer>1</integer>
		<key>Available</key>
		<integer>1</integer>
		<key>Setup</key>
		<dict>
			<key>AllowNoDNS</key>
			<integer>1</integer>
			<key>apn</key>
			<string>portalnmms</string>
			<key>password</key>
			<string></string>
			<key>type-mask</key>
			<integer>1</integer>
			<key>username</key>
			<string></string>
			</dict>
		<key>Version</key>
		<integer>2</integer>
		</dict>
	</dict>

To activate Vodafone Live (GPRS) see Vodafone Website

Update: The below configuration is working on 3.1.2 as well, but the line numbers are little different.

Update (16 Mar 2010):

Many guys have commented that the changes that were made in preferences.plist are lost after restarting the iPhone (for versions 3.1.2 and 3.1.3). So today i decided to take a look at it. And what you guys said is absolutely right, i upgraded my iPhone OS to 3.1.3 and i see that the settings are lost after restarting the phone. And you guys don't worry, i had found a way to fix this and this is much easier than my previous solution. Below are the step by step instructions.

  1. Download and Install iPhone Configuration Utility from http://support.apple.com/kb/DL926
  2. Open the application, Select Configuration Profiles on the left hand side menu and click New in the toolbar; Enter the name, identifier, organization and description; see the image below for more details
  3. Now go to Advanced option and set the apnname = portalnmms, proxy server  =10.10.1.100 and port = 9401
  4. Connect your iPhone to computer via USB cable and you should see your iPhone in the devices menu on Left hand side. Select your device
  5. Select Configuration Profiles tab and you should see the Vodafone Profile; Click on Install
  6. You will see a pop on your iPhone asking for permission to install the configuration, Click Install button in your iPhone
  7. Turn on Data Roaming. Data Roaming can be turned on from Settings > General > Network on you iPhone.
  8. And you are done with the configuration. You should be able to use internet on your iPhone now. If its not working just reboot your phone.

Hope this helps !! Please feel free to give your Feedback, Suggestions

Update(08 July 2010): Few guys confirmed that this is working on iOS 4 as well, i personally couldn't test this at this point of time as i'm out of country. I will update this post as soon as i'm back in India. Thanks Sanjeev, Taran for testing it out on iOS 4. You might need to download the upgraded version of the configuration utility. You can download it from http://support.apple.com/kb/DL926.

Update(14 Nov 2010): This configuration works good on iPhone 4 as well. Tested and Certified by me :D

Update(10 Dec 2010): For those that this configuration is not working, please turn on Data Roaming. Data Roaming can be turned on from Settings > General > Network.

Update(2nd May 2011): 4.1, 4.1.2 are good with the same configuration

Update(31st May 2011): I Confirm that 4.3 is good with the same configuration for iPhone 4.

Comments (389) Trackbacks (0)
  1. i have iphone 2g with ios4.0 plz tell me how to use monthly data plan(rs95) on vodafone?
    plz reply

  2. http://support.apple.com/kb/DL926 dis link is dead send me another link please..

  3. I just wanted to say, thank you very much for posting this useful information online. After a lot of struggling I am finally able to surf and use my iphone 4 on Vodafone Live.

  4. Feb 27 14:51:57 unknown mc_mobile_tunnel[179] : MC|mc_mobile_tunnel starting.
    Feb 27 14:51:57 unknown profiled[178] : MC|MCWiFiPayload Can’t parse payload: NSError 0x1c582b20:
    Desc : The payload vodafone is invalid.
    Sugg : The required field SSID_STR is missing.
    US Desc: The payload vodafone is invalid.
    US Sugg: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c5883b0:
    Desc : The required field SSID_STR is missing.
    US Desc: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2002
    Type : MCFatalError
    Params : (
    “SSID_STR”
    )
    Feb 27 14:51:57 unknown profiled[178] : MC|Payload (null) contains ignored fields. They are: {
    AutoJoin = 1;
    EncryptionType = Any;
    “HIDDEN_NETWORK” = 0;
    Proxies = {
    HTTPEnable = 0;
    HTTPSEnable = 0;
    ProxyAutoConfigEnable = 0;
    ProxyAutoDiscoveryEnable = 0;
    };
    }
    Feb 27 14:51:57 unknown profiled[178] : MC|Cannot create profile of type com.apple.wifi.managed. Error: NSError 0x1c582b20:
    Desc : The payload vodafone is invalid.
    Sugg : The required field SSID_STR is missing.
    US Desc: The payload vodafone is invalid.
    US Sugg: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c5883b0:
    Desc : The required field SSID_STR is missing.
    US Desc: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2002
    Type : MCFatalError
    Params : (
    “SSID_STR”
    )
    Feb 27 14:51:57 unknown profiled[178] : MC|Profile MCConfigurationProfile 0x1c5826c0, version 1:
    Display Name: vodafone
    Description : Vodafone APN
    Identifier : vodafone.in
    UUID : 11631E0F-566E-49C4-964D-5C4C0ECE19AA
    Organization: JavaChap
    Is Stub : No
    Locked : No
    Encrypted : Yes
    Trusted : 2
    Signed : Yes
    Signed by : iPCU CA 871cb235-7fe3-4111-96b7-30bd30b90643
    Can’t parse profile: NSError 0x1c5955a0:
    Desc : The profile vodafone is invalid.
    Sugg : The payload vodafone is invalid.
    US Desc: The profile vodafone is invalid.
    US Sugg: The payload vodafone is invalid.
    Domain : MCProfileErrorDomain
    Code : 1000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c582b20:
    Desc : The payload vodafone is invalid.
    Sugg : The required field SSID_STR is missing.
    US Desc: The payload vodafone is invalid.
    US Sugg: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c5883b0:
    Desc : The required field SSID_STR is missing.
    US Desc: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2002
    Type : MCFatalError
    Params : (
    “SSID_STR”
    )
    Feb 27 14:51:57 unknown profiled[178] : MC|Failed to parse profile data. Error: NSError 0x1c5955a0:
    Desc : The profile vodafone is invalid.
    Sugg : The payload vodafone is invalid.
    US Desc: The profile vodafone is invalid.
    US Sugg: The payload vodafone is invalid.
    Domain : MCProfileErrorDomain
    Code : 1000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c582b20:
    Desc : The payload vodafone is invalid.
    Sugg : The required field SSID_STR is missing.
    US Desc: The payload vodafone is invalid.
    US Sugg: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c5883b0:
    Desc : The required field SSID_STR is missing.
    US Desc: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2002
    Type : MCFatalError
    Params : (
    “SSID_STR”
    )
    Feb 27 14:51:57 unknown profiled[178] : MC|Profile cannot be queued for installation. Error: NSError 0x1c595f60:
    Desc : Invalid Profile
    Sugg : The profile vodafone is invalid.
    US Desc: Invalid Profile
    US Sugg: The profile vodafone is invalid.
    Domain : MCInstallationErrorDomain
    Code : 4000
    Type : MCFatalError
    …Underlying error:
    NSError 0x1c5955a0:
    Desc : The profile vodafone is invalid.
    Sugg : The payload vodafone is invalid.
    US Desc: The profile vodafone is invalid.
    US Sugg: The payload vodafone is invalid.
    Domain : MCProfileErrorDomain
    Code : 1000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c582b20:
    Desc : The payload vodafone is invalid.
    Sugg : The required field SSID_STR is missing.
    US Desc: The payload vodafone is invalid.
    US Sugg: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2000
    Type : MCFatalError
    Params : (
    vodafone
    )
    …Underlying error:
    NSError 0x1c5883b0:
    Desc : The required field SSID_STR is missing.
    US Desc: The required field SSID_STR is missing.
    Domain : MCPayloadErrorDomain
    Code : 2002
    Type : MCFatalError
    Params : (
    “SSID_STR”
    )
    Feb 27 14:51:57 unknown lockdownd[17] : 2fffb000 handle_connection: Could not receive USB message #6 from unknown. Killing connection
    Feb 27 14:51:57 unknown com.apple.mobile.lockdown[17] : Could not receive size of message
    Feb 27 14:51:57 unknown mc_mobile_tunnel[179] : MC|mc_mobile_tunnel shutting down.
    Feb 27 14:52:09 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 0 -> 1
    Feb 27 14:52:57 unknown profiled[178] : profiled|Idled.
    Feb 27 14:52:57 unknown profiled[178] : profiled|Service stopping.
    Feb 27 14:53:26 unknown SCHelper[37] : active (but IDLE) sessions
    Feb 27 14:53:26 unknown SCHelper[37] : 0x1d56fd00 {port = 0x381b, caller = SpringBoard(28):com.apple.preferences, path = /Library/Preferences/SystemConfiguration/preferences.plist}
    Feb 27 14:53:46 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 1 -> 0
    Feb 27 14:53:47 unknown kernel[0] : set_crc_notification_state 0
    Feb 27 14:55:12 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 0 -> 1
    Feb 27 14:55:38 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 1 -> 0
    Feb 27 14:55:38 unknown kernel[0] : set_crc_notification_state 0
    Feb 27 14:56:39 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 0 -> 1
    Feb 27 14:57:21 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 1 -> 0
    Feb 27 14:57:22 unknown kernel[0] : set_crc_notification_state 0
    Feb 27 14:57:32 unknown kernel[0] : ttyioss1000002: enqueueData rtn (e00002d7)
    Feb 27 14:58:22 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 0 -> 1
    Feb 27 14:58:37 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 1 -> 0
    Feb 27 14:58:38 unknown kernel[0] : set_crc_notification_state 0
    Feb 27 14:59:38 unknown SpringBoard[28] : MultitouchHID(1e51b770) uilock state: 0 -> 1
    Feb 27 15:02:04 unknown CommCenter[32] : No more assertions for PDP context 0. Returning it back to normal.
    Feb 27 15:02:04 unknown CommCenter[32] : Scheduling PDP tear down timer for (352028224.690732) (current time == 352027924.690742)
    Feb 27 15:04:34 unknown SCHelper[37] : active (but IDLE) sessions
    Feb 27 15:04:34 unknown SCHelper[37] : 0x1d56fd00 {port = 0x381b, caller = SpringBoard(28):com.apple.preferences, path = /Library/Preferences/SystemConfiguration/preferences.plist}
    Feb 27 15:15:32 unknown kernel[0] : ttyioss1000002: enqueueData rtn (e00002d7)
    Feb 27 15:19:31 unknown CommCenter[32] : No more assertions for PDP context 0. Returning it back to normal.
    Feb 27 15:19:31 unknown CommCenter[32] : Scheduling PDP tear down timer for (352029271.882640) (current time == 352028971.882649)
    Feb 27 15:22:01 unknown SCHelper[37] : active (but IDLE) sessions
    Feb 27 15:22:01 unknown SCHelper[37] : 0x1d56fd00 {port = 0x381b, caller = SpringBoard(28):com.apple.preferences, path = /Library/Preferences/SystemConfiguration/preferences.plist}

    this all shit i faced man.
    no way out


Leave a comment

(required)

Spam protection by WP Captcha-Free

No trackbacks yet.