[Bug 1969434] Re: build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI
You-Sheng Yang
1969434 at bugs.launchpad.net
Thu Apr 28 18:22:10 UTC 2022
Blocked by https://bugs.launchpad.net/ubuntu/+source/backport-iwlwifi-
dkms/+bug/1970777, backport-iwlwifi-dkms 9858-0ubuntu3 fails to build
against latest linux-unstable=5.18.0-1-generic.
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1969434
Title:
build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI
Status in backport-iwlwifi-dkms package in Ubuntu:
Fix Released
Status in linux package in Ubuntu:
In Progress
Status in linux-oem-5.14 package in Ubuntu:
Invalid
Status in linux-oem-5.17 package in Ubuntu:
New
Status in backport-iwlwifi-dkms source package in Focal:
New
Status in linux source package in Focal:
Invalid
Status in linux-oem-5.14 source package in Focal:
New
Status in linux-oem-5.17 source package in Focal:
Invalid
Status in backport-iwlwifi-dkms source package in Jammy:
Fix Released
Status in linux source package in Jammy:
In Progress
Status in linux-oem-5.14 source package in Jammy:
Invalid
Status in linux-oem-5.17 source package in Jammy:
New
Bug description:
[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 ==========
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"
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/backport-iwlwifi-dkms/+bug/1969434/+subscriptions
More information about the Ubuntu-sponsors
mailing list