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.propfile 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.
As set, it allows GSM, though it prefers WCDMA
I changed it to allow only WCDMA:
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.
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.
cp build.prop /mnt/sdcard/build.prop.bak
cp /mnt/sdcard/build.prop build.prop