From 051b17f4fe3bf6cd87624433746d4d57b09b0613 Mon Sep 17 00:00:00 2001 From: Nicholas Chin Date: Fri, 5 Jan 2024 14:38:47 -0700 Subject: README.md: Add notes about iopl and AC adapter requirement In order for the EC to maintain the state of whether or not to set the flash descriptor override across a power cycle, the AC adapter must be connected, as the system leaves the voltage rail that the EC uses powered under this condition. Without this, the utility may fail, continually asking the user to power off and on. On Linux, CONFIG_X86_IOPL_IOPERM must be set for the kernel, or else the iopl call will error with "Function not implemented". Make a note of this in case a user runs into this issue. Signed-off-by: Nicholas Chin --- util/dell-flash-unlock/README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/dell-flash-unlock/README.md b/util/dell-flash-unlock/README.md index fee2f20b..f46394bf 100644 --- a/util/dell-flash-unlock/README.md +++ b/util/dell-flash-unlock/README.md @@ -8,10 +8,26 @@ E6400, which mainly seem to be the Latitude and Precision lines starting from around 2008 (E6400 era). ## TL;DR -On Linux, ensure you are booting with the `iomem=relaxed` kernel parameter. -On OpenBSD, ensure you are booting with securelevel set to -1. -Run `make` to compile the utility, and then run `sudo ./dell_flash_unlock` and -follow the directions it outputs. + +### Linux specific +- On Linux, ensure you are booting with the `iomem=relaxed` kernel parameter. +- If you get a "Function not implemented" error, ensure that your kernel has + "CONFIG_X86_IOPL_IOPERM" set to "y". Here are several common locations for + the config and how to check them: + - `zcat /proc/config.gz | grep IOPL` + - `grep IOPL /boot/config` + - `grep IOPL /boot/config-$(uname -r)` + If it says it is not set, then you will need to install or compile a kernel + with that option set. + +### OpenBSD +- On OpenBSD, ensure you are booting with securelevel set to -1. + +### General +Make sure an AC adapter is plugged into your system + +Run `make` to compile the utility, and then run `./dell_flash_unlock` with +root/superuser permissions and follow the directions it outputs. ## Confirmed supported devices - Latitude E6400, E6500 -- cgit v1.2.1