Skip to content

Commit

Permalink
updated binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
Xue Yao authored and Xue Yao committed Jan 29, 2022
1 parent bdd5708 commit 177c0d1
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 17 deletions.
43 changes: 26 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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`
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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.

Expand Down
Binary file added x2100/.DS_Store
Binary file not shown.
Binary file added x2100/bios/.DS_Store
Binary file not shown.
Binary file not shown.
Binary file modified x2100/bios/me_disable/dual_pcie_15122021_me_disable.bin
Binary file not shown.
Binary file not shown.
Binary file added x2100/bios/normal/bios_17012022.bin
Binary file not shown.
Binary file added x2100/bios/normal/dual_pcie_17012022.bin
Binary file not shown.
File renamed without changes.
File renamed without changes.

0 comments on commit 177c0d1

Please sign in to comment.