Attention is currently required from: Felix Singer, Nico Huber, Paul Menzel, Angel Pons, Michael Niewöhner. Michał Żygowski has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/55715 )
Change subject: tuxedo_ec: Implement support for flashing ECs on TUXEDO laptops ......................................................................
Patch Set 4:
(2 comments)
Patchset:
PS4:
Also, does Tuxedo have a custom (EC) firmware or do they use the ODM (Clevo) one? If it’s the ODM, t […]
It's hard to say for sure. Since these laptops are simply customized Clevo laptops (chassis signatures), they could use the same firmware. I have only seen the change in SMBIOS entries in the BIOS image, EC firmware is flashed as is.
PS4:
Another idea to avoid DMI would be checking the SVID/SDID (subsystem id)
The SVID/SDID is: 00:00.0 Host bridge [0600]: Intel Corporation Device [8086:9a14] (rev 01) Subsystem: CLEVO/KAPOK Computer Device [1558:14a1]
But I am not sure how does it help in probing and ensuring the matching EC is present?
Knowing the mainboard avoids running the code on the wrong board where it's more likely to do harm. It's not about the flashing process, flash contents or the contents to be flashed. The code starts with `ec_write_reg(0xf9, 0x20, EC_MAX_STATUS_CHECKS)`. There may be EC firmware that reacts badly to such a write (or chips that completely misunderstand what is written to their registers). Knowing the board it runs on, makes it much less likely to hit such a case.
That's the exact reason why I have put DMI checks. I don't want people complaining on flashrom bricking/damaging someone's device and losing trust in this project. If we still want some possibility to probe the EC, aware of the risks, we could use the `force` flag from the CLI to forcefully send those commands under a warning that it may brick their device.
I am in favor of not breaking things wherever possible. Flashrom is not only an utility to change flash contents for hackers and developers right now (it probably was earlier). It is also used as a plugin in fwupd for example, where reliability and safety of the update is in the first place.