Fast Dormancy in a nutshellSupport


Last Updated: 2013-01-09 17:57:52
  1. Hawker

    Hawker Well-Known Member

    Since the JB leak there has been quite a bit of discussion about Fast Dormancy, so I thought I would try to explain things a little.

    Firstly a little explanation on what FD actually is.

    When your phone is connected via data (not wifi) your phone needs to enter certain states in order to maintain this connection. If your Operator does not have FD support or you have it disabled, then basically your states are just connected or not connected. What this means is that every time your phone connects to data, it will have to go through all of its internal functions in order to achieve the connection and perform the data transfer. This is slow and obviously the more processing that is required, the more the hit on battery.

    FD tries to limit this problem by having several different states. Each state has a different level of connection throughput and power consumption.

    DCH - High volume data (highest power consumption)
    FACH - Lower volume
    PCH - No data but keeps connection
    IDLE_CCCH - Not entirely sure about this one but I think its an interim stage
    IDLE - Connection dropped (lowest power consumption)

    When in DCH state, your phone is doing the highest volume of data transfer, and obviously consuming most power out of your battery.
    The way FD will work is when transfer rates drop, the state drops to FACH for less power consumption and then back up immediately to DCH if required, or if this transfer state is over for the time being, (eg. you have stopped browsing) instead of going back to IDLE which would mean going through all the connection procedures next time data is required, the state drops down to PCH. This is a very low powered state, and when data is subsequently required, it can then immediately go back up to FACH or DCH with minimal effort. Going up/down between each states takes the least amount of time and battery

    To turn FD on/off enter *#9900# in the dialler to get into the SysDump screen then select the Fast Dormancy option

    Whether you keep FD on or not depends primarily on if your network operator supports it.

    If your network operator supports it, then enabling it is not necessarily the best answer, as it then depends on the combination of the following 2 things:

    1. How you use your phone
    If you are a heavy data user then enabling FD is almost certainly the way to go. The less the phone needs to do to fire back up the connection the better. However, if you rarely use the phone for a data connection, then it may prove beneficial to you to switch it off so that the IDLE state is entered sooner. Bear in mind before you decide on if you should turn it on or off, what your data sync type options for contacts/calendar/email etc. are. If you dont browse too often, you may still be using data quite often even though you are not physically doing so through various background syncs.

    2. How "intelligent" your Operator's FD actually is.
    This can be done via a simple test. With wifi off and FD enabled, at the dialler, type *#0011#. This takes you into the ServiceMode menu. The important piece of information here is the RRC State line. Press the home button and open a browser session and go into a web site, then immidiately long press the home to get the list of tasks and select the ServiceMode app. The RRC State line should be DCH (or at least FACH) and you should see some activity in your signal indicator arrows on the status bar. Eventually you should see it drop down from DCH -> FACH -> PCH -> IDLE (sometimes you may see IDLE_CCCH). Ideally, the state should stay at PCH for a while, then eventually drop to idle.

    My findings are on JB, that FD isn't handled as well as it was on ICS, but this will probably be due to it still being a leak. It seems for me, it goes from DCH -> FACH, and shortly after that drops to IDLE. This is not great if your going to be using more data shortly, but ok if you are no longer browsing. Swings+roundabouts.


    Remember FD only applies to a data connection. It does not kick in whatsoever when you are connected to wifi.

    The quality of your data connection (ie. H+, H, 3G) will also have a bearing on how FD will perform. Better connectivity should give you a more efficient FD performance.

    Tip 1.
    If your wifi sleep policy is set to "keep wifi on during sleep only when plugged in" then this will mean your data will take a hit whenever your screen is off (unless plugged in of course) If you think FD is not for you because "I'm almost always connected to wifi" (ie. at home/work) then you will still need to consider what the best FD policy is for you when on this sleep policy, as obviously, your screen is off most of the day.

    Tip 2.
    If you are not connected to wifi overnight (either your not at home, or your wifi sleep policy dictates) bear in mind what your phone does overnight in terms of background data activity (ie. your data sync options and widgets such as news/weather etc). If you have minimal data activity overnight (you set your widgets to sleep for example), then it would be better to switch FD off, as less battery would be consumed to go straight back to IDLE than hang around for possibly 10 minutes or more each time in FACH.

    Note
    You may well have a slightly frisky l2_hsic wakelock when FD is disabled, but when FD is enabled you may well find this drops slightly, only to find another little devil called secril_fd-interface kick in instead, so again, swings and roundabouts.

    I did extensive testing on this about 6 months ago, and came to the conclusion that its better FOR ME to turn FD off, but the differences were not drastic. It can however make huge differences for others, depending on your Operator and your usage habits. I admit, I've not done too much testing on JB yet, as I have kept it on. I may turn it off over the next day or two to see.


    Bottom line is, try it and see what works best for you.

    (PS. as "dummies guide" is copyright 2012-2013 ironass, I elected the "in a nushell" title, so "nutshell" is mine)
    :)

    Advertisement
    mpanju, sntaylor, cdzo72 and 2 others like this.
  2. sflannery07

    sflannery07 Well-Known Member

    Great article
  3. ironass

    ironass Well-Known Member

    I contacted my carrier, Vodafone UK, last year regarding Fast Dormancy, (FD), and whether they had it enabled on the network. After numerous phone calls which drew a blank, I finally got to speak to a tech guy who told me that FD was enabled in some locations. I gave him my post code and asked if mine was one of them and he said he could not tell me! :(

    I have since discovered that if you are getting a high, "secril_fd-interface", wakelock in BetterBatteryStats, then you should probably disable Fast Dormancy, as per Hawker's post, as it is not supported.
  4. dynomot

    dynomot Well-Known Member

    I'm always on net via my phone, this post being a good example. I too am on Vodafone which has to be fair mostly a decent. H+ or H signal. However traveling around all day as I do I always experience the ubiquitous 3G or worse an E (for GSM/EDGE). I always have FD enabled, testing it in all four data connection states it seems to take an age to go back to idle on 3G and E while H and H+ it is like lightening. It appears to have little to do with how long the (same) web page takes to render. Am I missing something? I would have thought the age it takes to render a web page on, say, an E signal would be proportional to how long it takes FD to return to idle. Apparently not, as long as the web page takes to render reaching idle takes much longer on an E signal after it has rendered fully than it does on a H+ signal after the page has renderd. I presume this is because FD just works better with H+.

    Any how I leave it on, just wonderd that's all :)

Share This Page