Hi Dimitri, On Mon, 2022-11-21 at 14:51 +0000, Dimitri John Ledkov wrote: > Strictly encode patterns of supported hw_variants of firmware files > the kernel driver supports requesting. This now includes many missing > and previously undeclared module firmware files for 0x07, 0x08, > 0x11-0x14, 0x17-0x1b hw_variants. > > This especially affects environments that only install firmware files > declared and referenced by the kernel modules. In such environments, > only the declared firmware files are copied resulting in most Intel > Bluetooth devices not working. I.e. host-only dracut-install initrds, > or Ubuntu Core kernel snaps. > > BugLink: https://bugs.launchpad.net/bugs/1970819 > Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@xxxxxxxxxxxxx> > --- > Changes since v3: > - Hopefully pacify trailing whitespace from GitLint in this optional > portion of the commit. > > Changes since v2: > - encode patterns for 0x17 0x18 0x19 0x1b hw_variants > - rebase on top of latest rc tag > > Changes since v1: > - encode strict patterns of supported firmware files for each of the > supported hw_variant generations. > > drivers/bluetooth/btintel.c | 26 ++++++++++++++++++++++---- > 1 file changed, 22 insertions(+), 4 deletions(-) > > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c > index a657e9a3e96a..55efc4a067db 100644 > --- a/drivers/bluetooth/btintel.c > +++ b/drivers/bluetooth/btintel.c > @@ -2656,7 +2656,25 @@ MODULE_AUTHOR("Marcel Holtmann <marcel@xxxxxxxxxxxx>"); > MODULE_DESCRIPTION("Bluetooth support for Intel devices ver " VERSION); > MODULE_VERSION(VERSION); > MODULE_LICENSE("GPL"); > -MODULE_FIRMWARE("intel/ibt-11-5.sfi"); > -MODULE_FIRMWARE("intel/ibt-11-5.ddc"); > -MODULE_FIRMWARE("intel/ibt-12-16.sfi"); > -MODULE_FIRMWARE("intel/ibt-12-16.ddc"); > +/* hw_variant 0x07 0x08 */ > +MODULE_FIRMWARE("intel/ibt-hw-37.7.*-fw-*.*.*.*.*.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.7.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.8.*-fw-*.*.*.*.*.bseq"); > +MODULE_FIRMWARE("intel/ibt-hw-37.8.bseq"); > +/* hw_variant 0x0b 0x0c */ > +MODULE_FIRMWARE("intel/ibt-11-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-12-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-11-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-12-*.ddc"); > +/* hw_variant 0x11 0x12 0x13 0x14 */ > +MODULE_FIRMWARE("intel/ibt-17-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-18-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-19-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-20-*-*.sfi"); > +MODULE_FIRMWARE("intel/ibt-17-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-18-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-19-*-*.ddc"); > +MODULE_FIRMWARE("intel/ibt-20-*-*.ddc"); There are firmware files for hw_variant 0x11 and 0x12 in an old format like ibt-17-*.sfi, ibt-17-*.ddc, ibt-18-*.sfi, and ibt-18-*.ddc. > +/* hw_variant 0x17 0x18 0x19 0x1b, read and use cnvi/cnvr */ > +MODULE_FIRMWARE("ibt-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9].sfi"); > +MODULE_FIRMWARE("ibt-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9].ddc"); I believe these are under intel/ folder. Regards, Tedd Ho-Jeong An