BlackBerry 10 OS battery drain

Due to the BlackBerry shutdown from January 4, 2022, the BlackBerry 10 OS devices seem to have a serious problem. I have a BlackBerry Passport on which I’m running some tests and lately I noticed a massive battery drain. Actually, I noticed the issue earlier but I couldn’t link it to the BlackBerry Services EOL from this year because I foolishly thought that BlackBerry would still keep the servers up or at least give the users an update that will remove any dependency on their servers. But they didn’t.

The problem is that the device is doing 3 requests per second to several external BlackBerry servers (that are now offline) and as you can imagine, this kills the battery really fast. I encountered the issue last year because I was using a custom blocklist on a Pi-hole and it blocked all blackberry.com and blackberry.net domains, but I wasn’t using the device as much as to notice the reduced battery life.

The servers the device is trying to connect to each second are:

  • <IP>.rcp.blackberry.com
  • xtra.gpsonextra.net
  • icc.blackberry.com

Where <IP> depends on your current location I guess. Additionally, the phone tries to connect to several other servers but those are normal requests that are not hammering the network connection:

  • cs.sl.blackberry.com
  • registration.blackberry.com
  • inet.registration.blackberry.com
  • cse.dcs.blackberry.com
  • cse.doc.blackberry.com

The xtra.gpsonextra.net request is from gpsd on the device for the GPS almanac from Qualcomm servers and that can be setup to be served from your router (if you have OpenWrt on it you can use nginx).

The only workaround currently is to turn off all Internet connections (Mobile and WiFi) on the device when you’re not using it or add a hosts entry to your router for blackberry.com to redirect all the requests to 127.0.0.1. Scratch that, even if you sinkhole the domains to an active IP the DNS lookups are still going strong. I guess that the server responses must be valid and signed for the requests to stop.

Since there is no root access on the device so that I can disable the affected service or add blackberry.com to /etc/hosts on the phone, I’m kinda stuck.

From the image to the right (click on it for extra info and clarity) you can see there are 8703 requests per hour (208872 per day, 8703 per hour, 145 per minute, 2.5 per second, says basic math); and about 2.1MB of extra network traffic per hour (you do the math for daily extra network traffic).

This issue reduces the battery time of my device (100% to 0%) from 4 days to about 20 hours, so yeah, it renders it kinda useless. Thanks Obama.

Device info

A BlackBerry Passport model SQW100-4 running BlackBerry OS 10.3.3.2137.

$ pidin info
CPU:ARM Release:8.0.0  FreeMem:1724MB/3072MB BootTime:Jan 14 16:33:08 2022
Processes: 3, Threads: 6
Processor1: 1362036465 QCT Krait (MP) 2265MHz FPU 
Processor2: 1362036465 QCT Krait (MP) 2265MHz FPU 
Processor3: 1362036465 QCT Krait (MP) 2265MHz FPU 
Processor4: 1362036465 QCT Krait (MP) 2265MHz FPU 
$ uname -a
QNX BLACKBERRY 8.0.0 2018/02/21-10:54:19EST MSM8974AA_ES1.1_PVS12SB1_WINDERMERE4ROW_Rev:05 armle

Graphs

I fully charged the phone’s battery, restarted it and enabled WiFi on Saturday at 09:00 and by Sunday 06:00 it was discharged. During this time the phone was idle and in a default state with no additional applications. You will notice from the graphs when was the moment I turned on the WiFi connection.