Alright! I’ve pushed an update to fw-ectool
that fixes reading mapped memory; now commands like battery
and temps
work properly.
$ ectool temps all
--sensor name -------- temperature -------- fan speed --
F75303_Local 303 K (= 30 C) 0%
F75303_CPU 303 K (= 30 C) 0%
F75303_DDR 301 K (= 28 C) 0%
Battery 296 K (= 23 C) 0%
PECI 306 K (= 33 C) 0%
$ ectool battery
EC returned error result code 3
Battery info:
OEM name: NVT
Model number: Framewo
Chemistry : LION
Serial number: 00CD
Design capacity: 3572 mAh
Last full charge: 3560 mAh
Design output voltage 15400 mV
Cycle count 37
Present voltage 16625 mV
Present current 0 mA
Remaining capacity 2896 mAh
Flags 0x0b AC_PRESENT BATT_PRESENT CHARGING
In addition, I’ve documented a few more host commands:
3E09 - Chassis Intrusion Data (more info)
This host command reports whether the chassis has ever been opened and if so, how many times.
3E0F - Chassis Status
Reports whether the chassis is open right now. Does not include historical data.
3E04 - Get Fan 0 RPM
Returns the RPM of the system fan as a 32-bit integer:
3e04(...0 bytes...)
Read 4 bytes
ff 06 00 00 |....| #<< 1791 RPM
Operates very similarly to pwmgetfanrpm 0
, which returns Fan 0 RPM: 1789
Undocumented Interactions
You can reboot the EC by holding power for 20 seconds. The charge LEDs will flash to indicate that you’ve done so.
Since I’m no longer on holiday from real life, updates are going to slow down… but I still hope to write a Windows driver/userland application pair that will let you control the charge limit (among other things) without getting your hands too dirty. We’ll see!