Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I have an old Motorola Droid that is no longer subscribed on any Verizon service. I still use it for things like web browsing, ebooks, and along with some wireless stereo headphones, music. I've already turned off 3G data usage (EVDO) by disabling the Enable data option under Mobile network settings. However, when I turn off the cell radio (CDMA), bluetooth is also disabled. I first observed this problem on the stock Android 2.2 firmware. Now my phone is rooted, running on an Android 2.2 based firmware (CyanogenMod 6).

Why disable the cellular radio? Droid Cellular Strength Icon

Simply put, I want to turn it off because I don't use it. Moreover, it uses battery life and cpu time (even if relatively small amounts):
cellular standby battery usage: 20 minutes

I've tried two different methods of disabling the cellular radio, but both ended up doing the same thing:

  • Turning on Airplane mode, then re-enabling Wi-Fi. This has the expected consequence of also disabling bluetooth.
  • Using the Phone Info menu by dialing *#*#INFO#*#* (4636) and pressing Turn off radio. This actually just turns on Airplane mode:
    Phone Info menu just enables Airplane mode

As you can see, even though Wi-Fi does stay on, Airplane mode disables bluetooth. The headphones won't sync until I turn off Airplane mode, which of course turns the cell radio back on.

In both cases Airplane mode is enabled, so bluetooth gets disabled. But now that the device is rooted, I should be able to disable the cellular radio without using Airplane mode at all. How can I do that?

share|improve this question

3 Answers 3

up vote 8 down vote accepted
+50

Check out this guy's post on XDA: http://forum.xda-developers.com/showpost.php?p=11370203&postcount=2

This might be considered a risky solution, but if you aren't using the 3G connection at all and you're careful to simply rename the .apk's he references you might just disable the cell radio without needing to use Airplane Mode.

In case the link doesn't work, he suggests using Root Explorer to rename phone.apk to phone.apk.bak and telephony.apk to telephony.apk.bak thus disabling these two packages. You have to reboot your phone to finalize the changes. If it doesn't work, you should remove the .bak from each file name and they should be available again.

At OP's request, a summary of his findings:

Phone.apk is the Dialer app, which is responsible for the cell radio. PhoneTelephony.apk turns out to be just the Dialer storage, which we can kill just to save more memory. AndroidOS immediately restarts Dialer when it is closed, so renaming it will cause problems. But after a battery-yank-reboot, everything is ok. It also gets rid of the annoying Activate your phone dialog that comes up on every boot. btw, the dialpad still comes up after getting rid of Dialer :-)

share|improve this answer
    
Good news: this seems to work! Bad news: renaming Phone.apk crashes the phone app and causes an endless error message loop: "The process com.android.phone has stopped unexpectedly. Please try again." with two options, Force close and Report. Had to pull the battery to reboot, although kicking myself for not trying the Report option. I used the Terminal app, instead of Root Explorer. The CM wiki mentions these should not be removed even in a barebones setup. But everything seems to be working as expected. Cell radio is off! –  briankb Mar 21 '11 at 21:09
    
Additional notes: the other app was TelephonyProvider.apk, which was the Dialer storage. Phone.apk was the Dialer app, which after disabling turns off the cellular radio. A more elegant solution would be to modify init so that the apps are never started, wouldn't you agree? I'll give you the bounty on this, but Stack Exchanges says I have to wait 21 more hours. If you (or anyone) can explain how to do that, I will gladly award another +50 bounty. :-) –  briankb Mar 21 '11 at 21:16
    
Well then I'd try to rename just phone.apk back to it's original file name, and leave telephony.apk.bak disabled. I'm not exactly sure why the guy I linked to at XDA suggested changing phone.apk, but the file names suggest to me that telephony.apk should be what everything else is dependent upon. Also, I'm pretty sure they say that over at CM's site because they expect people to be using their phones to make and receive phone calls and text messages, but since you don't care about those functions this should be fine. I'm glad this worked for you! –  newuser Mar 21 '11 at 21:19
1  
@briankb - I was once recommended Autostarts for a different objective, but perhaps it will work for you in this case? I never downloaded it so I don't know what it's capable of, but it purports to allow you to view and block any app that runs on any given intent or during boot. –  newuser Mar 21 '11 at 21:24
3  
Thanks, I'll look into that. For future reader's benefit, do you mind editing my conclusions into your answer? Phone.apk is the Dialer app, which is responsible for the cell radio. PhoneTelephony.apk turns out to be just the Dialer storage, which we can kill just to save more memory. AndroidOS immediately restarts Dialer when it is closed, so renaming it will cause problems. But after a battery-yank-reboot, everything is ok. It also gets rid of the annoying Activate your phone dialog that comes up on every boot. btw, the dialpad still comes up after getting rid of Dialer :-) –  briankb Mar 21 '11 at 21:58
  1. Make sure Airplane mode is off.
  2. Hold the power button for a second or two, and click Data Network Mode in the menu that pops up (it should say ON, and will turn to OFF).

    1. If you don't have this option, uncheck Packet Data or Data enabled under Settings -> Wireless and Network -> Mobile network
  3. Turn off WiFi.
  4. Turn on Bluetooth.
  5. Done!
share|improve this answer
1  
After doing this the cellular signal strength icon on the notification bar is still active. When I deactivate cell radio through the Phone Info menu, or when the phone is in Airplane mode, that icon shows an (X) symbol to indicate that it is disabled. btw I've had Data enabled unchecked since I last did a hard reset, and the battery usage still shows the cell radio using battery life. –  briankb Mar 20 '11 at 1:08
    
Oh, I assumed you just wanted data off. I guess you're trying to save as much battery as possible then? Well it should be possible to do this, since the WL1271 bluetooth chip is not really related to the cell radio (though it's also the WiFi chip). If Motorola's made it work this way I don't know how to get around it. Maybe if you installed CyanogenMOD. –  Matthew Read Mar 20 '11 at 1:47
    
Yeah I guess we'll find out. I'm set on doing just that :) –  briankb Mar 20 '11 at 3:16
    
-1 For purely "technical" reason: Answer does not actually answer the question (all cellural activity disabled, not just data). Please add an indication to the answer that it only answers the question partly. –  Ilari Kajaste Oct 27 '11 at 13:39
    
@IlariKajaste briankb's first comment is sufficient, I think. –  Matthew Read Oct 27 '11 at 14:57

Actually, the *#*#INFO#*#* (4636) method DOES work. While the control is greyed out under wireless settings, the taskbar icon still shows BT connectivity and I have tested and confirmed that BT is still active on my og Droid.

share|improve this answer
    
I've confirmed this on a Samsung Galaxy Tab running CyanogenMod. Bluetooth and WiFi continue to work and "Cell standby" does not show up on the battery usage stats. (Thanks for this, btw! Cell standby has been responsible for a significant amount of battery drain on my development devices.) –  Chris Oct 27 '11 at 19:18
2  
Note: this is not a 'sticky' setting; it will reset after you reboot your phone. –  Logos Nov 13 '11 at 12:03
    
Perfect solution. Non-invasive and easy to change back and forth. –  SleighBoy Jan 21 '12 at 10:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.