Jump to content

No "3G only" in 2.1 causing slow 2G connection


Recommended Posts

Guest Down to earth Swede
Posted (edited)

I don't know if this is a fixable problem, but since upgrading to 2.1 based on the last leaked version (not the recent official one) and LCR 1.71, there is no way to force 3G only in the settings.

There's only an option to force 2G (to save battery as it says).

So the phone constantly shifts between 3G and 2G, even though there is a 3G connecton with some bars visible.

Places/spots where 3G only worked before resorts to Edge being used.

Besides really slow surfing it means that streaming in apps like "Droid Live", now isn't working all the time when I walk or run from point A to point B where it used to work all the way before via 3G only. It get's lots of interupted streaming which is extremely annoying.

Seems like the OS decides that it is better to have 2G with perhaps 4-5 bars than 3G with 2-3 bars or something like that.

Anyway, is there any app or any way that I can force 3G only so this, almost random, switching between 3G and 2G doesn't take place.

Sometimes it actually goes from H to E on the status bar (HSDPA to Edge) directly, when I am being in the same place and just moving the phone a couple of decimeters.

Is this thing a part of 2.1 or is it fixed in the new official ROM?

I'm almost considering moving back to 1.6 because of this because I don't want the constantly interupted streaming that now occurs when 2G kicks in all the time with 2.1 at places where it didn't with 1.6.

Edited by Down to earth Swede
Guest gengaro86
Posted

Open dialer, dial "*#*#4636#*#*", an hidden menu will open. Navigate into "Phone informations" (should be the first voice), scroll down and set "WCDMA only".

This works for me!

Guest Shreedhan
Posted
Open dialer, dial "*#*#4636#*#*", an hidden menu will open. Navigate into "Phone informations" (should be the first voice), scroll down and set "WCDMA only".

This works for me!

Great tip!

Guest Down to earth Swede
Posted
Open dialer, dial "*#*#4636#*#*", an hidden menu will open. Navigate into "Phone informations" (should be the first voice), scroll down and set "WCDMA only".

This works for me!

Fantastic tip!

Making this a contact ("3G only")!

Anyway, strange why this is removed from the settings in 2.1, android is supposed to give us more choices and customisability, not less!

That tips should be pinned now that the official 2.1 is out and so many is upgrading!

Guest PhilNelwyn
Posted
Fantastic tip!

Making this a contact ("3G only")!

Anyway, strange why this is removed from the settings in 2.1, android is supposed to give us more choices and customisability, not less!

That tips should be pinned now that the official 2.1 is out and so many is upgrading!

In LCR 1.7 there's also a network optimization hack that can cause (random ?) network instability.

Personally I prefer network set to "standard" (via gscript) than default "high", market dowloads for example are faster for me this way.

Guest Quipeace
Posted
Fantastic tip!

Making this a contact ("3G only")!

Anyway, strange why this is removed from the settings in 2.1, android is supposed to give us more choices and customisability, not less!

That tips should be pinned now that the official 2.1 is out and so many is upgrading!

I suppose 3G was causing problems. I think people were setting it on 3G-only and then complained about bad reception or something.

Guest PhilNelwyn
Posted
I suppose 3G was causing problems. I think people were setting it on 3G-only and then complained about bad reception or something.

Yes, probably complained about battery consumption.

Guest HustlinDaily
Posted
Fantastic tip!

Making this a contact ("3G only")!

Anyway, strange why this is removed from the settings in 2.1, android is supposed to give us more choices and customisability, not less!

That tips should be pinned now that the official 2.1 is out and so many is upgrading!

The contact thing did not work for me.

Get BetterCut and make a shortcut to "Testing" on a homescreen.

Guest Down to earth Swede
Posted

Yeah, guess the reason is battery consumption.

But most of us should know that already, that 3G is a battery hog.

I just switch it on when I need to use some form of net connection, then I set it to 2G all the other times.

I guess this is an example of "iphoneization" of the android system where they want to appeal to people who don't want to fiddle at all with the phones.

Heard on the android guys podcast that they knew of people that didn't even install any apps at all from the market, they just used the apps that came with the phone!

Anyway, I guess one of the easiest ways to use this tip is to make that string that is the phonenumber a contact and then just install the app "Anycut", so that i can be placed on the homescreen as a clickable icon.

Is it possible to put that string,"*#*#4636#*#*" into some kind of script that then also sets the variable for "WCDMA" automatically?

So that we then can run that script by making a shortcut to it (to run from the homescreen). That is, just one press on the shortcut makes it go into 3G only!

