• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[GUIDE][OutDated] How to defeat data throttling... ideas?

Search This thread

sino8r

Senior Member
Sep 7, 2006
3,551
735
Birmingham, Alabama

Although this method is extinct :( I thought it would be handy to keep around for future works and ideas that we might have. It seems to be at the least a good reference/log of all the methods we have used (some works while others have failed) in the past. Hopefully, we can find a way to get around these ridiculous caps when we pay insane ammounts of cash for UNLIMITED data use...

First things first...

professor-farnsworth.gif


____________DISCLAIMER___________________________________
I am not responsible for destruction of your phone, boot loops, or cancellation/suspension of your contract due to excessive data use! You edited your rom... I didn't! Don't shoot the f*cking messenger!
And don't make say I did or the Professor will end the world with one of his doomsday devices, lol! He's angry and senile! The most deadly combination! You've seen old people drive, right? Weapons of mass destruction... anyways

First, I'd like to thank androidcues for extensive testing. Also, thanks to T.C.P. for giving us a hand. And finally JesusFreke for creating "smali" that so many of us use today.

Now then, let's get down to business! You need to have the SDK/adb plus drivers setup for this to work. There is no way of getting around this, so if you need help doing that... look somewhere else because there are numerous guides for that. Secondly, you need to make a backup via Nandroid of your current rom! I can't stress that enough! And finally, you need smali which is located here.

Okay, find you current rom on your pc (the zip file) and open it with your favorite extractor (winrar is nice). Go to the system/framework folder and extract services.jar file onto your desktop. Now open services.jar and extract classes.dex to the desktop. Cut and paste classes.dex to your sdk/tools folder. Now, download smali and baksmali.jar from the link in the paragraph above. Rename them smali.jar and baksmali.jar for easier typing later. Cut and paste those two into the SDK/tools folder also. Open your command prompt and cd (change directory) to sdk/tools folder. Then type this exactly (without the quotes: "java -jar baksmali.jar -o classout/ classes.dex". Look at your sdk/tool folder... that should have created a folder called classout. Open it until you find your files. Locate the 7 files with "throttleservices" in the title. Delete them! Now type this into command prompt: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex". That should repack your edited files and create a file called new-classes.dex... Cut and paste the new-classes.dex to your desktop and rename it classes.dex. Now open your services.jar (that should be on the desktop) with winrar (or whatever) and click add file. Add the classes.dex file from your desktop. It might ask you to replace it or save or not (it will depend on your extractor). After you edited your services.jar, copy and paste it to your tools folder. Connect your phone via usb cable to the pc. Boot into clockwork recovery. In the clockwork menu, make sure you go to mounts and storage and click mount /system before this next step. Now, open the command prompt from your pc again, and cd to sdk/tools folder (if you are already there, you can skip this step! Good for you:p). Now type "adb push services.jar /system/framework/". Reboot your phone and enjoy!

__________ISSUES_________________________________________
The menu/settings/wireless & network settings/mobile networks are going to force close. It is rarely needed so this won't be a problem for 99% of users (1% of you are bastards;)). Just make sure you have data roaming enabled before pushing your services.jar and that your APN is correct (which it should be already) because you won't be able to change those again. You can always push your old services.jar (from your rom.zip) to quick restore (way easier than Nandroid but whatever) Just do that the same way we copied and pasted services.jar to tools folder and adb push. ONE THING you might miss is having the option to use 2G only. To remedy this, just dial *#*#4635#*#* from the dialer. Go to phone info and select your prefferences... 2G only,3G only, or 3G preferred. There's an app for that :)p) called phone info by [email protected] on the market for free. It much handier than dialing all that *#*# crap. That should take care of most folks.

We extensively tested most roms but CM Nightly seemed to not like this edit. I guess it would depend on the build... (we tested nightly #50) My suggestion would be to all the rom developers out there to edit their own service.jars and remove those 7 deadly sins (or files) and put some kinda of falsie placeholder to prevent the force close. That should do it but since ALL roms services.jar are different... i can't make one magical file that will fix everything. ALSO, if you are running a added on theme, you need to use the service.jar from the theme to do this edit!

Well, I think that is all... so have fun and get what you paid for which is UNLIMITED DATA (NOT THROTTLED CRAP THAT IS SLOWER THAN 2G!) T-Mobile has found a loophole with this throttle crap so they can still CLAIM it's unlimited! That may be technically true but it is utter crap and they know it. They are already being sued for this but I doubt anything will happen. This also meant for user who don't use their phone as a home internet connection. Those folks are the ones who made t-mobile do this. This is meant for people who use a normal amount of data like 10-15GB and aren't using mobile internet for torrents or useless crap. That is just a suggestion and obviously this can be used for anyone who wants to. Again, you guys are the ones who editing your own services.jar and not me! I am not responsible! Like Pres Nixon said, "I am not a crook!" :p

SO FAR, THIS HAS ONLY BEEN KNOWN TO WORK ON T-MOBILE USA AND CANADA BELL... ALL OTHER CARRIERS SEEM TO HAVE THESE FILES JUST BECAUSE IT'S A STANDARD IN ANDROID 2.2.1 AND SEEM TO BE CONTROLLED COMPLETELY OTA UNLIKE TMOBILE AND BELL...
 
Last edited:

dictionary

Senior Member
Dec 3, 2009
4,509
1,562
Step One:
Okay, find your current rom on your pc (the zip file) and open it with your favorite extractor (winrar is nice)(dictionary - I think 7zip is the best)

Step Two:
Go to the system/framework folder and extract services.jar file onto your desktop.

Step Three:
Now open services.jar and extract classes.dex to the desktop. Cut and paste classes.dex to your sdk/tools folder.

Step Four:
Now, download smali and baksmali.jar from the link in the paragraph above. Rename them smali.jar and baksmail.jar for easier typing later. Cut and paste those two into the SDK/tools folder also.

Step Five:
Open your command prompt and cd (change directory) to sdk/tools folder. Then type this exactly (without the quotes: "java -jar baksmali.jar -o classout/ classes.dex". Look at your sdk/tool folder... that should have created a folder called classout. Open it until you find your files.

Step Six:
Locate the 7 files with "throttleservices" in the title. Delete them! Now type this into command prompt: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex". That should repack your edited files and create a file called new-classes.dex...

Step Seven:
Cut and paste the new-classes.dex to your desktop and rename it classes.dex.

Step Eight:
Open your services.jar (that should be on the desktop) with winrar (or whatever)(dictionary - again, try/use 7zip) and click add file. Add the classes.dex file from your desktop. It might ask you to replace it or save or not (it will depend on your extractor).

Step Nine:
After you edited your services.jar, copy and paste it to your tools folder. Connect your phone via usb cable to the pc.

Step Ten:
Boot into clockwork recovery. In the clockwork menu, make sure you go to mounts and storage and click mount /system before this next step.

Step Eleven:
Now, open the command prompt from your pc again, and cd to sdk/tools folder (if you are already there, you can skip this step! Good for you:p).

Step Twelve:
Now type "adb push services.jar /system/framework/". Reboot your phone and enjoy!

Tried to help clean those up .. looked way too confusing :)
 

thatruth132

Senior Member
Oct 1, 2007
2,220
104
los angeles
This is what I was told by tmobile after I got capped ,I called and said this was not in my contract for my data to be capped they told me that it was but not in the actual contract but in the box of the phone that I bought so after I signed my contract I agreed to all tmobiles terms and conditions and that includes the terms and conditions that are in the box of the phone

Sent from my T-Mobile G2 using XDA App
 

GunToYoMouth123

Senior Member
May 16, 2009
396
32
Miami
So basically this will give us the service that we paid for, no edge or 3G crap from time to time (or most of the time) but full 4G ,huh?

Sent from my HTC Vision using XDA App
 

sino8r

Senior Member
Sep 7, 2006
3,551
735
Birmingham, Alabama
This is what I was told by tmobile after I got capped ,I called and said this was not in my contract for my data to be capped they told me that it was but not in the actual contract but in the box of the phone that I bought so after I signed my contract I agreed to all tmobiles terms and conditions and that includes the terms and conditions that are in the box of the phone

Sent from my T-Mobile G2 using XDA App

They flat out lied to you... all of us could be throttled.
 

sino8r

Senior Member
Sep 7, 2006
3,551
735
Birmingham, Alabama
So basically this will give us the service that we paid for, no edge or 3G crap from time to time (or most of the time) but full 4G ,huh?

Sent from my HTC Vision using XDA App

No this is for if you are throttled and they'll text you if you are. your problem is your phone is set to 3G preffered instead of 3G only. set it to 3G only by dialing *#*#4636#*#* and go to phone info. set to WCDMA only.
 

GunToYoMouth123

Senior Member
May 16, 2009
396
32
Miami
No this is for if you are throttled and they'll text you if you are. your problem is your phone is set to 3G preffered instead of 3G only. set it to 3G only by dialing *#*#4636#*#* and go to phone info. set to WCDMA only.

Alright thanks.

But not to sound dumb or anything,but what is "throttled"
I have received a text though bout using "5GB" or my idk what? Forgot the text...but I have unlimited everything... does it have something to do with that?


Sent from my HTC Vision using XDA App
 
  • Like
Reactions: ShAdOwfOx032

dictionary

Senior Member
Dec 3, 2009
4,509
1,562
Alright thanks.

But not to sound dumb or anything,but what is "throttled"
I have received a text though bout using "5GB" or my idk what? Forgot the text...but I have unlimited everything... does it have something to do with that?


Sent from my HTC Vision using XDA App

Yup. Throttled meaning .. data speeds, due to using too much of your "unlimited" data. It's like, driving at 90mph .. and then you go over what they deem acceptable in your data usage (that should be unlimited), so they chop you down to 10mph download speeds. With this, you get back your 90mph.
 

cpgifford

Senior Member
Oct 2, 2010
117
17
Houston, Tx
Yup. Throttled meaning .. data speeds, due to using too much of your "unlimited" data. It's like, driving at 90mph .. and then you go over what they deem acceptable in your data usage (that should be unlimited), so they chop you down to 10mph download speeds. With this, you get back your 90mph.


Has anybody seen that this mod/update/whats-due-to-us works 100% with no side effects? ;)
 
  • Like
Reactions: ward360

sino8r

Senior Member
Sep 7, 2006
3,551
735
Birmingham, Alabama
Has anybody seen that this mod/update/whats-due-to-us works 100% with no side effects? ;)

Is it really too difficult to read the first post?! If you have trouble with that... there's no way you could do this hack. I wonder whats wrong with folks these days! Are they too lazy to read or just plain stupid? both maybe...

Okay... maybe that was a bit harsh but I clearly listed issues in the first post. I know its long and I tend to go on and on but its all very valid and should explain everything clearly. including what it is and issues....
 
Last edited:

T.C.P

Senior Member
Apr 19, 2010
4,763
3,570
Stockton
+1 lol ppl need to learn to read :D anyways i confirm this works thanks alot man

Is it really too difficult to read the first post?! If you have trouble with that... there's no way you could do this hack. I wonder whats wrong with folks these days! Are they too lazy to read or just plain stupid? both maybe...

Okay... maybe that was a bit harsh but I clearly listed issues in the first post. I know its long and I tend to go on and on but its all very valid and should explain everything clearly. including what it is and issues....



Sent from my HTC Vision using XDA App
 

EdTeach1680

Senior Member
Apr 24, 2010
115
5
Las Vegas
Couldn't you save a backup of the services.jar and push the original if you are the 1% that needs to access mobile networks settings?

I am sure you can.


" I know its long and I tend to go on and on but its all very valid and should explain everything clearly. including what it is and issues...."

LMFAO, I am a turbo noob when it comes to understanding this type of stuff. definitely not a dev, however, I have yet to find a tut on this forum that I could not follow or did not either a. have all known issues spelled out IN op or b. have them all spelled out in the first page or 2 of posts. thanks for the hard work all you smarty smarts and keep writing tuts in 6th grade reading level soes not to burn anyones gray matter...:cool:
 

sino8r

Senior Member
Sep 7, 2006
3,551
735
Birmingham, Alabama
Couldn't you save a backup of the services.jar and push the original if you are the 1% that needs to access mobile networks settings?

Yeah, you can just grab it from your Rom and save your altered services.jar to access the settings. You could copy and paste it to and from root explorer but on some roms... they tend to boot loop if not pushed via adb. I think it might be due to the fact that the phone is on while the jar is replaced... it seems to make 2.2 very angry, lol. Sometimes it works fine, you could keep both on your SD card and copy and paste when needed...

Oh course, you will still need add initially to edit the services.jar but that should work...
 

bentglasstube

Member
Jul 16, 2010
28
8
Phoenix, AZ
Bash script

I created a bash script that will apply this tweak to any rom's update.zip

http://pastebin.com/Jjmk4d1P

Usage is
Code:
./unthrottle.sh /path/to/update.zip

it will modify the rom in place and break any signatures on that rom. It will also leave the modified services.jar and the original (as servies.jar.backup) in the current directory. You need to have wget, (un)zip, and java installed for this to work.

Here's an example of it running on enother's TheOfficial rom:

Code:
$ md5sum *
759cbe600a34a0b1d48c73113d8faaa0  TheOfficial_G2_v2.14.1_update.zip
bc77d320aa79d95b90d2a0a17adb84a8  unthrottle.sh
$ ./unthrottle.sh TheOfficial_G2_v2.14.1_update.zip 
Downloading smali
Extracting services.jar
Removing throttling files
Rebuilding ROM
Cleaning up
$ md5sum *
e9fe72b9e252a7319cee4db08ecfb957  services.jar
8028c0a9cdf9ce87329834af70496fdc  services.jar.backup
e117d83e943328d6dc8d2ddfa428ee72  TheOfficial_G2_v2.14.1_update.zip
bc77d320aa79d95b90d2a0a17adb84a8  unthrottle.sh
 

jbenson

Senior Member
Oct 25, 2010
94
3
Tempe
Newbie question. What is "wget" and do I need to have (un)zip and java installed on my phone or computer?

And will this allow me to use my mobile network setting still?

Sent from my HTC Vision using XDA App
 

Top Liked Posts

  • There are no posts matching your filters.
  • 32

    Although this method is extinct :( I thought it would be handy to keep around for future works and ideas that we might have. It seems to be at the least a good reference/log of all the methods we have used (some works while others have failed) in the past. Hopefully, we can find a way to get around these ridiculous caps when we pay insane ammounts of cash for UNLIMITED data use...

    First things first...

    professor-farnsworth.gif


    ____________DISCLAIMER___________________________________
    I am not responsible for destruction of your phone, boot loops, or cancellation/suspension of your contract due to excessive data use! You edited your rom... I didn't! Don't shoot the f*cking messenger!
    And don't make say I did or the Professor will end the world with one of his doomsday devices, lol! He's angry and senile! The most deadly combination! You've seen old people drive, right? Weapons of mass destruction... anyways

    First, I'd like to thank androidcues for extensive testing. Also, thanks to T.C.P. for giving us a hand. And finally JesusFreke for creating "smali" that so many of us use today.

    Now then, let's get down to business! You need to have the SDK/adb plus drivers setup for this to work. There is no way of getting around this, so if you need help doing that... look somewhere else because there are numerous guides for that. Secondly, you need to make a backup via Nandroid of your current rom! I can't stress that enough! And finally, you need smali which is located here.

    Okay, find you current rom on your pc (the zip file) and open it with your favorite extractor (winrar is nice). Go to the system/framework folder and extract services.jar file onto your desktop. Now open services.jar and extract classes.dex to the desktop. Cut and paste classes.dex to your sdk/tools folder. Now, download smali and baksmali.jar from the link in the paragraph above. Rename them smali.jar and baksmali.jar for easier typing later. Cut and paste those two into the SDK/tools folder also. Open your command prompt and cd (change directory) to sdk/tools folder. Then type this exactly (without the quotes: "java -jar baksmali.jar -o classout/ classes.dex". Look at your sdk/tool folder... that should have created a folder called classout. Open it until you find your files. Locate the 7 files with "throttleservices" in the title. Delete them! Now type this into command prompt: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex". That should repack your edited files and create a file called new-classes.dex... Cut and paste the new-classes.dex to your desktop and rename it classes.dex. Now open your services.jar (that should be on the desktop) with winrar (or whatever) and click add file. Add the classes.dex file from your desktop. It might ask you to replace it or save or not (it will depend on your extractor). After you edited your services.jar, copy and paste it to your tools folder. Connect your phone via usb cable to the pc. Boot into clockwork recovery. In the clockwork menu, make sure you go to mounts and storage and click mount /system before this next step. Now, open the command prompt from your pc again, and cd to sdk/tools folder (if you are already there, you can skip this step! Good for you:p). Now type "adb push services.jar /system/framework/". Reboot your phone and enjoy!

    __________ISSUES_________________________________________
    The menu/settings/wireless & network settings/mobile networks are going to force close. It is rarely needed so this won't be a problem for 99% of users (1% of you are bastards;)). Just make sure you have data roaming enabled before pushing your services.jar and that your APN is correct (which it should be already) because you won't be able to change those again. You can always push your old services.jar (from your rom.zip) to quick restore (way easier than Nandroid but whatever) Just do that the same way we copied and pasted services.jar to tools folder and adb push. ONE THING you might miss is having the option to use 2G only. To remedy this, just dial *#*#4635#*#* from the dialer. Go to phone info and select your prefferences... 2G only,3G only, or 3G preferred. There's an app for that :)p) called phone info by [email protected] on the market for free. It much handier than dialing all that *#*# crap. That should take care of most folks.

    We extensively tested most roms but CM Nightly seemed to not like this edit. I guess it would depend on the build... (we tested nightly #50) My suggestion would be to all the rom developers out there to edit their own service.jars and remove those 7 deadly sins (or files) and put some kinda of falsie placeholder to prevent the force close. That should do it but since ALL roms services.jar are different... i can't make one magical file that will fix everything. ALSO, if you are running a added on theme, you need to use the service.jar from the theme to do this edit!

    Well, I think that is all... so have fun and get what you paid for which is UNLIMITED DATA (NOT THROTTLED CRAP THAT IS SLOWER THAN 2G!) T-Mobile has found a loophole with this throttle crap so they can still CLAIM it's unlimited! That may be technically true but it is utter crap and they know it. They are already being sued for this but I doubt anything will happen. This also meant for user who don't use their phone as a home internet connection. Those folks are the ones who made t-mobile do this. This is meant for people who use a normal amount of data like 10-15GB and aren't using mobile internet for torrents or useless crap. That is just a suggestion and obviously this can be used for anyone who wants to. Again, you guys are the ones who editing your own services.jar and not me! I am not responsible! Like Pres Nixon said, "I am not a crook!" :p

    SO FAR, THIS HAS ONLY BEEN KNOWN TO WORK ON T-MOBILE USA AND CANADA BELL... ALL OTHER CARRIERS SEEM TO HAVE THESE FILES JUST BECAUSE IT'S A STANDARD IN ANDROID 2.2.1 AND SEEM TO BE CONTROLLED COMPLETELY OTA UNLIKE TMOBILE AND BELL...
    18
    Step One:
    Okay, find your current rom on your pc (the zip file) and open it with your favorite extractor (winrar is nice)(dictionary - I think 7zip is the best)

    Step Two:
    Go to the system/framework folder and extract services.jar file onto your desktop.

    Step Three:
    Now open services.jar and extract classes.dex to the desktop. Cut and paste classes.dex to your sdk/tools folder.

    Step Four:
    Now, download smali and baksmali.jar from the link in the paragraph above. Rename them smali.jar and baksmail.jar for easier typing later. Cut and paste those two into the SDK/tools folder also.

    Step Five:
    Open your command prompt and cd (change directory) to sdk/tools folder. Then type this exactly (without the quotes: "java -jar baksmali.jar -o classout/ classes.dex". Look at your sdk/tool folder... that should have created a folder called classout. Open it until you find your files.

    Step Six:
    Locate the 7 files with "throttleservices" in the title. Delete them! Now type this into command prompt: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex". That should repack your edited files and create a file called new-classes.dex...

    Step Seven:
    Cut and paste the new-classes.dex to your desktop and rename it classes.dex.

    Step Eight:
    Open your services.jar (that should be on the desktop) with winrar (or whatever)(dictionary - again, try/use 7zip) and click add file. Add the classes.dex file from your desktop. It might ask you to replace it or save or not (it will depend on your extractor).

    Step Nine:
    After you edited your services.jar, copy and paste it to your tools folder. Connect your phone via usb cable to the pc.

    Step Ten:
    Boot into clockwork recovery. In the clockwork menu, make sure you go to mounts and storage and click mount /system before this next step.

    Step Eleven:
    Now, open the command prompt from your pc again, and cd to sdk/tools folder (if you are already there, you can skip this step! Good for you:p).

    Step Twelve:
    Now type "adb push services.jar /system/framework/". Reboot your phone and enjoy!

    Tried to help clean those up .. looked way too confusing :)
    10
    Okay, here's one alternate method for those who are having with trouble in services.jar...

    Okay, restore your previous service.jar (you can rip it out of your downloaded rom.zip) and after that... go into mobile settings and access point name and add new apn. use these to fill in the blanks but a bit of a warning... only use this apn when throttled! Be sure and switch back to Tmobile data when your billing cycle starts over! I will look at CM later and see why its not working. Heres what you should have:

    Name: kill throttle (or whatever you want)
    APN: internet2.voicestream.com
    Proxy: <not set>
    Port: <not set>
    Username: <not set>
    Password: <not set>
    Server: <not set>
    MMSC: http://mms.msg.eng.t-mobile.com/mms/wapenc
    MMS Proxy: <not set>
    MMS Port: <not set>
    MCC: 310
    MNC: 260
    Authetication type: <not set>
    APN type: <not set>
    4
    Can anyone please work this into a one click type of apk?

    Sent from my G2 using XDA App

    this should do the trick, stick these on yer sdcard
    wanna be unthrottled?
    flash update-unthrottled-services.zip from recovery, reboot

    dont like being un-throttled?
    go back into recovery, flash update-throttled-service.zip and get throttled again

    these are working for my mt3g and G1, cyanogenmod 6.1 including nightlies
    3
    Still, it was a great run while we had it eh? I mean.. it was great!

    I propose the next poster who tries to relight this thread be cultivated and molded as a xda-mole to legitimately work for tmobile but he will hack it from the inside. And then justice will be restored.