summaryrefslogtreecommitdiff
path: root/util/dell-flash-unlock
diff options
context:
space:
mode:
authorNicholas Chin <nic.c3.14@gmail.com>2024-01-05 14:38:47 -0700
committerNicholas Chin <nic.c3.14@gmail.com>2024-01-05 14:48:38 -0700
commit051b17f4fe3bf6cd87624433746d4d57b09b0613 (patch)
tree56ca2c267316219d599610abe48f0dc96a8e2206 /util/dell-flash-unlock
parentd2de03cefa67e69fc3cc4eb75ebdbf34e1da71d5 (diff)
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 <nic.c3.14@gmail.com>
Diffstat (limited to 'util/dell-flash-unlock')
-rw-r--r--util/dell-flash-unlock/README.md24
1 files changed, 20 insertions, 4 deletions
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