And, in the same way, a similar script to put the phone into 2G only, so that we don't need go into the settings all the time to do that.

Guest Quipeace
Posted
Yeah, guess the reason is battery consumption.

But most of us should know that already, that 3G is a battery hog.

I just switch it on when I need to use some form of net connection, then I set it to 2G all the other times.

I guess this is an example of "iphoneization" of the android system where they want to appeal to people who don't want to fiddle at all with the phones.

Heard on the android guys podcast that they knew of people that didn't even install any apps at all from the market, they just used the apps that came with the phone!

Anyway, I guess one of the easiest ways to use this tip is to make that string that is the phonenumber a contact and then just install the app "Anycut", so that i can be placed on the homescreen as a clickable icon.

Is it possible to put that string,"*#*#4636#*#*" into some kind of script that then also sets the variable for "WCDMA" automatically?

So that we then can run that script by making a shortcut to it (to run from the homescreen). That is, just one press on the shortcut makes it go into 3G only!

And, in the same way, a similar script to put the phone into 2G only, so that we don't need go into the settings all the time to do that.

I suppose you could create a widget that does that, just need to find out what the button actually does behind the scenes. An application would work just as well though, but a widget with the looks of a regular shortcut would be a cleaner solution.

Guest Down to earth Swede
Posted
I suppose you could create a widget that does that, just need to find out what the button actually does behind the scenes. An application would work just as well though, but a widget with the looks of a regular shortcut would be a cleaner solution.

I'm not familiar at all with the inner workings of android.

But surely there must be some member of a class that sets the connection type that we could set the value for in a simple way, like in a script.

Saw that Gscript is included with the installation of LCR 1.7, I guess it could be done in that, couldn't it?

How complicated can a thing like this be?

Just setting a value for a member of a class?

Guest JonasF1
Posted

You can use the AnyCut app to create a shortcut for that!

In AnyCut you can find it under "Activity" and it's called "Testing".

I'm not familiar at all with the inner workings of android.

But surely there must be some member of a class that sets the connection type that we could set the value for in a simple way, like in a script.

Saw that Gscript is included with the installation of LCR 1.7, I guess it could be done in that, couldn't it?

How complicated can a thing like this be?

Just setting a value for a member of a class?

Guest Down to earth Swede
Posted
You can use the AnyCut app to create a shortcut for that!

In AnyCut you can find it under "Activity" and it's called "Testing".

That doesn't work for this.

In anycut I can just create a "testing" shortcut, but can not put anything in it. When it is created, clicking on the "testing" shortcut just takes med to a settings page for phone information, kinda like the "About phone in the settings, but not exactly like it".

It does nothing anyway...

Is there anybody that know how to automatically dial "*#*#4636#*#*" with a shortcut?

Or even better, have a shortcut that also puts it into 3G only?

Guest Quipeace
Posted (edited)

I've been trying to find out what the 3g-only button calls when touched, but I can't find it anywhere, logcat isn't being particularly helpful either...

*is digging in the dev reference...*

EDIT: At above, when in that settings screen, tap "phone information" and then scroll down, you should see it there :angry:.

RE-EDIT:

	   int setting = Settings.Secure.getInt(getContentResolver(), "current_active_phone", 100);

returns setting = 100, meaning that the setting "current_active_phone" is not defined (or no longer is) :D, so that's where things are already starting to go wrong...

"subscription_mode" isn't defined either.

"logcat -b radio" gave lots of info, but nothing usable, perhaps besides "REQUEST_SET_PREFERRED_NETWORK_TYPE : 1" when changing to GSM, which is the value I expect from the code I posted earlier (when on a GSM network).

Simply figuring out what string replaced "current_active_phone" or "subscription_mode" is the key, perhaps someone who knows a little more about Android knows how to retrieve the string?

RE-EDIT2: AFAIK at least "current_active_phone" should be defined in settings.java.

Edited by Quipeace
Guest Quipeace
Posted (edited)

First of all, sorry for the double post here...

Phone info uses com.android.internal, those api's arn't avaliable to 3rd party app developers, here's the source of radioinfo, the method we want is near the end of the file:

http://www.netmite.com/android/mydroid/don.../RadioInfo.java

setting pos in phone.setPreferredNetworkType(pos, msg); to 3 should enable WCDMA only.

I'm now trying to find out how to use these APIs, but it will probably be up to the chefs to build it in their roms.

EDIT: After reading a bit I think chefs will have to builld the sourcecode with their roms, but that's way over my head, perhaps someone more experienced can help out here...

Edited by Quipeace

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.