From 2d9ed4e4e8f5fe042e63c6cd70f99c2355dffb6f Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 01:28:29 +0530 Subject: [PATCH 01/17] Add docker --- .github/workflows/deploy.yml | 9 +++------ Dockerfile | 17 +++++++++++++++++ docker-compose.yml | 6 ++++++ requirements.txt | 3 +++ 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 requirements.txt diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a493b24..4caa0d5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,10 +21,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Restart Web Service + - name: Deploy via Docker Compose run: | - echo "Deploying the latest main branch..." - # Insert command to restart the application, e.g., - # sudo systemctl restart gunicorn - # Or if running via a local script: - # ./restart_server.sh + echo "Building and restarting the Docker container..." + docker-compose up -d --build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bcc1337 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM python:3.9-slim + +WORKDIR /app + +# Install gettext for envsubst +RUN apt-get update && apt-get install -y gettext-base && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +# Expose port +EXPOSE 80 + +# Run gunicorn +CMD ["gunicorn", "--bind", "0.0.0.0:80", "app:app"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b03f5dc --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,6 @@ +services: + web: + build: . + ports: + - "80:80" + restart: always diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..fda96b2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +Flask==2.0.1 +Werkzeug==2.0.1 +gunicorn==20.1.0 From 700e1a44e5f2d0632c0f47f80e398e25b9631b07 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 01:44:58 +0530 Subject: [PATCH 02/17] Need SSL --- Caddyfile | 11 +++++++++++ app.py | 2 +- docker-compose.yml | 17 ++++++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 Caddyfile diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..ebedb23 --- /dev/null +++ b/Caddyfile @@ -0,0 +1,11 @@ +{ + email tt@turingtested.xyz +} + +turingtested.xyz { + reverse_proxy web:80 +} + +www.turingtested.xyz { + redir https://turingtested.xyz{uri} +} diff --git a/app.py b/app.py index b53f577..2f9e070 100644 --- a/app.py +++ b/app.py @@ -27,4 +27,4 @@ def blog_omen(): return render_template("blog_omen.html") if __name__ == "__main__": - app.run(debug=True) + app.run(debug=False, host='0.0.0.0') diff --git a/docker-compose.yml b/docker-compose.yml index b03f5dc..7f6500e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,21 @@ services: web: build: . + restart: always + + caddy: + image: caddy:2-alpine + restart: always ports: - "80:80" - restart: always + - "443:443" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + depends_on: + - web + +volumes: + caddy_data: + caddy_config: From 74c8c762bbd145fe279a60211fc41463f4fc0895 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 01:48:43 +0530 Subject: [PATCH 03/17] use compose v2 --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4caa0d5..83486a8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,4 +24,4 @@ jobs: - name: Deploy via Docker Compose run: | echo "Building and restarting the Docker container..." - docker-compose up -d --build + docker compose up -d --build From 35e20a80bead29c9834f1719ed6ee073a9163f2b Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 01:58:01 +0530 Subject: [PATCH 04/17] add cv --- .github/workflows/deploy.yml | 2 ++ .gitignore | 6 ++++++ README.md | 6 ++++++ app.py | 14 +++++++++++++- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 83486a8..8796847 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -20,6 +20,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + clean: false - name: Deploy via Docker Compose run: | diff --git a/.gitignore b/.gitignore index b7faf40..15ae123 100644 --- a/.gitignore +++ b/.gitignore @@ -201,7 +201,13 @@ cython_debug/ .cursorignore .cursorindexingignore +# Private assets (e.g., CV) kept out of git +private_assets/ + # Marimo marimo/_static/ marimo/_lsp/ __marimo__/ + +# Custom User Uploads +static/cv.pdf diff --git a/README.md b/README.md index 7790107..8802305 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # home This is the code for my website + +## CV setup + +1. Save your CV PDF to `private_assets/cv.pdf` (the folder is git-ignored). +2. For deployments, place the file there before building the image, or set `CV_FILE_PATH=/path/to/cv.pdf` in the environment. +3. Visit `/cv` to access it; the route returns 404 if the file is missing. diff --git a/app.py b/app.py index 2f9e070..29950b6 100644 --- a/app.py +++ b/app.py @@ -1,7 +1,12 @@ -from flask import Flask, render_template, send_from_directory +import os + +from flask import Flask, abort, render_template, send_file, send_from_directory app = Flask(__name__) +# Default CV location can be overridden with CV_FILE_PATH env var. +CV_FILE_PATH = os.environ.get("CV_FILE_PATH", os.path.join(app.root_path, "private_assets", "cv.pdf")) + @app.route("/") def home(): return render_template("index.html") @@ -26,5 +31,12 @@ def robots(): def blog_omen(): return render_template("blog_omen.html") + +@app.route("/cv") +def cv(): + if not os.path.exists(CV_FILE_PATH): + abort(404) + return send_file(CV_FILE_PATH, mimetype="application/pdf", download_name="cv.pdf") + if __name__ == "__main__": app.run(debug=False, host='0.0.0.0') From a5281ec471bba48661d309671dafc22a49d9c242 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 02:06:35 +0530 Subject: [PATCH 05/17] add cv try 2 --- README.md | 8 +----- app.py | 11 +++++--- templates/cv_embed.html | 57 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 templates/cv_embed.html diff --git a/README.md b/README.md index 8802305..fba608b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,2 @@ # home -This is the code for my website - -## CV setup - -1. Save your CV PDF to `private_assets/cv.pdf` (the folder is git-ignored). -2. For deployments, place the file there before building the image, or set `CV_FILE_PATH=/path/to/cv.pdf` in the environment. -3. Visit `/cv` to access it; the route returns 404 if the file is missing. +This is the code for my website \ No newline at end of file diff --git a/app.py b/app.py index 29950b6..edcb86a 100644 --- a/app.py +++ b/app.py @@ -4,8 +4,9 @@ app = Flask(__name__) -# Default CV location can be overridden with CV_FILE_PATH env var. +# CV file can be provided locally or via a hosted URL. CV_FILE_PATH = os.environ.get("CV_FILE_PATH", os.path.join(app.root_path, "private_assets", "cv.pdf")) +CV_URL = os.environ.get("CV_URL") @app.route("/") def home(): @@ -34,9 +35,11 @@ def blog_omen(): @app.route("/cv") def cv(): - if not os.path.exists(CV_FILE_PATH): - abort(404) - return send_file(CV_FILE_PATH, mimetype="application/pdf", download_name="cv.pdf") + if os.path.exists(CV_FILE_PATH): + return send_file(CV_FILE_PATH, mimetype="application/pdf", download_name="cv.pdf") + if CV_URL: + return render_template("cv_embed.html", cv_url=CV_URL) + abort(404) if __name__ == "__main__": app.run(debug=False, host='0.0.0.0') diff --git a/templates/cv_embed.html b/templates/cv_embed.html new file mode 100644 index 0000000..1e527f9 --- /dev/null +++ b/templates/cv_embed.html @@ -0,0 +1,57 @@ + + + + + + CV + + + +
Curriculum Vitae
+ +
+
Unable to display the PDF inline. Some browsers block embeds from certain hosts.
+ +
+ + + From 5a703542e9f1f63652f32fddacdbcd97af781d40 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 02:09:46 +0530 Subject: [PATCH 06/17] redirect to mega if cv failure --- app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index edcb86a..7ff472d 100644 --- a/app.py +++ b/app.py @@ -1,6 +1,6 @@ import os -from flask import Flask, abort, render_template, send_file, send_from_directory +from flask import Flask, abort, redirect, render_template, send_file, send_from_directory app = Flask(__name__) @@ -38,7 +38,7 @@ def cv(): if os.path.exists(CV_FILE_PATH): return send_file(CV_FILE_PATH, mimetype="application/pdf", download_name="cv.pdf") if CV_URL: - return render_template("cv_embed.html", cv_url=CV_URL) + return redirect(CV_URL, code=302) abort(404) if __name__ == "__main__": From 82908566dc79123a50a87a2e4d44dca93439ccd8 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 02:22:10 +0530 Subject: [PATCH 07/17] redirect to mega for cv --- README.md | 20 +++++++++++++++++++- app.py | 13 ++++--------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index fba608b..8c8bee5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ # home -This is the code for my website \ No newline at end of file +This is the code for my website. I'll mostly be publishing blogs and documenting my kernel dev/system administration journey here. + +``` +_________________________________________ +/ Base 8 is just like base 10, if you are \ +| missing two fingers. | +| | +\ -- Tom Lehrer / + ----------------------------------------- + \ ^__^ + \ (oo)\_______ + (__)\ )\/\ + ||----w | + || || +``` + +## Deployment Status + +[![Deploy](https://github.com/TuringVerified/home/actions/workflows/deploy.yml/badge.svg?branch=main)](https://github.com/TuringVerified/home/actions/workflows/deploy.yml) \ No newline at end of file diff --git a/app.py b/app.py index 7ff472d..f2e49bb 100644 --- a/app.py +++ b/app.py @@ -1,12 +1,11 @@ import os -from flask import Flask, abort, redirect, render_template, send_file, send_from_directory +from flask import Flask, redirect, render_template, send_from_directory app = Flask(__name__) -# CV file can be provided locally or via a hosted URL. -CV_FILE_PATH = os.environ.get("CV_FILE_PATH", os.path.join(app.root_path, "private_assets", "cv.pdf")) -CV_URL = os.environ.get("CV_URL") +# Redirect target for CV +CV_URL = "https://mega.nz/file/gBI2GTIb#JVTkAmdVdJemgEvu0RA4yfXOWCo24dnw2m6Ra1kvRFU" @app.route("/") def home(): @@ -35,11 +34,7 @@ def blog_omen(): @app.route("/cv") def cv(): - if os.path.exists(CV_FILE_PATH): - return send_file(CV_FILE_PATH, mimetype="application/pdf", download_name="cv.pdf") - if CV_URL: - return redirect(CV_URL, code=302) - abort(404) + return redirect(CV_URL, code=302) if __name__ == "__main__": app.run(debug=False, host='0.0.0.0') From c0e7a47c39a9b00f4ce5852156e42c1eb09d2c8f Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 12:57:53 +0530 Subject: [PATCH 08/17] Add CV as a file and add reverse engineering blog 1 --- .gitignore | 3 - app.py | 2 +- static/cv.pdf | Bin 0 -> 51590 bytes templates/about.html | 2 +- templates/blog_omen.html | 572 ++++++++++++++++++++++++++++++++++++++- templates/blogs.html | 6 +- templates/cv_embed.html | 39 ++- templates/index.html | 4 +- 8 files changed, 614 insertions(+), 14 deletions(-) create mode 100644 static/cv.pdf diff --git a/.gitignore b/.gitignore index 15ae123..890b221 100644 --- a/.gitignore +++ b/.gitignore @@ -208,6 +208,3 @@ private_assets/ marimo/_static/ marimo/_lsp/ __marimo__/ - -# Custom User Uploads -static/cv.pdf diff --git a/app.py b/app.py index f2e49bb..2ad95f6 100644 --- a/app.py +++ b/app.py @@ -34,7 +34,7 @@ def blog_omen(): @app.route("/cv") def cv(): - return redirect(CV_URL, code=302) + return render_template("cv_embed.html") if __name__ == "__main__": app.run(debug=False, host='0.0.0.0') diff --git a/static/cv.pdf b/static/cv.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6648ecaa0a514ef871306555a5e9c45e574f606f GIT binary patch literal 51590 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 Me
-

