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???

    • Sorry, I meant iOS 5.0.1!

    • Chris, I’m not sure as I haven’t tested it. Try google for an alternative

      • Hey, I”m also searching for a way to force 3G data only on iPhone 4S…I do have an iPhone 4 and the method described works perfectly on it! but on the 4S it does not work…and the phone reboots it starts on 3G then it falls back to EDGE and if I go onto iFile the line is as I set it before:

        GsmRegistrationModel::fRatSelection=0×2

        But the phone is on EDGE connection. Did anyone find a workaround for this?

        Thanks in advance!

  5. Really looking forward for this to work on my 4S. GPRS/EDGE here in the Philippines sucks big time..

  6. Use a cydia tweak called icontrol for apple iphone 4s…by setting all options under the ‘radios’ section to 3G….enjoy…

    • naren751 i seemed to have corrupted my csidata file, can u send me a copy of ur csidata file? if u pls, pls send it to bekindtoedward@gmail.com

    • iControl doesnt work for me. takes ages to obtain IP..

      • Sorry to hear that but make sure the following…
        U have an active 3G plan active on ur numbr coz most operators dont give 3G service widout the necesary 3G pack is active
        U have enterd the correct APN in network option…if the APN option is not available with ur operator..use a cydia teeak called TetherMe…
        Hope it works out

        • Thanks. I already have an active 3G plan with Smart (Philippines). But when I’m in my room, Edge is much stronger. But my iPad can hold on to 3G under the same network.

    • I have an iPhone 4s with ios 5.1.1… It’s jailbroken, but for some reason at my house there is 3G available, but my phone chooses to use 2G. How can I fix this? I would try the icontrol but it’s not compatable for my ios version. Please help, the GPRS is only going at about 5kb/s while it should be going 100kb/s on 3G…

  7. Change in the same file (csidata) below both lines

    GsmRegistrationModel::fSelectionMode=0×1
    GsmRegistrationModel::fRatSelection=0×2

    Aslo it works on iPad ;)

Leave a Reply...