Project

General

Profile

Disabling GSM modem drains the battery on N7100

Added by Dmitriy Dmitriev 12 months ago

After installing Replicant 6.0-0004-rc3 on my N7100, I disabled the modem by renaming "/system/lib/libsamsung-ril.so", and enabled airplane mode as well (which was redundant though). After some time, I noticed that the Battery usage stats showed that nearly a half of the power was drained by the cellular module, which was supposed to be disabled (IMEI wasn't shown in the "Phone status" section). I also started experiencing some system crashes a few times per day. The device would just reboot all of a sudden. Then I renamed the file back to "libsamsung-ril.so" and reset battery stats keeping airplane mode on. The cellular module item never appeared on the list since that point.
I suppose this might be not just a power consumption problem, but also a security/privacy issue.


Replies (7)

RE: Disabling GSM modem drains the battery on N7100 - Added by Denis 'GNUtoo' Carikli 12 months ago

After installing Replicant 6.0-0004-rc3 on my N7100, I disabled the modem by renaming "/system/lib/libsamsung-ril.so", and enabled airplane mode as well (which was redundant though).

It's not really redundant, both do different things.

Airplane mode just tells the modem not to go in full power mode, so it's not supposed to transmit but it's still running.

So when you will re-enable the modem by renaming libsamsung-ril.so, it will stay in low power mode once booted.

Also updating an image obviously gets rid of the rename so it's not a bad idea to do that to be safer.

After some time, I noticed that the Battery usage stats showed that nearly a half of the power was drained by the cellular module, which was supposed to be disabled (IMEI wasn't shown in the "Phone status" section).

What happens is that if you move libsamsung-ril.so, the system will not load the modem firmware inside the modem, but the chip could also still be on. Replicant could also be retrying to several times and too frequently to find libsamsung-ril.so.

I also started experiencing some system crashes a few times per day. The device would just reboot all of a sudden. Then I renamed the file back to "libsamsung-ril.so" and reset battery stats keeping airplane mode on.

The crash would need to be debugged to be fixed as if it's somehow related, it could be in the kernel or in the modem stack among other things.

The cellular module item never appeared on the list since that point.

I didn't understand what you meant here.

I suppose this might be not just a power consumption problem, but also a security/privacy issue.

If disabling the modem is too inconvenient then we have an issue.

I often did it (with the new script) on a Galaxy SIII (GT-I9300) and and Galaxy SII (GT-I9100) and I didn't notice any inconveniences with the last versions of the script (which reboots the device to turn the modem off and on).

At some point we probably will need to improve the support for disabling the modem by integrating it better and directly in libsamsung-ipc and Replicant instead of using scripts.

Denis.

RE: Disabling GSM modem drains the battery on N7100 - Added by Dmitriy Dmitriev 12 months ago

Hi, Denis,

You were right about airplane mode, it wasn't completely redundant.

I didn't understand what you meant here.

I meant the system component list in battery usage stats. After I renamed the file back to libsamsung-ril.so, the 'cellular module' item disappeared from the list as it stopped cunsuming a considerable amount of power.

If disabling the modem is too inconvenient then we have an issue.

We certainly have an issue here, at least because the "disabled" cellular module drains the battery twice faster.

I'll try to reproduce this on another device when I have a chance.

RE: Disabling GSM modem drains the battery on N7100 - Added by Andrés D 12 months ago

Hi Dimitry.

I used to use Replicant 6 on an i9300 without a SIM card and the battery drained faster than with a SIM inserted. I don't know if it's related.

Andrés

RE: Disabling GSM modem drains the battery on N7100 - Added by Denis 'GNUtoo' Carikli 11 months ago

Hi,

Does someone has the the time to open a bugreport about the battery consumption issue?

It would increase the probability of it being fixed, as we will be able to point people wanting to help to it more easily.

Denis.

RE: Disabling GSM modem drains the battery on N7100 - Added by Dmitriy Dmitriev 11 months ago

It turns out there is a modification of N7100 motherboard that comes without any GSM- and GPS-related chips on it. If I understood correctly, it is normally used in service centers for testing purposes. Anyhow, it would be perfect for users who don't use GSM and would like to get rid of unnecessary chips to improve their privacy and security. The only drawback is, it is extremely rare, and it only has 8GB of flash memory (a normal motherboard has no less than 16GB). I got hold of one of them and successfully installed Replicant on it.
Surprisingly, Battery Stats is still showing 'Mobile standby' that consumes around 30% of power, while a GSM chip is not physically present.

Does someone has the the time to open a bugreport about the battery consumption issue?

Done
https://redmine.replicant.us/issues/2264

n7100mainboard.jpg (78 KB) n7100mainboard.jpg N7100 Mainboard without GPS and GSM

RE: Disabling GSM modem drains the battery on N7100 - Added by Denis 'GNUtoo' Carikli 5 months ago

N7100 Mainboard without GPS and modem

This is very interesting. As this also exposes the pads under the modem, and the GPS this could also be used to:
  • Validate that the modem GPIOs behave in the same way in Replicant 6 and 11 (I've already spent months trying to make the modem work on Replicant 11 and I didn't manage to do it yet, so it could help a lot).
  • Understand better the modem GPIO API and the connections between the modem and the rest of the phone
  • See if the GPS is connected to the modem

There might also be ways to remove the modem and the GPS chips. I wonder if some companies or people specialized in microsoldering are willing to do that.

RE: Disabling GSM modem drains the battery on N7100 - Added by Norton Boos 4 months ago

I'm certainly not a developer but I have noticed this as well after using the modem.sh script. My question is, how are you able to be sure that the modem is actually off? It seems that these modems are intended to be powered on upon boot, have the firmware loaded, and then do who knows what until Android boots up and then, if airplane mode is disabled, then turn off. So if the firmware is not loaded, how is it able to understand any request to turn itself off? This sounds no different than any other device requiring blobs to be loaded after being connected to a Linux computer - ie accepting current but totally non-functioning. If this is true, then some power consumption is expected.

I have, however, done some testing on a SM-N900X board. This is a Live Demo unit for a Note 3 which does not have baseband capability. With a very bright light and a strong magnifier, I was able to ID some of the chips and deduce that there is certainly no baseband chip, but the baseband circuit has some "helper" chips that are physically present. Hypothetical question - could Samsung have designed boards that fundamentally need such chips to be present in order to have a functioning circuit? In which case de-soldering might work.

Another hypothetical question - is Android totally convinced that the radio is off? On my N7100 if I dial #*#4636##* and look carefully at the screen, it says the radio is off, yet emergency calls are available. Also there is a button that says "Turn Off Radio" button is present which does nothing. I suspect that after booting without the firmwar,e Replicant needs to somehow spoof a fake reply from the modem saying that it is in Airplane Mode. (Likewise, on the battery use details menu, it says "Switch to airplane mode to save power in areas with no cell coverage." Also on my N900X running Cyanogenmod Lollipop (the newest I can run given the CWM recovery I had to use), I git hideous battery life and the signal strength reads an obscenely high number. But after looking this up it just means the chip is in an undefined state...)

    (1-7/7)