Hello,
I received my Librem 5 today, and I am now measuring what I can do, as an electronic guy, to help.
I easily found the schematics of the mainboard and USB-C board, but where can I have the reference/datasheet of the double white led used in the torch, for example ?
There is a bit of fine tuning to do to avoid the persistent “99% charging” status at the end, I also need to read the charger datasheet.
Is there some charge/discharge curve of the battery somewhere ? (done with a dummy load, not the one that linux can do) ?
Yes (inserted battery related fine tuning) and as it is long time ago that I recall seeing 99%, although red LED light off, this one should help seeing (getting) 100% there:
P.S. @pi-rp, I’ll leave you now on your own (with hope that this short wraparound/intro helps).
@ekuzmenko : thanks for the datasheet (lm3560 was easy to find, but not the led one).
First impression after 3 days : the phone is usable as a daily for me. And that’s really cool !
People do not imagine the work behind, I do realize. If I find a thread with quality issues, I do have a few mechanical remarks, but nothing I cannot fix myself.
My first thought after software update was to look at /sys/class/power_supply/max170xx_battery/current_now and /sys/class/power_supply/max170xx_battery/current_now. I was pretty afraid by the 400mA idling… So I checked that, and it appears that the coulomb meter is pretty well calibrated. I got 10mV delta (that may be due to the 22awg wires I used for the test), and 10 to 20mA delta.
(intensity with low battery level, sorry, I did not measure it… This was just to look at relative currents, my goal was not to measure absolute power)
the shocking one for me is the idling imx8… 200mA without any other peripherals.
In fact, I never saw the cpu freq going under 1ghz (cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq), it is nearly always at 1.5ghz. (nothing installed except ssh, htop and vim, fresh install)
Maybe the first efforts to do are here… But maybe imx8 experts are already on this subject. I know this post won’t learn anything new to experts, but I just want to know how to help.
Your numbers are higher than I would expect. Here’s what I got when I measured a few months back, system suspend for each case (nominal VBAT being 3.7V):
Bench supply acting as a battery (less relevant/accurate):
all HKS on: 4.2V*0.195 = 819mW
only WWAN on: 4.2V*0.168A = 705.6mW
all HKS off: 4.2V*0.137A = 575.4mW
Current Probe Plus (with 18650 battery):
all HKS on: 763mW
only WWAN on: 636mW
all HKS off: 492mW
uCurrent Gold (with 18650 battery):
all HKS on: 795mW
only WiFi off: 686mW
only WWAN on: 677mW
all HKS off: 522mW
Average of uCurrent Gold & Current Probe Plus:
all HKS on: 779mW
only WWAN on: 657mW
all HKS off: 507mW
I would expect these numbers to be somewhat lower today since I took these measurements.
I also took some measurements for powering the phone from only USB VBUS but those numbers are not as relevant.
Since you got your phone recently, I assume you have the SparkLAN WiFi module, is that correct?
I believe it should get clocked down to 800MHz or maybe even lower when suspended, @dos or @angus.ainslie might have some tips on that.
I will redo the measures in mW to be serious. That was a first glimpse I did the day after I received the phone (=yesterday), and battery was low. Bench supply might be less relevant, but more accurate (with a big cap close to the phone). I will redo them at a fixed voltage and edit the post.
Bench supply might be less relevant, but more accurate
I just read off the number reported by my bench supply, I don’t expect it to be particularly accurate, it’s not a fancy model. The uCurrent Gold and Current Probe Plus are much more accurate.
Oh I forgot to mention, my measurements were also taken by averaging the power consumption over the course of about 2 minutes for each case. For example, here’s when I measured with only WWAN on using my uCurrent Gold (see mean value):
There are two cpufreq states, 1GHz and 1.5GHz. You can see how much time it spends in particular state in /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state.
It never goes below 1GHz as that doesn’t make sense, 1GHz already uses the lowest voltage it can operate on. If the CPU goes idle, it gets turned off with cpuidle. Time spent by each CPU in its idle states is available in /sys/devices/system/cpu/cpu*/cpuidle/state*/time.
200mA on an idling, non-suspended system sounds about right.
I did the measures again tonight, more seriously.
Bench power supply + 34401A with a 2s integration time for intensity + voltage measure at the battery
2200uF at the battery connector level + 10k to fake the NTC in the battery
The screen backlight is not at the maximum (close to it, maybe 80% of the slider)
power(watts)
wwan
wifi
screen
sleep
2.15
-
-
on
-
0.76
-
-
-
-
2.36
-
on
on
-
0.95
-
on
-
-
2.54
on
on
on
-
1.15
on
on
-
-
0.62
on
on
-
suspended
2.63
on
-
on
-
1.42
on
-
-
-
0.64
on
-
-
suspended
device OFF : 24.6uA at 4.14v (~0.1mW)
Caution: As the modem and wifi card have their own firmware and that powersave also depends on rx level at this moment, measures cannot be really reproducible. Hence the weird 20mW difference between wifi on or off in suspended mode…
Today, I used the suspend for the first time (with modem on, last line in the table upper), forcing me to suspend instead of turning of the screen: I did not miss any call or sms, and I did not need to charge at midday. At the end of the day, a sms wake up the phone while it was away from me, so it spent 2 hours awake… Without this event, I am pretty sure the librem5 could last 7h45->22h with around 30min call. I am really waiting for an auto suspend mode ! Maybe someone already script it in a simple cron task.
Indeed… It could be wwan drawing more current for some reason. It is hard to make something reproducible with this kind of peripherals. I did this measures to have a starting point. I edit the previous post to add a warning.
I am a beginner on the forum… I can, what is the process ? Just create a new thread and copy paste ? And delete message from here ?
No. Too late. It’s for future reference. (I think a mod could move a bunch of replies to a new topic but if they did that for every topic that goes off piste then they would never get any work done.)