aneagle, on 12 February 2012 - 03:03 AM, said:
You can have a look in var/mobile/Library/Carrier Bundle.bundle and Operator Bundle.bundle and see if the carrier.plist is the one you want to use. If the content of these 2 bundle is not what you expect it to be. This is roughly how it works: after successful registration with a gsm carrier, CommCenter search in system/Library/Carrier Bundles/iPhone for the symlink MCC/MNC, this symlink points to a carrier bundle, if the signatures in this bundle are correct (always correct with the patch) 2 symlinks Carrier Bundle.bundle and Operator Bundle.bundle are created in var/mobile/Library and point to that carrier bundle. If you need to route tethering to a particular APN, you can simply take that bundle and modify its carrier.plist, the type mask is a bit tricky, 1=Internet and 48=tethering but 49 won't give tethering, I tried many times and at the end I have to use 49 for Internet and 48 for tethering. If you are on a US carrier and Facetime activation is sent to +44 it means CommCenter can't find the MCC/MNC Symlink and Unknown.bundle is used. The Personal Hotspot button disappears means the tethering part in carrier.plist is not valid. If the Personal Hotspot button is shown and you switch it ON and select USN Only but the computer says no USB connection, it's iTunes problem and to fix it you just reboot the phone, if still doesn't works delete iTunes and install the latest version.
Actually the phone was locked to the AT&T but now on the True mobile Thailand which I checked on available carrier bundle plist for True Thailand and found that it is using this number for the Facetime/iMessage activation. It didn't go to the unknown.bundle though, as when I check on the setting/general/about, still see the name "AT&T 11.0" there.
When you mentioned to modify the carrier.plist for the task mask change, are you referring to the one in the System or Var path? I have never actually modified anything on the Operator Bundle side before. Here is the sample of what had been change in the AT&T carrier bundle so far. Thanks again for your help, below is the modified carrier plist I did.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AllowEDGEEditing</key>
<true/> *** This is what I added to get the Edge working *******
<key>CarrierName</key>
<string>AT&T</string>
<key>CustomerServicePhoneNumber</key>
<string>611</string>
<key>HangUpCallsWhenPlacingEmergencyCall</key>
<false/>
<key>IntlDataRoamingExceptions</key>
<array>
<string>310110</string>
<string>310140</string>
<string>310470</string>
<string>311170</string>
<string>310400</string>
</array>
<key>MMS</key>
<dict>
<key>AllowReturnReports</key>
<true/>
<key>GroupModeAllowUserOverride</key>
<true/>
<key>GroupModeEnabled</key>
<true/>
<key>MMSC</key>
<string>http://mmsc.cingular.com</string>
<key>MaxMessageSize</key>
<integer>1048576</integer>
<key>MaxRecipients</key>
<integer>10</integer>
<key>MaxVideoBitrate</key>
<integer>131072</integer>
<key>OnWhileRoaming</key>
<true/>
<key>Proxy</key>
<string>wireless.cingular.com:80</string>
</dict>
<key>MaxBluetoothModemConnections</key>
<integer>5</integer>
<key>MyAccountURL</key>
<string>https://www.wireless.att.com/my-account</string>
<key>MyAccountURLTitle</key>
<string>AT&T MyAccount</string>
<key>NetworkEncryptionCiphers</key>
<dict>
<key>A5/3</key>
<true/>
<key>GEA3</key>
<true/>
</dict>
<key>OTAActivationAPN</key>
<dict>
<key>apn</key>
<string>LWAActivate</string>
<key>password</key>
<string></string>
<key>signature</key>
<data>
</data>
<key>type-mask</key>
<integer>512</integer>
<key>username</key>
<string></string>
</dict>
<key>OTASoftwareUpdate</key>
<dict>
<key>AllowDownloadOverCellular</key>
<false/>
</dict>
<key>PRIFileName</key>
<string>carrier.pri</string>
<key>PRIRawSignature</key>
<data>
Xr93SsHYTEOSKPR4An3cRETv4rPQ6Ti1lV3aa1czVAcv/NarUy7eRfVTGHvaXCqVTJTb
fE4+UCLumUWNZTuslEpcaRejygmltEX25QBLDL7IAJwsilmh3d05axw4gNJID95x/R/N
bUWpnRVz/O3eJvbUbvEMPN/H62P6n0Mhe/c=
</data>
<key>PRISignature</key>
<data>
Hnssy2Bd+bIIAbnxPycxl31vJL6rEpq2ttrwrPZ7bAttRxk6N1whlhsQnV8eUXa2LSd8
j5vqWZJJvyIc4im7DXUVC3DIy0XxK6JhAtQykKiTId0K2/ZXXDFETbPdyQjcZnRjpAlF
Qiy9QC3yznfFOzA9p4fgY8JFrl64XV5hM34=
</data>
<key>PhoneNumberRegistrationGatewayAddress</key>
<string>
+447786205094</string>
*** This is the phone number I changed for the True ****
<key>PriVersion</key>
<string>00.01.012</string>
<key>RemoteDiagnosticsWWANAllowed</key>
<true/>
<key>SendTextMMSToShortCodeAsSMS</key>
<true/>
<key>Services</key>
<array>
<dict>
<key>ServiceCode</key>
<string>*225#</string>
<key>ServiceName</key>
<string>Check Bill Balance</string>
</dict>
<dict>
<key>ServiceCode</key>
<string>411</string>
<key>ServiceName</key>
<string>Directory Assistance</string>
</dict>
<dict>
<key>ServiceCode</key>
<string>*729</string>
<key>ServiceName</key>
<string>Pay My Bill</string>
</dict>
<dict>
<key>ServiceCode</key>
<string>*3282#</string>
<key>ServiceName</key>
<string>View My Data and Msg</string>
</dict>
<dict>
<key>ServiceCode</key>
<string>*646#</string>
<key>ServiceName</key>
<string>View My Minutes</string>
</dict>
<dict>
<key>ServiceCode</key>
<string>*08</string>
<key>ServiceName</key>
<string>Voice Connect</string>
</dict>
</array>
<key>ShowCallForwarded</key>
<false/>
<key>ShowCallForwarding</key>
<false/>
<key>ShowDialAssist</key>
<true/>
<key>ShowTTY</key>
<true/>
<key>StaticNATType</key>
<integer>208</integer>
<key>StatusBarImages</key>
<array>
<dict>
<key>AllowPrefixMatching</key>
<false/>
<key>CarrierName</key>
<string>at&t</string>
<key>DefaultImage</key>
<string>Default_CARRIER_ATT.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_ATT.png</string>
<key>StatusBarCarrierName</key>
<string>AT&T</string>
<key>TransparentShadowedImage</key>
<string>TS_CARRIER_ATT.png</string>
</dict>
<dict>
<key>AllowPrefixMatching</key>
<false/>
<key>CarrierName</key>
<string>cingular</string>
<key>DefaultImage</key>
<string>Default_CARRIER_CINGULAR.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_CINGULAR.png</string>
<key>StatusBarCarrierName</key>
<string>cingular</string>
<key>TransparentShadowedImage</key>
<string>TS_CARRIER_CINGULAR.png</string>
</dict>
<dict>
<key>AllowPrefixMatching</key>
<false/>
<key>CarrierName</key>
<string>AT&T MicroCell</string>
<key>DefaultImage</key>
<string>Default_CARRIER_ATT M-Cell.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_ATT M-Cell.png</string>
<key>StatusBarCarrierName</key>
<string>AT&T M-Cell</string>
<key>TransparentShadowedImage</key>
<string>TS_CARRIER_ATT M-Cell.png</string>
</dict>
<dict>
<key>AllowPrefixMatching</key>
<false/>
<key>CarrierName</key>
<string>'AT&T'</string>
<key>DefaultImage</key>
<string>Default_CARRIER_ATT.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_ATT.png</string>
<key>StatusBarCarrierName</key>
<string>AT&T</string>
<key>TransparentShadowedImage</key>
<string>TS_CARRIER_ATT.png</string>
</dict>
</array>
<key>StockSymboli</key>
<array>
<dict>
<key>name</key>
<string>AT&T</string>
<key>symbol</key>
<string>T</string>
</dict>
</array>
<key>SupportedSIMs</key>
<array>
<string>310150</string>
<string>310170</string>
<string>310180</string>
<string>310380</string>
<string>310410</string>
<string>310980</string>
<string>311180</string>
</array>
<key>SupportsNITZ</key>
<true/>
<key>SupportsUserBusyCauseCode</key>
<false/>
<key>SuspendFastDormancyAllowed</key>
<true/>
<key>TearDownTetheringDataContextDuringAuthentication</key>
<false/>
<key>TetheringPhoneNumber</key>
<string>611</string>
<key>TetheringURL</key>
<string>http://www.att.com/mywireless</string>
<key>VVMIgnoresIntlDataRoaming</key>
<false/>
<key>VisualVoicemailServiceName</key>
<string>ACDS</string>
<key>VoicemailPasswordResetPhoneNumber</key>
<string>611</string>
<key>WISPrAccounts</key>
<dict>
<key>phone@attmobility.com</key>
<dict>
<key>AuthenticationRealm</key>
<string>attmobilityiphone.com</string>
<key>MatchingSSIDs</key>
<dict>
<key>ATTMETROWIFI</key>
<array>
<string>.att.com</string>
<string>.att.net</string>
<string>.sbc.com</string>
<string>.wayport.net</string>
</array>
<key>Wayport_Access</key>
<array>
<string>.att.com</string>
<string>.att.net</string>
<string>.sbc.com</string>
<string>.wayport.net</string>
</array>
<key>attwifi</key>
<array>
<string>.att.com</string>
<string>.att.net</string>
<string>.sbc.com</string>
<string>.wayport.net</string>
</array>
</dict>
<key>PasswordType</key>
<string>AT&T</string>
<key>SharedSecret</key>
<string>a446649326d41d87dbb8caec8caf736a</string>
</dict>
</dict>
<key>apns</key>
<array>
<dict>
<key>apn</key>
<string>phone</string>
<key>password</key>
<string></string>
<key>signature</key>
<data>
P4FI0kNTNms3g6Mz/Oa8N6mKHTtIvbfjDM7lYaDRTNZSN4y8XyWZ
AA5Y94zTvDTK9+nQtD2TTHgvOSRC1zpdvFax/3a0g17+lE8oGubj
hXO9lzxeeyYFJk5Z/x5i7bPZEvyYA/FpnM3jJyQ7m6bYFpJdG/H5
vuNClOs4ICk37dM=
</data>
<key>type-mask</key>
<integer>
17</integer>
*** Is this the type mask you are referring to? ****
<key>username</key>
<string></string>
</dict>
<dict>
<key>apn</key>
<string>acds.voicemail</string>
<key>password</key>
<string></string>
<key>signature</key>
<data>
YkSxjDj+B/A3X7dt3/C8ttwfs3oWIZjiU9n7ueGQScoUrGJlb/AT
awMgO0J7ofY+hjEVaozb2+2tnA7LJBCKL+QqTDlGoRrh3oO5Jg8M
Wkgm3NBEC7ASn//iEbsbi4MsFAXuHKTvi27zT94UnaDAZEUYKjl0
hsJyRfRAo5Aoly4=
</data>
<key>type-mask</key>
<integer>
2</integer>
*** Is this the type mask you are referring to? ****
<key>username</key>
<string></string>
</dict>
<dict>
<key>apn</key>
<string>wap.cingular</string>
<key>password</key>
<string></string>
<key>signature</key>
<data>
hiOHascImrcI39tRelBVzADGxbjtJsmJ/RzDlKWq1rRPRD45Z8+N
rFkJfI0JI/ZnowUUeythUQYsqbi+JHdbTjbiTkGnbNDK+2LslSx3
xuAmOEeVovSAOaT3xXsHKv18CtDKFdbU/zjMxIVAgmWsDDj0d6qb
jSIDDkC/YswYUJc=
</data>
<key>type-mask</key>
<integer>
4</integer>
*** Is this the type mask you are referring to? ****
<key>username</key>
<string></string>
</dict>
<dict>
<key>apn</key>
<string>broadband</string>
<key>password</key>
<string></string>
<key>signature</key>
<data>
ZeOdmlJsNGAghvOoS+iAWkCgkYPAJcukCjFbRe0v4wKOE4LjCDOc
X0EfGXGWxPeyDhjqSK/QI5QXehK6t7nl8fjU+fjBr5j+uoScoseN
2KRVybgqhQ1DHTNydM/f2FBCzV0yiVOUqVeQDBeHOGL0Z4gilk0D
GTgehjk1LcnShEw=
</data>
<key>type-mask</key>
<integer>
32</integer>
*** Is this the type mask you are referring to? ****
<key>username</key>
<string></string>
</dict>
</array>
<key>signature</key>
<data>
ixdlYigTLIgO4DuwAjvTQCQMMxjE17OOgI3rHzqGj0WMqvekZz6RlEgApV7jBfXLYpHg
360OY0TQZBTVOzjRi1VMmo7elAmPMomivpSwXqT/CJ8Lo5CkMFh/gUIl4V8yT4PJ2Ky/
gb+2YGeagj/ZPJu6GQOJAV6fomLShiVUp18=
</data>
</dict>
</plist>