3 Answers
3

If you constantly get a poor 3G signal, you may want to switch the signal preference to favor 2G instead of 3G. Here's a way to do it on ICS:

In dialer, press *#*#4636#*#*

Go to 'Phone Information'

Swipe to this 'Set preferred network type'

Assuming it is 'WCDMA preferred', change it to 'GSM Auto (PRL)'

Screenshot (click to enlarge)

This setting will change its signal quality threshold, allowing it to switch from 3G to 2G 'earlier'. Use at your own risk though...

To address your question of automatically switching signal when you make a call, you might be able to hammer something out on Tasker if you are so inclined (I may give it a try later to satisfy my own curiosity xD).

One problem is forsee though, is that I believe it takes a bit of time to switch signals, so it might affect your call (or its quality).

I would say that the practical anwser is no. Although you could theoreticaly make an appliction/script that would swith to 2g before a cal, the script would have to wait a few seconds before making a call while the phone switches signals. This will make it no faster than manualy changing it before calling.

I suggest you put the 2g/3g widget near your dialer and press it before you enter the dialer, by the time you choose a contact the phone should be ready to call.

Another option has to do with rooting and voiding your warranty: flashing different modems(radio images) from xda. Some modems hold to signals much more aggresively (but use more battery).

The last and most obvious option (the one that I would choose in your place) is to just stay in 2g mode when in the city. Since the signal is so bad you drop calls I would guess that data speeds are slow and dropping too. You will also gain in battery life beacuse the phone won't be constantly searching and droping signals.

In any case I would consider changing the carrier if there is a better option where you live.

I think I've got the solution to your problem, rather our problem. I've been facing this issue for a couple of weeks now, during which I was not able to make any calls when my network mode is set as WCDMA or GSM/WCDMA auto.

I called up my network operator, and they were able to provide me a solution. In the call settings menu, inside Additional Settings, there is a setting for displaying the Caller ID in outgoing calls. I had changed this setting to 'Hide number', and that was the reason I wasn't able to make any calls in the WCDMA mode. After I changed it to 'Network default' or 'Show number', I was able to make calls even in the WCDMA mode. :)