I'm Turing Tested. Here's my home on the internet. I mainly plan on posting my findings .

+

I'm Turing Tested. Here's my home on the internet. I mainly plan on posting my kernel dev journey and homelabbing pursuits.

Socials

    diff --git a/templates/blog_omen.html b/templates/blog_omen.html index 25db5fe..91814ae 100644 --- a/templates/blog_omen.html +++ b/templates/blog_omen.html @@ -5,6 +5,41 @@ Omen Drivers - Turing Tested + @@ -21,13 +56,546 @@

    Creating drivers for Omen Gaming Hub exclusive features on Linux.

    [pgp]
-
-

Content goes here...

+
+ +

HP's Omen series comes with a great suite of features via the Omen Gaming Hub. These include a full-fledged lighting studio for the keyboard backlights (it even ships with a built-in audio visualiser and a bunch of themes), GPU performance modes, fan speed support and statistics. Unfortunately, this technology is only available on Windows through their proprietary app, with no plans from HP's end to expand support for Linux users as well.

+ +

This makes our lives harder, as none of these features are available for Linux out-of-the-box. While there has been significant effort from the community to reverse-engineer parts of the stack and develop support for Linux, most features still remain unsupported. The Linux ecosystem still remains incomplete and undocumented. Through this blog series, I will be attempting to implement some of these features myself, something like asusctl, but for Omen laptops. My target is to create at least a complete utility and drivers to interface with software like OpenRGB.

