FWIW, I have just let the phone charge from 0% to 40% at full speed (~1.6A) and the battery temperature got to 36.5°C, with ambient at around 26°C. The more charged the battery is the lower the charging current gets (it approaches an asymptote), so it usually would get cooler in later stages of charging.
After reading this topic, the 85°C thing definitely looks like a reporting issue and not an actual temperature. I haven’t seen it myself so far on any of my devices, I’ll try to keep my eye on it.
For the reference, max170xx_battery and bq25890-charger entries are somewhat confusingly named, so in case anyone wonders: bq25890-charger value is taken from the thermistor that’s inside the battery, while max170xx_battery is the internal temperature of the battery gauge chip which is on the phone’s PCB (and therefore gets warm from the SoC’s heat much easier and is actually much more related to that than to battery’s temperature).
“Charger” is a bit overloaded term - the phone contains a charging chip (bq25895) which is the part that’s actually connected to the battery’s thermistor (which is why it’s bq25890 driver that exports this value). From the phone’s perspective, what you call “charger” is actually a “power supply”
What about the aluminum case? The hottest area is the top half on either side. It would be great to have a measure during the charging process and after having played with some heavy software for a while. Of course I owe you one more beer
With wifi and mobile settings on, I started charging at 40% with the phone placed on a mostly non-heat-conductive surface (so as to avoid heating or cooling the phone’s exterior).
.short 4-second .mp4 on repeat, display constant/on
.Firefox open in background
.streaming music on continuous play
.a few terminal commands and install
.software store check for updates
A short time later, at 95% charge, the red LED started blinking, so I unplugged and took the following readings (left/right = as facing screen):
Screen, center: 43.9° C
Left edge, lower: 26.4° C
Left edge, upper: 28.3° C
Top edge: 27.0° C
Right edge, upper: 27.4° C
Right edge, lower: 28.4° C
Bottom edge: 26.3° C
Back cover, center: 40.2° C
Battery surface, back removed: 39.7° C
Modem cover: 40.7° C
Wifi/BT card cover: 42.0° C
Maybe so. The frame is, after all, essentially a heat sink.
It was definitely starting to overheat with all those processes running while also charging.
For what it’s worth, the blinking red LED while charging means that the charging controller did its job and paused charging due to high battery temperature (I don’t remember the exact threshold but IIRC it was slightly above 40°C). There’s no need to unplug it in such condition since the charging is already stopped and the phone stays powered from USB, so the battery stays mostly unused (at least unless there’s a power peak that can’t be handled by USB alone). After unplugging you start to draw power from the battery back.
The CPU is set to start thermal throttling at 50°C - first by limiting the frequency to 1.0GHz, and then starting at 60°C by idle injection. Additionally, the GPU gets throttled at 65°C as well. The critical temperature at which the SoC is forcibly shut down is 90°C (I have hit that in the past on devkit and some early batches when compiling some big stuff, but so far never on Dogwood or Evergreen). These values are set in the device tree: https://source.puri.sm/Librem5/linux-next/-/blob/pureos/byzantium/arch/arm64/boot/dts/freescale/imx8mq.dtsi#L246
Since the CPU throttling temperature is higher than maximum charging temperature, it’s perfectly normal for blinking LED to happen when the SoC is under prolonged load - inevitably some of that heat will start to reach the battery at some point (and charging will make it heat up on its own as well, so it will happen faster while charging). Usually it’s enough to just stop the CPU activity and lock the screen for it to resume charging after a short moment - of course that depends on external conditions since the heat has to escape somewhere, so don’t wrap you phone with warm blankets in such condition
Thanks for the explanation, @dos …good stuff. I usually try to stop charging at around 80-85%, when I catch it in time, just to hopefully extend the battery’s useful lifetime. Then again, I’m not relying on the L5 to get me through the day, like some here are.
What we need is a nitrogen-cooled phone case for the L5.
(I would do it but I think that area is not community-editable.)
So right now “flashing red” means “Contact Purism” whereas at least a customer could go into Usage / Thermals and decide whether the likely cause is over-temperature, or instead it is really something that the customer can’t do anything further with without contacting Purism.
I’m not at all familiar with “rST” markup, so nothing flashy (pun intended), I’m afraid. (Is it just me or are there too many markup languages in the world?)
Oh crap, now I’m experiencing the “85°C problem”.
I did apply the latest updates this morning (in amber) as well as install Megapixels and related recommended packages. I’m suspecting the former, not Megapixels.
Assuming this is just a cosmetic problem, unfortunately it is going to undermine what I just wrote for troubleshooting a flashing red LED.
@fiacco, when you have time you can read output (compare it with Thermal Zones readings from Usage app) from $ sensors as well, after $ sudo apt install lm-sensors. Start readings with cold Librem 5 (make screenshot of current ambient temperatures), repeat those after some time (make another screenshot, etc.). Running $ sudo sensors-detect would be optional (not helpful here, I guess).
Also, please install Videos over PureOS Store, stream Euronews over Wi-Fi (while charging your phone) for 5 or 10 minutes (by selecting it under Channels), repeat $ sensors current reading.
Room temperature dropped around 24° in the last days, therefore L5 values are less worrying. I did some measurement, however sensors readings match the usage values, even regarding the 85°C issue. Some examples: