
Originariamente inviato da
boype
Another post to be linked to the OP. It explains a feature I added a few releases back, but did not mention it so far because I wanted to give a detailed explanation first.
What is DTIM (skipping)?
DTIM stands for "delivery traffic indication message". A DTIM is sent to your phone by the wireless access point, when there is data the access point wants to transmit. For example, when there's a Whatsapp message incoming, it is reaching the wireless access point, which then notifies your phone that there's something incoming and it has to get ready to receive it. This notification is handled by DTIMs.
More information on DTIM can be found here:
Delivery traffic indication message - Wikipedia, the free encyclopedia
Now what's the big deal with DTIMs? The Broadcom WiFi driver in the kernel is set to not receive each DTIM when the phone's screen is off. This is obviously done in order to save some battery, so that the phone doesn't have to get out of idle so often. This behavior is called DTIM skipping. A negative effect of DTIM skipping, however, might be that messages (like Whatsapp messages) are received with some delay.
So what is DTIM skip override good for?
DTIM skip override lets you choose if and how many DTIM requests are ignored when the phone's screen is off. Just to give an example, I have set mine to skip no DTIMs whatsoever to get quicker notifications.
What is the actual impact on battery life?
That depends on the wireless network you're in. If you're signed-in to a network with many clients and a lot of traffic, disabling DTIM skipping will probably affect your battery life some more. When you're in a private wireless network (like the one in your home), disabling DTIM skipping is most likely not affecting your battery life at all.
Personally, I cannot see any negative effects on my apartment's wireless.
How to enable the DTIM skip override
This is possible via the following sysfs path: /sys/module/bcmdhd/parameters/dtim_skip_override
A value of 1 disables DTIM skipping. A value of 0 simply uses the stock behavior. Any value above 1 sets the value, which
nth DTIM request should be processed by your phone. E.g., if you set it to 3, each third request will be processed.
You can
activate it via terminal, e.g.: 'echo 1 > /sys/module/bcmdhd/parameters/dtim_skip_override'
To make it
apply on each boot, use the following
init.d script:
codice:
#!/system/bin/sh
until [ -e /sys/module/bcmdhd/parameters ] ; do
sleep 3
done
echo 1 > /sys/module/bcmdhd/parameters/dtim_skip_override