The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Carrier Bundle"
m (Update command based on email) |
|||
(20 intermediate revisions by 9 users not shown) | |||
Line 3: | Line 3: | ||
For users on carriers other than the Apple's official partners, carrier bundles allow to configure important settings such as APN and enable features like MMS and tethering. |
For users on carriers other than the Apple's official partners, carrier bundles allow to configure important settings such as APN and enable features like MMS and tethering. |
||
− | On the |
+ | On the device side, carrier bundles are stored in the following directories: |
* /var/mobile/Library/Carrier Bundles/ - bundles downloaded via [[iTunes]]. |
* /var/mobile/Library/Carrier Bundles/ - bundles downloaded via [[iTunes]]. |
||
− | * /System/Library/Carrier Bundles/ - bundles provided with the [[firmware]] image. |
+ | * /System/Library/Carrier Bundles/ - bundles provided with the [[firmware]] image. Starting with iOS 4.2, carrier bundles are stored in a subfolder of this path. |
If two bundles with the same name exist in both paths, the one on user partition takes preference. This allows Apple to update carrier bundles without releasing a whole new OS. |
If two bundles with the same name exist in both paths, the one on user partition takes preference. This allows Apple to update carrier bundles without releasing a whole new OS. |
||
+ | On a computer that has downloaded carrier bundle updates, they are stored in the following directories: |
||
+ | * ~/Library/iTunes/iPhone Carrier Support/ - this folder will not exist if iTunes hasn't downloaded any carrier updates |
||
− | = Structure = |
+ | == Structure == |
+ | Carrier bundles are ZIP archives with .ipcc extension. They are named after the carrier and the country they are for (for example, <code>MyCarrier_au.ipcc</code>) They contain the mandatory Payload folder that includes the bundle itself and the symlink: |
||
− | |||
− | Carrier bundles are ZIP archives with .ipcc extension. They contain the mandatory Payload folder that includes the bundle itself and the symlink: |
||
\Payload\ |
\Payload\ |
||
− | \ |
+ | \MyCarrier_au.bundle\ |
− | \carrier.plist - carrier settings go here |
+ | \[[carrier.plist]] - carrier settings go here |
− | \Default_CARRIER_MyCarrier.png - logo for |
+ | \Default_CARRIER_MyCarrier.png - logo for grey status bar |
− | \FSO_CARRIER_MyCarrier.png - logo for |
+ | \FSO_CARRIER_MyCarrier.png - logo for black statusbar |
\Info.plist - bundle description |
\Info.plist - bundle description |
||
− | + | \version.plist - bundle version (not always present) |
|
+ | \12345 - symlink to MyCarrier_au.bundle (12345 is MCC+MNC) |
||
− | = Enabling .ipcc support in iTunes = |
+ | == Enabling .ipcc support in iTunes == |
− | By default, [[iTunes]] allows only carrier bundle updates from Apple. However, when the "carrier-testing" preference is enabled, .ipcc files can be loaded from the user's hard drive by clicking either "Check for Updates" or "Restore" button while holding Shift (on Windows) or Option key (on Mac). |
+ | By default, [[iTunes]] allows only carrier bundle updates from Apple. However, when the [[iTunes Modes|"carrier-testing" preference]] is enabled, .ipcc files can be loaded from the user's hard drive by clicking either "Check for Updates" or "Restore" button while holding Shift (on Windows) or Option key (on Mac). |
+ | To enable this preference, first close iTunes, then run the command below that corresponds with your OS: |
||
− | ===To enable .ipcc support on Mac OS X:=== |
||
+ | * macOS 10.14 and older: <code>defaults write com.apple.itunes carrier-testing -bool true</code> |
||
− | 1. Quit iTunes. |
||
+ | * macOS 10.15 and newer: <code>defaults write com.apple.AMPDevicesAgent carrier-testing -bool YES</code> |
||
+ | * Windows: <code>"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1</code> |
||
+ | == iOS 3.1 Changes == |
||
− | 2. Open Terminal and paste the following command: |
||
+ | As of iOS 3.1b1, APN settings are now being [http://skitch.com/beau/b4ca8/carrier.plist signed] to prevent tampering/modification by users. |
||
− | defaults write com.apple.itunes carrier-testing -bool true |
||
+ | This has been implemented to stop users bypassing the carrier's designated APN for tethering that may require payment for access. |
||
+ | This is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all. |
||
+ | This signature-check can be circumvented by [http://wikee.iphwn.org/howto:random#how_do_i_re-enable_internet_tethering_on_3.1.2_firmware patching commcenter.] |
||
+ | Only the APN settings are being signed; other settings can still be modified without needing to patch commcenter. |
||
− | ===To enable .ipcc support on Windows:=== |
||
− | 1. Quit iTunes. |
||
+ | == iOS 4.x Changes == |
||
− | 2. Press Win-R and paste the following command: |
||
+ | One of the new 'features' in iOS 4 is the addition of over-the-air carrier updates. Carriers can now push updated settings over the air without having to tether your device to a computer to poll for updates. |
||
− | "%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1 |
||
+ | All carrier bundle settings are now signed, not just the APN settings. To circumvent this, [http://www.mirrorcreator.com/files/AIQ9DTQA/ commcenter must now be patched]. |
||
+ | The bit-mask for APN settings has also changed quite significantly. |
||
− | ==Type Mask== |
+ | == Type Mask == |
+ | <pre style="color:red">These flags are depreciated for iOS 4 and above. These will need to be updated for 4.0 onwards. |
||
− | Each APN in the carrier.plist has a numeric type-mask. It designates what the APN should be used for (eg. phone data, tethering, visual voicemail, MMS, or a combination). This table shows what each-type mask designates an APN for. |
||
+ | </pre> |
||
+ | Each APN in the carrier.plist has a numeric type-mask. It is bitmask (combination of flags) that designates what the APN should be used for (eg. phone data, tethering, visual voicemail, MMS, or a combination). This table shows what each-type mask designates an APN for. |
||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
Line 56: | Line 66: | ||
| 2 |
| 2 |
||
| Visual Voicemail (VVM) |
| Visual Voicemail (VVM) |
||
− | |- |
||
− | | 3 |
||
− | | VVM & Data |
||
|- |
|- |
||
| 4 |
| 4 |
||
| MMS |
| MMS |
||
|- |
|- |
||
− | | |
+ | | 48(0x30) |
− | | MMS & Data |
||
− | |- |
||
− | | 6 |
||
− | | MMS & VVM |
||
− | |- |
||
− | | 7 |
||
− | | MMS, VVM, Data |
||
− | |- |
||
− | | 48 |
||
| Tethering |
| Tethering |
||
− | |- |
||
− | | 49 |
||
− | | Tethering & Data |
||
− | |- |
||
− | | 50 |
||
− | | Tethering & VVM |
||
− | |- |
||
− | | 51 |
||
− | | Tethering, VVM, Data |
||
− | |- |
||
− | | 52 |
||
− | | Tethering & MMS |
||
− | |- |
||
− | | 53 |
||
− | | Tethering, MMS, Data |
||
− | |- |
||
− | | 54 |
||
− | | Tethering, MMS, VVM |
||
− | |- |
||
− | | 55 |
||
− | | Tethering, MMS, VVM, Data |
||
|} |
|} |
||
+ | For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data" |
||
+ | == External Links == |
||
− | = iPhone 3.1 Changes = |
||
− | As of iPhone OS 3.1b1, the carrier bundle APN settings are now signed to prevent tampering/modification. <ref>http://skitch.com/beau/b4ca8/carrier.plist</ref> Due to carriers around the world having set up APNs specified for specific purposes, such as tethering, this will stop users from modifying the carrier settings to bypass the specified APNs that may require payment for access. |
||
− | This is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all. |
||
− | |||
− | == References == |
||
− | {{reflist}} |
||
− | |||
− | = External Links = |
||
*[http://www.volkspost.info/ipcc_fw3/ Carrier Bundle Generator] |
*[http://www.volkspost.info/ipcc_fw3/ Carrier Bundle Generator] |
||
*[http://b3.s3.quickshareit.com/typemask_new23290c.png Graphical table of APN values] |
*[http://b3.s3.quickshareit.com/typemask_new23290c.png Graphical table of APN values] |
Latest revision as of 20:07, 9 January 2023
Carrier Bundles provide a way to organize all customizations related to carriers in one place. These include voice mail numbers, MMS and APN settings etc.
For users on carriers other than the Apple's official partners, carrier bundles allow to configure important settings such as APN and enable features like MMS and tethering.
On the device side, carrier bundles are stored in the following directories:
- /var/mobile/Library/Carrier Bundles/ - bundles downloaded via iTunes.
- /System/Library/Carrier Bundles/ - bundles provided with the firmware image. Starting with iOS 4.2, carrier bundles are stored in a subfolder of this path.
If two bundles with the same name exist in both paths, the one on user partition takes preference. This allows Apple to update carrier bundles without releasing a whole new OS.
On a computer that has downloaded carrier bundle updates, they are stored in the following directories:
- ~/Library/iTunes/iPhone Carrier Support/ - this folder will not exist if iTunes hasn't downloaded any carrier updates
Contents
Structure
Carrier bundles are ZIP archives with .ipcc extension. They are named after the carrier and the country they are for (for example, MyCarrier_au.ipcc
) They contain the mandatory Payload folder that includes the bundle itself and the symlink:
\Payload\ \MyCarrier_au.bundle\ \carrier.plist - carrier settings go here \Default_CARRIER_MyCarrier.png - logo for grey status bar \FSO_CARRIER_MyCarrier.png - logo for black statusbar \Info.plist - bundle description \version.plist - bundle version (not always present) \12345 - symlink to MyCarrier_au.bundle (12345 is MCC+MNC)
Enabling .ipcc support in iTunes
By default, iTunes allows only carrier bundle updates from Apple. However, when the "carrier-testing" preference is enabled, .ipcc files can be loaded from the user's hard drive by clicking either "Check for Updates" or "Restore" button while holding Shift (on Windows) or Option key (on Mac).
To enable this preference, first close iTunes, then run the command below that corresponds with your OS:
- macOS 10.14 and older:
defaults write com.apple.itunes carrier-testing -bool true
- macOS 10.15 and newer:
defaults write com.apple.AMPDevicesAgent carrier-testing -bool YES
- Windows:
"%ProgramFiles%\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
iOS 3.1 Changes
As of iOS 3.1b1, APN settings are now being signed to prevent tampering/modification by users. This has been implemented to stop users bypassing the carrier's designated APN for tethering that may require payment for access. This is also a concern for users of carriers that do not officially offer MMS or Tethering services for users at all. This signature-check can be circumvented by patching commcenter.
Only the APN settings are being signed; other settings can still be modified without needing to patch commcenter.
iOS 4.x Changes
One of the new 'features' in iOS 4 is the addition of over-the-air carrier updates. Carriers can now push updated settings over the air without having to tether your device to a computer to poll for updates. All carrier bundle settings are now signed, not just the APN settings. To circumvent this, commcenter must now be patched. The bit-mask for APN settings has also changed quite significantly.
Type Mask
These flags are depreciated for iOS 4 and above. These will need to be updated for 4.0 onwards.
Each APN in the carrier.plist has a numeric type-mask. It is bitmask (combination of flags) that designates what the APN should be used for (eg. phone data, tethering, visual voicemail, MMS, or a combination). This table shows what each-type mask designates an APN for.
Value | Feature |
---|---|
0 | Disabled |
1 | Data |
2 | Visual Voicemail (VVM) |
4 | MMS |
48(0x30) | Tethering |
For example, 55 = 1+2+4+48 means "Tethering, MMS, VVM, Data"