DISCLAIMER: As far as I can tell this makes a negligible difference in battery consumption, and could cause you problems if you forget to change it back before traveling somewhere that does use 2G (GSM). For example, this phone (US T-Mobile version) currently won't work at all on AT&T. I am simply posting this so that I don't forget I did it ;-)
AND, I also think it is keeping me from updating to 2.3.6.
A common problem with b-mobile data-only SIMs is heavy battery usage by the cellular radio looking for a signal, even though it has one. Unfortunately I don't know how to fix this but I thought of a way to perhaps minimize the effect. I am guessing that since the phone thinks there is no 3G connection, it is also searching 2G networks as well, which we don't have here in Japan. Perhaps if I set my Nexus One to only use 3G, battery life might just get a little better.
Then again, perhaps not, since 3G uses much more power than 2G and it is the search for a 3G signal that is killing the battery.
From what I can tell, the following values set the default network in the
build.prop
file FOR HTC HANDSETS.0 = WCDMA PreferredFirst I pulled the file from my phone.
1 = GSM Only
2 = WCDMA Only
3 = GSM/WCDMA (auto mode, according to PRL)
4 = CDMA / EVDO. Preferred
adb pull /system/build.prop
Find this line.
ro.telephony.default_network=0
As set, it allows GSM, though it prefers WCDMA
I changed it to allow only WCDMA:
ro.telephony.default_network=2
Then I pushed it back to the phone's SD card (because my phone's boot image has security on and I can't mount /system as read write from adb).
adb push build.prop /mnt/sdcard
Next, I opened a shell on the phone, switched user to root, and mounted /system as read write from within the phone.
adb shell
su
mount -o remount,rw /dev/block/mtdblock3 /system
Finally, I made another backup copy of build.prop on my SD card, replaced the original with the modified one, and rebooted the phone.
cd /system
cp build.prop /mnt/sdcard/build.prop.bak
rm build.prop
cp /mnt/sdcard/build.prop build.prop
reboot
BTW, FWIW, and FYI ( ok enough acronyms) this is neededwith Stock Android and not HTC's Android (in my experience, anyway).
ReplyDeleteBoth my Sharp Androids as well as the HTC Desire ROM I ran on my Nexus One have the option to run WCDMA-only in the Mobile Network settings, as well as GSM-only or Auto GSM+WCDMA. So no need to root/edit files to get them to run 3G only ;)
So does CyanogenMod IIRC...
Hey thanks for the comment. Neither of my HTC handsets have the option to use only 3G in settings - only the option to use 2G. I don't recall seeing this in CM6 (for the Magic). I've never used CM for the N1, so I can't say about that.
ReplyDeleteEither way, it doesn't make much of a difference. I wrote this post about a month ago and just posted it today, mainly in case someone else had the bright idea to try. ;-)
Okay man, you should've dug a little more.
ReplyDeleteIf you use *#*#4636#*#* code in the dialer, it give you "phone testing". (But maybe HTCs will not accept that code because of non-stock dialer)
In that case use "Any cut" from android play store and create a shortcut to phone information.
In that menu you get to choose only WCDMA.
More on: http://forum.xda-developers.com/showpost.php?s=292f474fd6aef2dbb7d947e9de94133b&p=4123914&postcount=3