Updating Librem-EC on your Librem 14

With this (E)mbedded (C)ontroler update, your Librem 14 will have better temperature management; fans will gradually ramp up earlier. You’ll also get improved keyboard mapping and better switching between battery and external power supplies.


Thanks for this, I’ll have to try it when I get home today, and hope I don’t screw anything up :rofl:

works nice, but isntall different ec than oficially been released. https://source.puri.sm/firmware/releases/-/tree/master/librem_14
shows ec-2021-08-03_05d9990
while current livecd flashes 2021-09-02_56d1433 , that is not listed in official release repo.
i don’t see anything against it , but livecd have hardcoded version, mean every single time you have to flash new livecd, thre is no tracikng listing versions, so tracking issues will be difficult.
after analysis of script dlownload_latest_ec from repo i found that livecd always being build with latest build from master.
mean 2 users downloading can get different version just because between user a download, and user b download there were update.
the problem here is how purism maintain branches and tags.
i don’t see tag pointing to build that been deployed to my laptop. so i have to download whole git repo, then “rewind” it to particular commit manually in order to see what is in code.

1 Like

I’m very excited for this to have the battery woes improved, since I still get sudden shutoffs with battey reporting around 40% and weird fan issues. It has a nice write up as well with both terminal and GUI walkthrough.

Seconding @NineX concerns though, I was also looking to find how we verify where the ISO pulls from since the 2021-09-02 date seems more recent than the latest Master commits. I was probably looking at the wrong tree per above notes.

Low level security with Pureboot is the primary reason for a lot of us to have bought a Librem in the first place, so some more assurance with version tracking of the releases somewhere would be positive.

Thanks for the update, working fine here!

However, I also really want to say +1 to the comments by @NineX. I find it fishy to download a firmware from a blog post link without any version number.

At first I was even doubting whether this is different/newer update than the one I already flashed some weeks ago . Only reading the comment from @NineX cleared this up.

Finally, who is the intended audience for this blog post? I think it is good that you suggest a GUI, but then you should maybe also mention that the ZIP download needs to be extracted first to get an ISO file that gnome-multi-writer can flash.

it’s the current HEAD of master branch in the Librem-EC repo:

There were a few commits added to auto-build the EC firmware/update ISO via CI, so the EC firmware is functionally identical to the 2021-08-03_05d9990 release in the ‘releases’ repo. I agree we can/need to do a better job on release naming/tagging


Oh man. This is my fault. Your feedback is really helpful and I’ll try to correct the error.

So should L14 owners do this and follow these instructions? @MrChromebox

1 Like

there’s no need to update if you are already running the 2021-08-03_05d9990 release, it’s identical to that on the live ISO other than the version string. We’ll be tagging future releases to avoid confusion going forward


sorry, how do I check this?

1 Like

as per the last bit of the instructions (either set) - by running sudo purism_ectool info

1 Like

That returns…

sudo: purism_ectool: command not found

1 Like

well of course, you have to follow the part of the directions to download/extract the tool, as it’s not part of PureOS. If you’re booting the update USB/ISO, the tool is already installed. And if you’re downloading/running it on a live system, you’d use ./purism_ectool since it’s not installed in a location in the system path

1 Like

Ah, sorry, forgive my newbieness :laughing:

1 Like

Thanks for the guide! I was just able to go through the process, and was happy with how easy and quick it went. :slight_smile:

I believe there is one more L in the word “controller” (I double checked this wasn’t a cool “referer” thing, but I’m not from the embedded hardware world, I don’t know how cool kids there spell. :sunglasses:)

Purism_Librem-EC v1.9 is out. Lot of fixes.


  • Reduce audible noise when charger is connected
  • Fix fans running at full speed when resuming from S3
  • Fix battery not charging due to improper 3-cell/4-cell configuration
  • Start fans at low speeds slightly earlier to maintain temperature
  • Reduce PL4 power limit when battery below 40%
  • Set default charger limit for 90W charger
  • Warn with orange LED instead of cutting power for battery charge alert
  • Improve robustness of charger parameters
  • Improve robustness of battery probe and status updates

When running sudo ./purism_ectool flash ec-1.9_2022-06-30.rom, I get an error and then my machine immediately reboots (probably to restore the backed up v1.7 ec firmware).

Am I doing something wrong with applying this update? I am very excited to see if this update solves the coil hum issue my Librem 14 has (and so is my partner, who has much more sensitive ears than I).

I not have my Librem 14 just now to tell exact syntaxis.
Just execute the option flash_backup instead flash so like:
./purism_ectool flash_backup ec-1.9_2022-06-30.rom # check that option to make sure.

It would be helpful if you posted what the error was.

The issue I was having was that running the above command gave me ~2 seconds post-failure before a hard reboot. If I recall correctly, it was an expect error (something like ‘5 is not 0’). However, running ./purism_ectool flash_backup ec-1.9_2022-06-30.rom instead of ./purism_ectool flash ec-1.9_2022-06-30.rom did in fact allow the update to succeed. I’m still unsure of the differences between these two subcommands (as they are not documented anyware, AFAICT), but at least I was able to apply the update. Thanks for You help, @carlosgonz and @Gavaudan!

1 Like