+ +

Fortunately much of the groundwork has already been laid down by community members. Most significantly, pelrun has done a significant amount of reverse-engineering of the interfaces exposed by HP's firmware. Their work documents parts of the WMI/ACPI interface used by the Omen Gaming Hub on Windows and shows how they can be triggered outside of Windows as well. Their fork of the hp-wmi driver provided great insight into the command structure used by the firmware. However, the current solution is not a fully-integrated Linux solution yet. My goal with this project is to build on that and move towards something more cohesive.

+ +

The Omen series exposes device controls through ACPI methods that are accessible through WMI. Unfortunately, HP does not make any documentation for these public, forcing us to poke around quite a bit in order to find relevant values. Like for example, the GUID for the WMI interface on my system was:

+ +
5FB7F034-2C63-45E9-BE91-3D44E2C707E4
+ +

This will enable us to access the firmware like so:

+ +
+

How Omen Features Work

+
+
+

Windows

+
Omen Gaming Hub
+
+
Windows WMI API
+
+
ACPI / WMI Firmware
+
+
Laptop Hardware
(RGB • Fans • GPU modes)
+
+
+

Linux (Goal)

+
OpenRGB / omenctl
+
+
Custom Kernel Driver
+
+
Linux WMI Subsystem
+
+
ACPI / WMI Firmware
+
+
Laptop Hardware
(RGB • Fans • GPU modes)
+
+
+
+ + + +

To test this out, I wrote a minimal external kernel module, that registered itself with the WMI subsystem and attached itself to the firmware interface exposed by the system:

+ +
#include <linux/module.h>
+#include <linux/wmi.h>
+
+#define HPWMI_BIOS_GUID "5FB7F034-2C63-45E9-BE91-3D44E2C70733"
+
+static int omen_wmi_probe(struct wmi_device *wdev, const void *context)
+{
+    pr_info("omen_wmi: device detected\n");
+    return 0;
+}
+
+static void omen_wmi_remove(struct wmi_device *wdev)
+{
+    pr_info("omen_wmi: device removed\n");
+}
+
+static const struct wmi_device_id omen_wmi_id_table[] = {
+    { HPWMI_BIOS_GUID, NULL },
+    { }
+};
+
+static struct wmi_driver omen_wmi_driver = {
+    .driver = {
+        .name = "omen_wmi",
+    },
+    .id_table = omen_wmi_id_table,
+    .probe = omen_wmi_probe,
+    .remove = omen_wmi_remove,
+};
+
+module_wmi_driver(omen_wmi_driver);
+
+MODULE_LICENSE("GPL");
+ +

The Makefile is a separate file in the same directory (save it as Makefile with no extension):

+ +
obj-m += omen_wmi_bridge.o
+
+all:
+	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
+
+clean:
+	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
+ +

