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"
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.
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,