Please limit discussion in this thread to the topics covered in the news post itself.
Starting with the Librem 14 laptop we are including fully liberated Embedded Controller (EC) firmware with all the source code available. This is something we set as a goal a long time ago, and now we are finally here. Let’s first start by explaining what the EC is and does.
Thanks for the update. I’m glad to have access to the EC as I definitely like the ability to control the fans and charge capabilities. Definitely cool. Also glad to see a disclaimer at the bottom of the post too, as this is something that really should be done by somebody that knows exactly what they are doing to avoid bricking.
@Kyle_Rankin has there been any scoping done for the neutralization of the ME? I’m assuming that work could take a few months given complexities of the new proc and various Intel-isms?
This news is fantastic. I decided to not buy the L14 (due to the lack of replacement parts), but this tips me toward buying it.
I love the fact that Purism is planning to upstream its code changes to System76’s EC project for 8-bit 8051 embedded controllers: https://github.com/system76/ec
For more info about System 76’s efforts to liberate the embedded controller, see this article:
Given the fact that Purism and System76 are direct competitors, I really hope that that the two companies will work together on this. @MrChromebox deserves a big thanks for being willing to send his code changes to System76, and Jeremy Soller and Tim Crawford at System76 deserve an even bigger thanks for putting out their code under the GPL 3.0, so that their competitors can use it.
I would also love to know which 8051 chip Purism is using for its EC in the L14 and whether the C code is being compiled with standard gcc or something else.
I ask because I worked on a project back in the late 1990’s that used an 8051 chip and we had a heck of a time because those little buggers have so little storage. We were using a Keil C compiler whose license cost something like $30k at the time, and it kept failing once our code got above a certain size. Keil refused to fix its crappy compiler. It was that horrible experience that convinced me that I never wanted to be dependent on proprietary tools ever again.
I’m also curious whether there is any more documentation about how to use the Rust code in the tool directory to get info about the 8051’s firmware. The info at https://docs.rs/system76_ectool/0.3.0/ectool/ is pretty vague about how to use it. I’m also curious why Jeremy Soller decided to use an MIT license for that part.
special? it’s cheap and simple. We didn’t pick it, it just happens to be what the EC on the board uses. If we were designing from scratch, probably would have gone with an ARM chip supported by Chrome EC
For what it’s worth, we don’t see it that way internally (and encourage our employees not to see it that way). If it ever comes up in an internal discussion, inevitably our response ends up becoming something like the following:
While we have FOSS roots and that’s obviously our core audience, we are trying to build an ethical computer ecosystem for everyone (everyone, not just FOSS geeks like ourselves, deserve freedom, privacy, and security). So we view our competitors as those Big Tech household names and that’s where we need to continue to aim our sights.
I have installed Arch Linux on my Librem 14 but I have an issue with keyboard backlight. By default, Arch installed the system76_acpi kernek module. I noticed that for the keyboard backlight, it had a max_brightness set to 5 instead of 255 (that is the observed max value when you hit the key). This ends up making gnome confused and very weird backlighting behavior.
So Instead I installed librem-ec-acpi-dkms from source.purism.com. It loads correctly and I see no error in dmesg. However, there is nothing in /sys/class/leds/.
Turns out Purism shipped the laptop with an incorrect version of pureboot still using system76 acpi IDs, and the librem-ec-acpi-dkms repo had a bug. @nicole.faerber helped me on matrix, I got a new pureboot build and patched the dkms. Everything is now nice and dandy.