In order to run this module:

+ +
make
+sudo rmmod omen_wmi_bridge   # No need to run this the first time
+sudo insmod omen_wmi_bridge.ko
+sudo dmesg -w
+ +

Et voilà, you should see the driver when you run lsmod | grep omen. However, this was a very minimal example to show the structure of the driver. However, we aren't exposing anything to the userspace yet. In order to control the backlight, we need to create interfaces that userspace programs will be able to interact with.

+

The ACPI interface used by Omen's firmware expects a 128-byte buffer as input. A significant chunk has already been reverse-engineered by pelrun and reveals some important details about the internals of the firmware and the structure of this buffer. The keyboard is divided into 4 different zones (Zone0 - Right, Zone1- Middle, Zone2 - Left, Zone3 - WASD) and the buffer looks like this:

+ +
+ +

Firmware Command Buffer (128 bytes)

+ +
+ +
0-3
PASS status
+
4-24
Unknown fields
+ +
25
Z1 R
+
26
Z1 G
+
27
Z1 B
+ +
28
Z2 R
+
29
Z2 G
+
30
Z2 B
+ +
31
Z3 R
+
32
Z3 G
+
33
Z3 B
+ +
34
Z4 R
+
35
Z4 G
+
36
Z4 B
+ +
37-127
Unknown / unused
+ +
+ + +
+

If you want to play around with this yourself, here is the full kernel module:

