** Description changed: [SRU Justfication] [Impact] Intel AX211 iwlwifi -64 firmware may fail to init under reboot stress, and -67 is immune. FW API -64 supported by oem-5.14, and -67 in v5.16. Not reproducible on every platform with AX211 installed, and the chances of such failures vary from one to another. [Fix] A few solutions were considered. The very first one is to ask Intel to fix -64 firmware directly, and the answer is a solid no claimed -64 is not the planned production version of AX211. It's also possible to backport FW API from v5.16, but while iwlwifi FW API is more or less a black box to us and the new FW APIs also depends on updates on the wireless stack, this is going to be very risky and actually we had regressions before after such backports. The last viable solution is to run backport-iwlwifi-dkms >= rev 8580 on the effected platforms. This means oem-5.14 and its migration target, hwe-5.15 will not be able to drive this piece of hw flawlessly without backport-iwlwifi-dkms installed. However, while we need secureboot to be enabled on these platforms, backport-iwlwifi-dkms must also be signed somehow. There are two possible method to achieve this, too. One, to prebuild this dkms as zfs and v4l2loopback does. However, while backport-iwlwifi-dkms generates kernel modules with exactly the same name as the in-tree ones, when prebuilt, they'll be available directly from the linux-modules package and therefore overrides the in-tree ones always, turning the in-tree driver completely useless and risk the stability of all other generic installations. The second one is to build backport-iwlwifi-dkms as nvidia graphic drivers in the linux-restricted-modules source package. In this way, affected platforms may install the corresponding packages when needed without interfering others. However, l-r-m is for restricted modules that needs special care of redistribution of its binaries, and backport-iwlwifi-dkms is GPL licensed. Here a similar but simpler process in the main kernel tree is re-implemented. Two additional packages, linux-modules-MODULE-PKGVER-ABINUM-FLAVOUR and its meta package linux-modules-MODULE-FLAVOUR will be created. [Test Case] Test builds: ./jammy/amd64/linux-modules-iwlwifi-5.15.0-27-generic_5.15.0-27.28_amd64.deb ./jammy/amd64/linux-modules-iwlwifi-generic_5.15.0-27.28_amd64.deb ./unstable/amd64/linux-modules-iwlwifi-5.17.0-8-generic_5.17.0-8.8_amd64.deb ./unstable/amd64/linux-modules-iwlwifi-generic_5.17.0-8.8_amd64.deb ./oem-5.17/amd64/linux-modules-iwlwifi-5.17.0-1003-oem_5.17.0-1003.3_amd64.deb ./oem-5.17/amd64/linux-modules-iwlwifi-oem_5.17.0-1003.3_amd64.deb ./oem-5.14/amd64/linux-modules-iwlwifi-5.14.0-1033-oem_5.14.0-1033.36_amd64.deb ./oem-5.14/amd64/linux-modules-iwlwifi-oem_5.14.0-1033.36_amd64.deb [Where problems could occur] The latest (9858-0ubuntu2) backport-iwlwifi-dkms/jammy actually fails to build under this proposed process. Debdiff attached to the same bug. Different from nvidia packages built from l-r-m, the generated package names do not carry an additional short version string, e.g. nvidia-410, as there is no such necessity to build multiple versions of iwlwifi. The modules are installed to /lib/modules/<kver>/kernel/iwlwifi, not iwlwifi-9858/. - ========== original bug report ========== + ========== backport-iwlwifi-dkms SRU ========== + + Fix FTBFS with non-standard build directory layout, as executed by dkms + build with a sourcedir setting, as will be done by the above kernel + built-in dkms packages. [backport-iwlwifi-dkms] Under some circumstances, dkms is invoked as: `/usr/sbin/dkms build --kernelsourcedir ...` and yet the dkms make command in this package has: MAKE="'make' -j$(num_cpu_cores) KLIB=/lib/modules/$kernelver"
** Description changed: [SRU Justfication] [Impact] Intel AX211 iwlwifi -64 firmware may fail to init under reboot stress, and -67 is immune. FW API -64 supported by oem-5.14, and -67 in v5.16. Not reproducible on every platform with AX211 installed, and the chances of such failures vary from one to another. [Fix] A few solutions were considered. The very first one is to ask Intel to fix -64 firmware directly, and the answer is a solid no claimed -64 is not the planned production version of AX211. It's also possible to backport FW API from v5.16, but while iwlwifi FW API is more or less a black box to us and the new FW APIs also depends on updates on the wireless stack, this is going to be very risky and actually we had regressions before after such backports. The last viable solution is to run backport-iwlwifi-dkms >= rev 8580 on the effected platforms. This means oem-5.14 and its migration target, hwe-5.15 will not be able to drive this piece of hw flawlessly without backport-iwlwifi-dkms installed. However, while we need secureboot to be enabled on these platforms, backport-iwlwifi-dkms must also be signed somehow. There are two possible method to achieve this, too. One, to prebuild this dkms as zfs and v4l2loopback does. However, while backport-iwlwifi-dkms generates kernel modules with exactly the same name as the in-tree ones, when prebuilt, they'll be available directly from the linux-modules package and therefore overrides the in-tree ones always, turning the in-tree driver completely useless and risk the stability of all other generic installations. The second one is to build backport-iwlwifi-dkms as nvidia graphic drivers in the linux-restricted-modules source package. In this way, affected platforms may install the corresponding packages when needed without interfering others. However, l-r-m is for restricted modules that needs special care of redistribution of its binaries, and backport-iwlwifi-dkms is GPL licensed. Here a similar but simpler process in the main kernel tree is re-implemented. Two additional packages, linux-modules-MODULE-PKGVER-ABINUM-FLAVOUR and its meta package linux-modules-MODULE-FLAVOUR will be created. [Test Case] Test builds: ./jammy/amd64/linux-modules-iwlwifi-5.15.0-27-generic_5.15.0-27.28_amd64.deb ./jammy/amd64/linux-modules-iwlwifi-generic_5.15.0-27.28_amd64.deb ./unstable/amd64/linux-modules-iwlwifi-5.17.0-8-generic_5.17.0-8.8_amd64.deb ./unstable/amd64/linux-modules-iwlwifi-generic_5.17.0-8.8_amd64.deb ./oem-5.17/amd64/linux-modules-iwlwifi-5.17.0-1003-oem_5.17.0-1003.3_amd64.deb ./oem-5.17/amd64/linux-modules-iwlwifi-oem_5.17.0-1003.3_amd64.deb ./oem-5.14/amd64/linux-modules-iwlwifi-5.14.0-1033-oem_5.14.0-1033.36_amd64.deb ./oem-5.14/amd64/linux-modules-iwlwifi-oem_5.14.0-1033.36_amd64.deb [Where problems could occur] The latest (9858-0ubuntu2) backport-iwlwifi-dkms/jammy actually fails to build under this proposed process. Debdiff attached to the same bug. Different from nvidia packages built from l-r-m, the generated package names do not carry an additional short version string, e.g. nvidia-410, as there is no such necessity to build multiple versions of iwlwifi. The modules are installed to /lib/modules/<kver>/kernel/iwlwifi, not iwlwifi-9858/. ========== backport-iwlwifi-dkms SRU ========== - Fix FTBFS with non-standard build directory layout, as executed by dkms - build with a sourcedir setting, as will be done by the above kernel - built-in dkms packages. + In order to be compiled with dkms-build in kernel source package, the + kernel header dir will not be /lib/modules/<version>/build but a + temporary directory. This change specifies KLIB_BUILD from dkms variable + ${kernel_source_dir}. [backport-iwlwifi-dkms] Under some circumstances, dkms is invoked as: `/usr/sbin/dkms build --kernelsourcedir ...` and yet the dkms make command in this package has: MAKE="'make' -j$(num_cpu_cores) KLIB=/lib/modules/$kernelver" ** Changed in: backport-iwlwifi-dkms (Ubuntu Jammy) Status: New => Fix Committed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1969434 Title: build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/backport-iwlwifi-dkms/+bug/1969434/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs