Recently I was working using internet tethering on my iPhone 4 in an area of patchy reception, but if I put my phone in a certain position I knew it could use the 3G network. Unfortunately the phone isn’t very good at jumping up to 3G and will instead use Edge or a slower band. Here is how to force your iPhone to use 3G if know there is a 3G signal:

Things you will need:

  • To be able to ssh into your phone (I did this by jailbreaking it – do so at your own risk)
  • A text editor on the phone (I installed nano from cydia)


ssh root@iph4ne.local
cd /var/wireless/Library/Preferences/
nano csidata

then change this line:

GsmRegistrationModel::fRatSelection=0×1

to

GsmRegistrationModel::fRatSelection=0×2

Save the file, then finally:

reboot

Which will force your iPhone to use 3G. WARNING: only do this if you know you will have access to a 3G network otherwise you will loose your net connection.

  1. Does this work for an Iphone 3G or only with a Iphone4?

  2. this will work with 3G also.. but the file will be in a different place.

    /var/preferences/csidata

  3. Can this be done on iPhone 4S? And how do you do it? Thanks in advance.

  4. Is this also true for iPhone 4S and iOS 4.0.1? Is not, is there a workaround???

Leave a Reply...