iPhone Enable Tethering Manually Update ipcc Carrier Settings/Update via SSH

Everyone says there is a "manual" way of doing it and then they tell you to use iTunes, but if you're like me, you're travelling on business in a foreign country and your laptop does not have iTunes and you don't have a way of getting it and/or don't want it.

For this example I'm using the provider "du" in Dubai, UAE (United Arab Emirates) but this method works for virtually all providers. 

The requirements in this case to truly "manually update your carrier settings are as follows"

  1. Your phone must be jailbroken
  2. You must have installed the terminal on your iPhone for commandline access
  3. You must have SSH running (with root access) and installed and have access to a wifi network (a trick you can even use on paid networks is to leave the login prompt on your iPhone and then get a connection on the laptop without signing in/signing up and you can communicate with your iPhone over SSH this way).  *An alternative here is if you have direct file access to the filesystem on your iPhone (I don't know if there's such as a way, I have an app from Cydia called "USB Drive" but you can't access the virtual filesystem on the iPhone itself)
  4. You must have the ipcc/Carrier Settings file downloaded.
  5. You must be able to extract the ipcc file until you get the folder "du_ae.bundle" or the corresponding one for your provider.

From there it's easy, SSH/SCP into your iPhone (you'll need root access for this though):

Copy the "du_ae.bundle" folder into the following location "/System/Library/Carrier Settings".

You then need to view the file "carrier.plist" inside that folder to find the "SIM card ID".  Near the bottom of the .xml file you'll find a key called "SupportedSIMs" and then <array>.  Inside array for my case the number is "42403".  This is the SIM Card ID of du.  I was frustrated and wondering why my iPhone seemed to ignore the du_ae.bundle, I assume based on the carrier name it would take the settings from that folder.

Now that you know the SIM ID is "42403" you just need to make a symlink/shortcut to it from the command line:

cd /System/Library/"Carrier Settings"

ln -s du_ae.bundle 42403

Now just reboot your iPhone and you'll have tethering options.  You may have to play around with enabling and disabling 3G before it works and it may appear that your network stopped working.  If you have the "cellular data" option under "Network" go in and reset the settings to default and you'll be good.  At first this did not work (including tethering) until I played around like that and maybe it just takes a few minutes to make it all work even after the reboot for some reason.

I prefer this way and I think most people would because we can't always have access to iTunes and I personally hate iTunes for many reasons.


Tags:

iphone, enable, tethering, manually, update, ipcc, carrier, settings, via, ssheveryone, quot, manual, itunes, travelling, laptop, provider, dubai, uae, arab, emirates, method, virtually, providers, requirements, follows, jailbroken, installed, terminal, commandline, ssh, wifi, networks, login, prompt, communicate, filesystem, app, cydia, usb, virtual, downloaded, extract, folder, du_ae, bundle, corresponding, scp, ll, plist, sim, xml, supportedsims, array, frustrated, symlink, shortcut, ln, reboot, enabling, disabling, cellular, reset, default,

Latest Articles

  • How To Stop DNSMasq from listening on all IPs/Interfaces and allow only localhost
  • du - VAS Billing Subscriptions Hack/Scam MLPremiumSub Invascom Astromart Issues Complaint
  • Docker Swarm vs Kubernetes Comparison Guide
  • When is it time to leave your VPS/VDS Cloud Hosting Provider?
  • 2024 Buyer's Guide: How to Choose and Buy the Best VPS/VDS for Your Needs - Tips and Strategies
  • Postfix / sendmail config for DKIM, SPF and DMARC Tutorial Guide E-mail Delivery for Hotmail.com Gmail.com and More HowTo
  • Install Grafana on Linux Debian Ubuntu Tutorial Guide
  • How To Completely Disable ufw in Linux Ubuntu Mint Debian
  • System has not been booted with systemd as init system (PID 1). Can't operate. Failed to talk to init daemon. Ubuntu Debian Linux Solution Cannot reboot
  • Mint Ubuntu Linux Gnome Showing Home Directory on Desktop instead of Desktop Directory
  • vi vim not doing code highlighting E319: Sorry, the command is not available in this version solution
  • Proxmox How To Rename Node Hostname Fix Solution
  • Linux how to get list of all timezones on system Ubuntu
  • Proxmox install issue cannot see the buttons or install wrong / bad resolution cannot see the entire screen problem solution
  • configure.ac:75: error: possibly undefined macro: AC_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. solution
  • Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326. autoreconf: failed to run aclocal: No such file or directory solution
  • /bin/sh: autoreconf: command not found solution
  • glib-2.0 required to compile QEMU solution
  • How To Upgrade Debian 8,9,10 to Debian 12 Bookworm
  • Linux dhcp dhclient Mint Redhat Ubuntu Debian How To Use Local Domain DNS Server Instead of ISPs