+ +
+ omen_wmi_bridge.c — full source +
#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/acpi.h>
+#include <linux/wmi.h>
+#include <linux/kobject.h>
+#include <linux/sysfs.h>
+
+#define HPWMI_BIOS_GUID "5FB7F034-2C63-45E9-BE91-3D44E2C707E4"
+
+#define HPWMI_FOURZONE 0x20009
+
+#define HPWMI_FOURZONE_COLOR_GET 2
+#define HPWMI_FOURZONE_COLOR_SET 3
+#define HPWMI_FOURZONE_BRIGHT_GET 4
+#define HPWMI_FOURZONE_BRIGHT_SET 5
+#define HPWMI_FOURZONE_ANIM_GET  6
+#define HPWMI_FOURZONE_ANIM_SET  7
+
+#define ZONE_BASE  25
+#define ZONE_COUNT 4
+
+struct bios_args {
+    u32 signature;
+    u32 command;
+    u32 commandtype;
+    u32 datasize;
+    u8  data[128];
+};
+
+static struct kobject *omen_kobj;
+
+/* ---------- WMI helper ---------- */
+
+static int omen_wmi_query(int cmdtype, u8 *buffer)
+{
+    struct bios_args args = {0};
+    struct acpi_buffer input;
+    struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL };
+    union acpi_object *obj;
+    int ret = -EINVAL;
+
+    args.signature   = 0x55434553;
+    args.command     = HPWMI_FOURZONE;
+    args.commandtype = cmdtype;
+    args.datasize    = 128;
+
+    if (buffer && cmdtype == HPWMI_FOURZONE_COLOR_SET)
+        memcpy(args.data, buffer, 128);
+
+    input.length  = sizeof(args);
+    input.pointer = &args;
+
+    wmi_evaluate_method(HPWMI_BIOS_GUID, 0, 3, &input, &output);
+
+    obj = output.pointer;
+
+    if (!obj || obj->type != ACPI_TYPE_BUFFER)
+        goto out;
+
+    if (buffer && cmdtype == HPWMI_FOURZONE_COLOR_GET)
+        memcpy(buffer, obj->buffer.pointer + 8, 128);
+
+    ret = 0;
+
+out:
+    kfree(obj);
+    return ret;
+}
+
+/* ---------- zone interface ---------- */
+
+static ssize_t zone_show(struct kobject *kobj,
+                         struct kobj_attribute *attr,
+                         char *buf)
+{
+    u8 state[128];
+    int zone = attr->attr.name[4] - '0';
+    int off  = ZONE_BASE + zone * 3;
+
+    if (omen_wmi_query(HPWMI_FOURZONE_COLOR_GET, state))
+        return -EIO;
+
+    return sprintf(buf, "%02x%02x%02x\n",
+                   state[off], state[off+1], state[off+2]);
+}
+
+static ssize_t zone_store(struct kobject *kobj,
+                          struct kobj_attribute *attr,
+                          const char *buf,
+                          size_t count)
+{
+    u8 state[128];
+    unsigned int rgb;
+    int zone = attr->attr.name[4] - '0';
+    int off  = ZONE_BASE + zone * 3;
+
+    if (kstrtouint(buf, 16, &rgb))
+        return -EINVAL;
+
+    if (omen_wmi_query(HPWMI_FOURZONE_COLOR_GET, state))
+        return -EIO;
+
+    state[off]   = (rgb >> 16) & 0xff;
+    state[off+1] = (rgb >>  8) & 0xff;
+    state[off+2] =  rgb         & 0xff;
+
+    if (omen_wmi_query(HPWMI_FOURZONE_COLOR_SET, state))
+        return -EIO;
+
+    return count;
+}
+
+/* ---------- raw buffer ---------- */
+
+static ssize_t raw_show(struct kobject *kobj,
+                        struct kobj_attribute *attr,
+                        char *buf)
+{
+    u8 state[128];
+
+    if (omen_wmi_query(HPWMI_FOURZONE_COLOR_GET, state))
+        return -EIO;
+
+    memcpy(buf, state, 128);
+    return 128;
+}
+
+static ssize_t raw_store(struct kobject *kobj,
+                         struct kobj_attribute *attr,
+                         const char *buf,
+                         size_t count)
+{
+    u8 state[128];
+
+    if (count != 128)
+        return -EINVAL;
+
+    memcpy(state, buf, 128);
+
+    if (omen_wmi_query(HPWMI_FOURZONE_COLOR_SET, state))
+        return -EIO;
+
+    return count;
+}
+
+/* ---------- command interface ---------- */
+
+static ssize_t cmd_store(struct kobject *kobj,
+                         struct kobj_attribute *attr,
+                         const char *buf,
+                         size_t count)
+{
+    struct bios_args args = {0};
+    struct acpi_buffer input;
+    struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL };
+    union acpi_object *obj;
+    unsigned int cmdtype;
+    unsigned int value = 0;
+
+    sscanf(buf, "%u %x", &cmdtype, &value);
+
+    args.signature   = 0x55434553;
+    args.command     = HPWMI_FOURZONE;
+    args.commandtype = cmdtype;
+    args.datasize    = 128;
+
+    memset(args.data, 0, 128);
+    args.data[0] = value;
+
+    input.length  = sizeof(args);
+    input.pointer = &args;
+
+    wmi_evaluate_method(HPWMI_BIOS_GUID, 0, 3, &input, &output);
+
+    obj = output.pointer;
+
+    if (obj && obj->type == ACPI_TYPE_BUFFER)
+        print_hex_dump(KERN_INFO,
+                       "omen_cmd: ",
+                       DUMP_PREFIX_OFFSET,
+                       16, 1,
+                       obj->buffer.pointer,
+                       obj->buffer.length,
+                       false);
+
+    kfree(obj);
+    return count;
+}
+
+/* ---------- sysfs ---------- */
+
+#define ZONE_ATTR(n) \
+static struct kobj_attribute zone##n##_attr = \
+__ATTR(zone##n, 0664, zone_show, zone_store);
+
+ZONE_ATTR(0)
+ZONE_ATTR(1)
+ZONE_ATTR(2)
+ZONE_ATTR(3)
+
+static struct kobj_attribute raw_attr =
+    __ATTR(raw, 0664, raw_show, raw_store);
+
+static struct kobj_attribute cmd_attr =
+    __ATTR(cmd, 0220, NULL, cmd_store);
+
+static struct attribute *attrs[] = {
+    &zone0_attr.attr,
+    &zone1_attr.attr,
+    &zone2_attr.attr,
+    &zone3_attr.attr,
+    &raw_attr.attr,
+    &cmd_attr.attr,
+    NULL
+};
+
+static struct attribute_group attr_group = {
+    .attrs = attrs,
+};
+
+/* ---------- module ---------- */
+
+static int __init omen_init(void)
+{
+    int ret;
+
+    omen_kobj = kobject_create_and_add("omen_rgb", kernel_kobj);
+    if (!omen_kobj)
+        return -ENOMEM;
+
+    ret = sysfs_create_group(omen_kobj, &attr_group);
+
+    pr_info("omen rgb module loaded\n");
+    return ret;
+}
+
+static void __exit omen_exit(void)
+{
+    kobject_put(omen_kobj);
+    pr_info("omen rgb module unloaded\n");
+}
+
+module_init(omen_init);
+module_exit(omen_exit);
+
+MODULE_LICENSE("GPL");
+
+ + + +
+

Once the module is compiled and loaded, the driver will create a small set of interfaces under sysfs:

+ +

ls /sys/kernel/omen_rgb

+ +

You should see something like:

+ +

cmd raw zone0 zone1 zone2 zone3

+ +

Each of these files exposes a different way of interacting with the firmware.

+ +

The raw file simply dumps the entire buffer returned by the firmware. You can use cat to view the current state of the RGB lighting.

+ +

cat /sys/kernel/omen_rgb/raw

+ +

Similarly, cmd allows commands to be sent to this buffer, like echo "3 ff0000 ff0000 ff0000 ff0000" | sudo tee /sys/kernel/omen_rgb/cmd, this is an unsafe function and intended for easier exploration. Every now and then, you will hit a state where your keyboard light is unresponsive because you messed with the wrong input. Simply reboot your laptop and hold the power button for 30 seconds. This discharges all capacitors and restarts the embedded controller managing our lighting.

+

Just like cmd, you can also use something like echo ff0000 | sudo tee /sys/kernel/omen_rgb/zone0 to set the color of the zeroth zone and so on.

+ +

Now that we are done with setup, let's start hacking. When I was going through pelrun's code, I found a very interesting comment:

+

+ + if (read_or_write == HPWMI_WRITE) { + // Zones start at offset 25. Wonder what's in the rest of the buffer? + state[zone->offset + 0] = zone->colors.red; + state[zone->offset + 1] = zone->colors.green; + state[zone->offset + 2] = zone->colors.blue; + + ret = hp_wmi_perform_query(HPWMI_FOURZONE_COLOR_SET, HPWMI_FOURZONE, &state, + sizeof(state), sizeof(state)); +

+ + +

Zones start at offset 25. Which is correct. This is what started off the whole quest. So between the pass message and the zone, there are multiple empty bits that may/may not toggle more functionality that haven't been explored yet. Could be brightness. Could be animations. Could be anything? I decided to test this out by creating a separate Python file, and looping through the most plausible iterations, like so:

+ +


+        import os
+        import time
+
+        CMD = "/sys/kernel/omen_rgb/cmd"
+
+        BUFFER_SIZE = 128
+        VALUES = ["00", "01", "0f", "7f", "ff"]
+
+        for offset in range(4, 25):
+            for v in VALUES:
+
+                buf = ["00"] * BUFFER_SIZE
+                buf[offset] = v
+
+                payload = " ".join(buf)
+
+                os.system(f"echo '3 {payload}' | sudo tee {CMD} > /dev/null")
+
+                print(f"testing offset {offset} -> {v}")
+                time.sleep(1)
+

+

However, I did not recieve any output. My keyboard lighting remained as-is. Very disappointing :<. But, we have a good set up for experimentation now. We've exposed the raw firmware interface using sysfs, know parts of the buffer, and are on track to discovering more. In the next blog, I'll take a few more different approaches to uncover more of this structre, especially considering how so many more bytes are left. I'll dig through the ACPI tables and try experimenting with other methods. Hopefully this blog helps others as well, to set up a small little kernel module for experimentation. I plan on rewriting everything properly and merging it with the main hp-wmi.c file once this whole project is done. But for now, having a separate module gives a great amount of flexibility to mess around and find out more. Hopefully, this will translate into an omenctl some day!

+ +
+ // AI disclaimer
+ Parts of the code in this post were written with AI assistance. All code has been reviewed, tested, and understood before being published here. +
+ +
diff --git a/templates/blogs.html b/templates/blogs.html index 5005276..3fb7db7 100644 --- a/templates/blogs.html +++ b/templates/blogs.html @@ -26,7 +26,7 @@
-

Logs

+

Blogs

Documenting my findings
@@ -40,10 +40,10 @@

Logs

-
March 9, 2026
+
Creating drivers for Omen Gaming Hub exclusive features on Linux.

- Currently being written... + We're missing out on quite a lot.

[Read more]
diff --git a/templates/cv_embed.html b/templates/cv_embed.html index 1e527f9..34ba29c 100644 --- a/templates/cv_embed.html +++ b/templates/cv_embed.html @@ -1,4 +1,4 @@ - + + + + + + + My CV + + + +
+ +

+ Your browser does not support PDFs. Download the PDF. +

+
+
+ + \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 0b813d8..e58031d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -114,12 +114,12 @@

Turing Tested

buffer = ""; if (cmd === "help") { - term.write("\r\nTuring Tested OS - Help Menu"); + term.write("\r\nTuringOS - Help Menu"); term.write("\r\n=========================="); term.write("\r\n\x1b[32mhelp\x1b[0m : Show this help message"); term.write("\r\n\x1b[32mls\x1b[0m : List files in current directory"); term.write("\r\n\x1b[32mcat [file]\x1b[0m : Display contents of a file (try 'cat about' or 'cat pgp')"); - term.write("\r\n\x1b[32mopen [app]\x1b[0m : Open an application or page (try 'open blogs')"); + term.write("\r\n\x1b[32mopen [app]\x1b[0m : Open an application or page (try 'open about`)"); term.write("\r\n\x1b[32mclear\x1b[0m : Clear terminal screen"); term.write("\r\n\x1b[32mfortune\x1b[0m : The classic Linux command"); } From 72d999ac07e3b19987375da2d0624d037ccd2edb Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 9 Mar 2026 12:59:29 +0530 Subject: [PATCH 09/17] Update CV --- static/cv.pdf | Bin 51590 -> 51689 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/cv.pdf b/static/cv.pdf index 6648ecaa0a514ef871306555a5e9c45e574f606f..e5d90d12b536138a297e440ec5b0031c30734bf5 100644 GIT binary patch delta 23425 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 delta 23261 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 z Date: Fri, 13 Mar 2026 10:45:05 +0530 Subject: [PATCH 10/17] Update Caddyfile to include a subdomain --- Caddyfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Caddyfile b/Caddyfile index ebedb23..c8f6698 100644 --- a/Caddyfile +++ b/Caddyfile @@ -9,3 +9,7 @@ turingtested.xyz { www.turingtested.xyz { redir https://turingtested.xyz{uri} } + +notes.turingtested.xyz { + reverse_proxy localhost:3000 +} From eadec9c85b746dff0c3a6038fa37f10fb9b62d5b Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Fri, 13 Mar 2026 10:58:56 +0530 Subject: [PATCH 11/17] Update Caddyfile to correctly forward proxy headers --- Caddyfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Caddyfile b/Caddyfile index c8f6698..81fde02 100644 --- a/Caddyfile +++ b/Caddyfile @@ -11,5 +11,7 @@ www.turingtested.xyz { } notes.turingtested.xyz { - reverse_proxy localhost:3000 + reverse_proxy localhost:3000 { + header_up X-Forwarded-Proto https + } } From b16fcb71b29a89d1719c5910135d952c0bfb7389 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Fri, 13 Mar 2026 11:06:59 +0530 Subject: [PATCH 12/17] Getting rid of Caddy, I'll manage SSL on the server itself --- Caddyfile | 17 ----------------- docker-compose.yml | 21 --------------------- 2 files changed, 38 deletions(-) delete mode 100644 Caddyfile delete mode 100644 docker-compose.yml diff --git a/Caddyfile b/Caddyfile deleted file mode 100644 index 81fde02..0000000 --- a/Caddyfile +++ /dev/null @@ -1,17 +0,0 @@ -{ - email tt@turingtested.xyz -} - -turingtested.xyz { - reverse_proxy web:80 -} - -www.turingtested.xyz { - redir https://turingtested.xyz{uri} -} - -notes.turingtested.xyz { - reverse_proxy localhost:3000 { - header_up X-Forwarded-Proto https - } -} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 7f6500e..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,21 +0,0 @@ -services: - web: - build: . - restart: always - - caddy: - image: caddy:2-alpine - restart: always - ports: - - "80:80" - - "443:443" - volumes: - - ./Caddyfile:/etc/caddy/Caddyfile - - caddy_data:/data - - caddy_config:/config - depends_on: - - web - -volumes: - caddy_data: - caddy_config: From 5fce471ce40d10487e4693433f0829bf3da7af6a Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Mon, 16 Mar 2026 19:00:04 +0530 Subject: [PATCH 13/17] CV update --- static/cv.pdf | Bin 51689 -> 51575 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/cv.pdf b/static/cv.pdf index e5d90d12b536138a297e440ec5b0031c30734bf5..9cf225be298d7de43a61916b9b6566c8ea9850d9 100644 GIT binary patch delta 23097 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%0AY$r}bS7Gq@97|l4|8QoCs)Kheif#h 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 Date: Wed, 25 Mar 2026 13:14:06 +0530 Subject: [PATCH 14/17] Force add new CV From 9211f661930d9c9dd3677c83a9467631c48c92b1 Mon Sep 17 00:00:00 2001 From: Amay Agarwal Date: Fri, 26 Jun 2026 18:07:59 +0530 Subject: [PATCH 15/17] Remove cv --- static/cv.pdf | Bin 51575 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/cv.pdf diff --git a/static/cv.pdf b/static/cv.pdf deleted file mode 100644 index 9cf225be298d7de43a61916b9b6566c8ea9850d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51575 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 From bd2f1a0a7eafdebc7154b9c314418c4d7421dd3c Mon Sep 17 00:00:00 2001 From: TuringVerified <40866259+TuringVerified@users.noreply.github.com> Date: Fri, 26 Jun 2026 18:09:23 +0530 Subject: [PATCH 16/17] Delete cv --- static/cv.pdf | Bin 51575 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/cv.pdf diff --git a/static/cv.pdf b/static/cv.pdf deleted file mode 100644 index 9cf225be298d7de43a61916b9b6566c8ea9850d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51575 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 From afcf190b19eb4ea2d0e8e4d6f4c7c9e701081714 Mon Sep 17 00:00:00 2001 From: Turing Tested Date: Mon, 20 Jul 2026 15:33:36 +0530 Subject: [PATCH 17/17] Remove all text references to my email --- app.py | 2 - templates/index.html | 186 ++++++++++++++++++++----------------------- templates/pgp.html | 3 +- 3 files changed, 87 insertions(+), 104 deletions(-) diff --git a/app.py b/app.py index 2ad95f6..e856bed 100644 --- a/app.py +++ b/app.py @@ -4,8 +4,6 @@ app = Flask(__name__) -# Redirect target for CV -CV_URL = "https://mega.nz/file/gBI2GTIb#JVTkAmdVdJemgEvu0RA4yfXOWCo24dnw2m6Ra1kvRFU" @app.route("/") def home(): diff --git a/templates/index.html b/templates/index.html index e58031d..8dfc66c 100644 --- a/templates/index.html +++ b/templates/index.html @@ -44,25 +44,28 @@

Turing Tested

import { init, Terminal as GhosttyTerminal } from "https://cdn.jsdelivr.net/npm/ghostty-web/+esm"; let term; -let isGhostty = false; try { + await init(); + term = new GhosttyTerminal({ - cursorBlink: true, - fontSize: 15, - fontFamily: "'JetBrains Mono', 'Fira Code', monospace", - theme: { - background: "#020202", - foreground: "#00ff9c", - cursor: "#00ff9c", - cursorAccent: "#020202", - selection: "rgba(0, 255, 156, 0.3)", - } + cursorBlink: true, + fontSize: 15, + fontFamily: "'JetBrains Mono', 'Fira Code', monospace", + theme: { + background: "#020202", + foreground: "#00ff9c", + cursor: "#00ff9c", + cursorAccent: "#020202", + selection: "rgba(0, 255, 156, 0.3)", + } }); - isGhostty = true; + } catch (e) { + console.warn("Falling back to Xterm...", e); + term = new window.Terminal({ cursorBlink: true, fontSize: 15, @@ -78,110 +81,93 @@

Turing Tested

} term.open(document.getElementById("terminal")); -if(term.focus) term.focus(); + +if (term.focus) { + term.focus(); +} let buffer = ""; -async function runFortune(term) { - term.write("\r\nFetching fortune...\r\n"); - try { - const response = await fetch("https://api.justyy.workers.dev/api/fortune?t=" + Date.now()); - if (response.ok) { - const data = await response.text(); - const cleanData = data.replace(/^"|"$/g, '').replace(/\\n/g, '\r\n').replace(/\\t/g, '\t'); - term.write("\x1b[36m" + cleanData + "\x1b[0m\r\n"); - } else { - term.write("\x1b[31mError retrieving fortune.\x1b[0m\r\n"); - } - } catch (e) { - term.write("\x1b[31mNetwork error retrieving fortune.\x1b[0m\r\n"); - } - prompt(); +/* + Prompt renderer. +*/ +function prompt() { + term.write("\x1b[1m[turing@tested ~]$\x1b[0m "); } -function prompt() { - term.write("\r\n\x1b[1m[turing@tested ~]$\x1b[0m "); +/* + Future shell engine boundary. + + Later this becomes: + wasm.executeCommand(input) + + JS should only: + - send text + - receive text +*/ +function executeCommand(input) { + + if (input === "") { + return ""; + } + + return `You typed: ${input}`; } term.write("Use `help` to list available commands.\r\n"); + prompt(); term.onData(e => { - if (e === "\r") { - const cmdArgs = buffer.trim().split(" "); - const cmd = cmdArgs[0]; - const rawCmd = buffer.trim(); - buffer = ""; - - if (cmd === "help") { - term.write("\r\nTuringOS - Help Menu"); - term.write("\r\n=========================="); - term.write("\r\n\x1b[32mhelp\x1b[0m : Show this help message"); - term.write("\r\n\x1b[32mls\x1b[0m : List files in current directory"); - term.write("\r\n\x1b[32mcat [file]\x1b[0m : Display contents of a file (try 'cat about' or 'cat pgp')"); - term.write("\r\n\x1b[32mopen [app]\x1b[0m : Open an application or page (try 'open about`)"); - term.write("\r\n\x1b[32mclear\x1b[0m : Clear terminal screen"); - term.write("\r\n\x1b[32mfortune\x1b[0m : The classic Linux command"); - } - else if (cmd === "ls") { - term.write("\r\nabout pgp blogs"); - } - else if (rawCmd === "cat about") { - term.write("\r\nFOSS shill."); - term.write("\r\nInterested in system administration, the Linux kernel, and decentralised technologies."); - } - else if (rawCmd === "cat pgp") { - term.write("\r\nPublic key available at /pgp"); - } - else if (cmd === "cat") { - if (cmdArgs.length > 1) { - term.write("\r\ncat: " + cmdArgs[1] + ": No such file or directory"); - } else { - term.write("\r\ncat: missing file operand"); - } - } - else if (cmd === "clear") { - term.write('\x1b[2J\x1b[H'); - prompt(); - return; + + // ENTER + if (e === "\r") { + + const input = buffer.trim(); + + buffer = ""; + + const output = executeCommand(input); + + term.write("\r\n"); + + if (output !== "") { + term.write(output); + } + + term.write("\r\n"); + + prompt(); } - else if (cmd === "fortune") { - runFortune(term); - return; // prompt is handled by runFortune async + + // CTRL+C + else if (e === "\u0003") { + + term.write("^C\r\n"); + + buffer = ""; + + prompt(); } - else if (cmd === "open") { - if (cmdArgs.length > 1) { - const target = cmdArgs[1]; - if (["blogs", "about", "pgp"].includes(target)) { - term.write(`\r\nNavigating to /${target}...`); - setTimeout(() => { window.location = `/${target}`; }, 400); - } else { - term.write("\r\nopen: unknown target. Available targets: blogs, about, pgp"); + + // BACKSPACE + else if (e === "\u007f") { + + if (buffer.length > 0) { + + buffer = buffer.slice(0, -1); + + term.write("\b \b"); } - } else { - term.write("\r\nopen: missing target"); - } - } - else if (cmd !== "") { - term.write("\r\n\x1b[31mturing: command not found: \x1b[0m" + cmd); } - prompt(); - } - else if (e === "\u0003") { // Ctrl+C handling - term.write("^C"); - buffer = ""; - prompt(); - } - else if (e === "\u007f") { - if (buffer.length > 0) { - buffer = buffer.slice(0, -1); - term.write("\b \b"); + + // NORMAL CHARACTER + else { + + buffer += e; + + term.write(e); } - } - else { - buffer += e; - term.write(e); - } }); diff --git a/templates/pgp.html b/templates/pgp.html index 2b908d6..e113c08 100644 --- a/templates/pgp.html +++ b/templates/pgp.html @@ -22,12 +22,11 @@

PGP Public Key

-

If you need to send me an encrypted email (tt@turingtested.xyz) or verify a signature, you can use the following PGP public key block:

+

If you need to send me an encrypted email or verify a signature, you can use the following PGP public key block:

             -----BEGIN PGP PUBLIC KEY BLOCK-----
 Comment: F902 C22A 0181 D858 9003  884A 097B C53F F8D4 1046
-Comment: Turing Tested 
 
 xsDNBGml+V8BDAC2GNxfXSJXCF3P4vrGUhLZNDpqzQavbfXqzTEEDpBpTOUNz9/7
 0ZXVdUgtnb7mKhAync966AE3ufe6c7kUlTjouTet7YC9PXWR1yqiXM3+q61fof3H