From 77655bbfcda12284db05309d3a11e184e094276a Mon Sep 17 00:00:00 2001 From: cproudlock Date: Mon, 5 Oct 2026 12:00:24 -0400 Subject: [PATCH] pxe: ship Ubuntu iwlwifi firmware with the Blancco kmod tarball The UEFI Blancco path boots the Ubuntu 6.8 kernel on Blancco's rootfs, so iwlwifi loads firmware from the Blancco image. 7.20 dropped the API 86 ucode for AX201/AX210/AX211 and ships only API 89, which the 6.8 driver cannot use: WiFi never came up, so no cloud licence (seen 2026-10-05). kmod.tar.gz now also carries the host's lib/firmware/iwlwifi-* (183 files, .zst, which the kernel prefers over the image's .xz). Files only: on the Blancco rootfs lib is a symlink to usr/lib. Live tarball rebuilt (backup kmod.tar.gz.bak-20261005-pre-iwlfw); the task's creates: guard means an existing server needs the file removed to pick this up. --- playbook/pxe_server_setup.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/playbook/pxe_server_setup.yml b/playbook/pxe_server_setup.yml index 3447c05..9efc15a 100644 --- a/playbook/pxe_server_setup.yml +++ b/playbook/pxe_server_setup.yml @@ -960,7 +960,14 @@ shell: | set -e KVER=$(uname -r) - tar czf "{{ web_root }}/blancco/kmod.tar.gz" -C / "lib/modules/$KVER" + # Ship the host's iwlwifi firmware with its modules. The UEFI path + # runs this Ubuntu kernel on Blancco's rootfs, and Blancco 7.20 only + # carries API 89 ucode for AX201/AX210/AX211, which the 6.8 iwlwifi + # (max API 86) cannot load, so WiFi licensing never came up. Files + # only, no lib/ entry: on the Blancco rootfs lib is a symlink to + # usr/lib and a directory entry would replace it. + cd / + tar czf "{{ web_root }}/blancco/kmod.tar.gz" -C / "lib/modules/$KVER" $(ls -d lib/firmware/iwlwifi-*) echo "Built kmod.tar.gz: $(du -h '{{ web_root }}/blancco/kmod.tar.gz' | cut -f1)" args: creates: "{{ web_root }}/blancco/kmod.tar.gz"