diff --git a/README.md b/README.md index 18b71d1..e9ce0ad 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ The git repos listed above are listed as git submodules, once you cloned this re ## BIOS images ### All the BIOS binaries contains the updated EC +* `*_17012022_*.bin` + * Update over the 15 December binaries are the changed Intel HDA GPIO voltage from 1.8v to 3.3v which should prevent new boards from bricked ME. + * For detailed information, refer to the notes below. + * `bios_15122021.bin` * BIOS is properly configured with sensible power levels (15W fallback). * CPU C states are enabled with options of promotion and demotion. Enables better power savings. @@ -35,7 +39,7 @@ The git repos listed above are listed as git submodules, once you cloned this re * `bios_15122021_me_disable.bin` (may not work from some preliminary testings) * Exactly the same image as `bios_15122021.bin` except the following: ME disabled, useful for those with the [ME issue](https://www.xyte.ch/2021/12/14/x2100-me-bios-ec-and-coreboot/). This disables the ME in the menu section in BIOS and does not set HAP bit = 1. -* `dual_pcie_15122021_me_disable.bin` (may not work from some preliminary testings)and `dual_pcie_15122021.bin` +* `dual_pcie_15122021_me_disable.bin` (may not work from some preliminary testings) and `dual_pcie_15122021.bin` * Exactly the same image as `bios_15122021.bin` except the following: The stock mSATA/4G module (top slot) has been changed to PCIe. Unfortunately it does not work with Intel WiFi cards, but NVMe drives and other WiFi drives do work. This would unlock faster NVMe SSDs by using an NVMe 2242 female to mPCIe male adapter. This also enables dual WiFi cards, allowing those who wants dual WiFi cards for development and testing. * `v25_original.bin` @@ -99,22 +103,22 @@ For Linux users, flashrom has to be compiled from source in order to flash the f 1. Download the BIOS and EC you want to use. There are 4 options for BIOS (HAP bit 0 vs. 1, top slot mSATA vs. mPCIe) and 4 options for EC (with or without Fn/Ctrl swap and fast charge) so you have a total of 16 options: | ME disabled in menu | Top slot | Fn/Ctrl swap | Fast charge | BIOS file | EC file | |-----------------------------|----------|--------------|-------------|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------| - | No | mSATA | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_15122021.bin) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin) | - | No | mSATA | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_15122021.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin) | - | No | mSATA | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_15122021.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin) | - | No | mSATA | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_15122021.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin) | - | No | mPCIe | No | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_15122021.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | - | No | mPCIe | No | Yes | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_15122021.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | - | No | mPCIe | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_15122021.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | - | No | mPCIe | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_15122021.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | - | Yes | mSATA | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_15122021_me_disable.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | - | Yes | mSATA | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | - | Yes | mSATA | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | - | Yes | mSATA | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | - | Yes | mPCIe | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | - | Yes | mPCIe | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | - | Yes | mPCIe | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | - | Yes | mPCIe | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | + | No | mSATA | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_17012022.bin) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin) | + | No | mSATA | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_17012022.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin) | + | No | mSATA | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_17012022.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin) | + | No | mSATA | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/bios_17012022.bin ) | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin) | + | No | mPCIe | No | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_17012022.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | + | No | mPCIe | No | Yes | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_17012022.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | + | No | mPCIe | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_17012022.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | + | No | mPCIe | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/normal/dual_pcie_17012022.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | + | Yes | mSATA | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_17012022_me_disable.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | + | Yes | mSATA | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | + | Yes | mSATA | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | + | Yes | mSATA | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/bios_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | + | Yes | mPCIe | No | No | [Download](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_17012022_me_disable.bin) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_slow_charge.bin ) | + | Yes | mPCIe | No | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/normal/ec_15122021_fast_charge.bin ) | + | Yes | mPCIe | Yes | No | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_slow_charge_fn_ctrl_swap.bin ) | + | Yes | mPCIe | Yes | Yes | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/bios/me_disable/dual_pcie_17012022_me_disable.bin ) | [Download]( https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/ec/fn_ctrl_swap/ec_15122021_fast_charge_fn_ctrl_swap.bin ) | 1. Rename the BIOS as `bios.bin` and EC as `ec.bin` 1. Download [flashrom](https://github.com/xy-tech/X2100-BIOS-EC/raw/main/x2100/flashrom) and the [helper script](https://raw.githubusercontent.com/xy-tech/X2100-BIOS-EC/main/x2100/x2100_helper.sh) (both are also available in the [releases](https://github.com/xy-tech/X2100-BIOS-EC/releases)). Alternatively, you can [compile flashrom yourself](#obtaining-flashrom). 1. Place `bios.bin`, `ec.bin`, flashrom binary and `x2100_helper.sh` in the same folder. @@ -166,6 +170,11 @@ For Linux users, flashrom has to be compiled from source in order to flash the f # ME diable via HAP = 1 * From my limited testings, HAP = 1 does not work as intended after running the me_cleaner script. The behaviour of the laptop is the same as HAP = 0 and intelmetool reports everything to be working even though the dumped ME image after running the script reports HAP bit to be set. The only way to set HAP = 1 seems to be via hardware [as detailed on my blogpost](https://www.xyte.ch/2021/12/14/x2100-me-bios-ec-and-coreboot/). +# External flashing +* Grab a CH341a to save yourself from the pain of figuring out how to use the RPI in flashing. The CH341a is natively supported by flashrom and probably works for 99% of flash chips out there. +* Part number of the X2100 flash chip is MX25L12835F. +* EEPROM chip is underneath the keyboard, next to the IO daughterboard. + # BONUS 0: Coreboot * mjg59 has kindly ported coreboot to the X2100. Feel free to compile from his repo. It is included as a submodule for in this repo as well. diff --git a/x2100/.DS_Store b/x2100/.DS_Store new file mode 100644 index 0000000..1e5401f Binary files /dev/null and b/x2100/.DS_Store differ diff --git a/x2100/bios/.DS_Store b/x2100/bios/.DS_Store new file mode 100644 index 0000000..b99b206 Binary files /dev/null and b/x2100/bios/.DS_Store differ diff --git a/x2100/bios/me_disable/bios_17012022_me_disable.bin b/x2100/bios/me_disable/bios_17012022_me_disable.bin new file mode 100644 index 0000000..839618a Binary files /dev/null and b/x2100/bios/me_disable/bios_17012022_me_disable.bin differ diff --git a/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin b/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin index ab4de76..3606b9e 100644 Binary files a/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin and b/x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin differ diff --git a/x2100/bios/me_disable/bios_15122021_me_disable.bin b/x2100/bios/me_disable/old/bios_15122021_me_disable.bin similarity index 100% rename from x2100/bios/me_disable/bios_15122021_me_disable.bin rename to x2100/bios/me_disable/old/bios_15122021_me_disable.bin diff --git a/x2100/bios/me_disable/old/dual_pcie_15122021_me_disable.bin b/x2100/bios/me_disable/old/dual_pcie_15122021_me_disable.bin new file mode 100644 index 0000000..ab4de76 Binary files /dev/null and b/x2100/bios/me_disable/old/dual_pcie_15122021_me_disable.bin differ diff --git a/x2100/bios/normal/bios_17012022.bin b/x2100/bios/normal/bios_17012022.bin new file mode 100644 index 0000000..772eb26 Binary files /dev/null and b/x2100/bios/normal/bios_17012022.bin differ diff --git a/x2100/bios/normal/dual_pcie_17012022.bin b/x2100/bios/normal/dual_pcie_17012022.bin new file mode 100644 index 0000000..6e950bb Binary files /dev/null and b/x2100/bios/normal/dual_pcie_17012022.bin differ diff --git a/x2100/bios/normal/bios_15122021.bin b/x2100/bios/normal/old/bios_15122021.bin similarity index 100% rename from x2100/bios/normal/bios_15122021.bin rename to x2100/bios/normal/old/bios_15122021.bin diff --git a/x2100/bios/normal/dual_pcie_15122021.bin b/x2100/bios/normal/old/dual_pcie_15122021.bin similarity index 100% rename from x2100/bios/normal/dual_pcie_15122021.bin rename to x2100/bios/normal/old/dual_pcie_15122021.bin