** Description changed: + [SRU Justification] + + [Impact] + + Intel AX210 Wi-Fi [8086:43f0] subsystem [1a56:1652] requests invalid + firmware path and fails device init: + + [ 4.146811] Intel(R) Wireless WiFi driver for Linux + [ 4.146866] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002) + [ 4.155371] iwlwifi 0000:00:14.3: Direct firmware load for (efault)128.ucode failed with error -2 + [ 4.155388] iwlwifi 0000:00:14.3: Direct firmware load for (efault)127.ucode failed with error -2 + ... + [ 4.157058] iwlwifi 0000:00:14.3: Direct firmware load for (efault)1.ucode failed with error -2 + [ 4.157068] iwlwifi 0000:00:14.3: Direct firmware load for (efault)0.ucode failed with error -2 + [ 4.157070] iwlwifi 0000:00:14.3: no suitable firmware found! + [ 4.157071] iwlwifi 0000:00:14.3: minimum version required: (efault)0 + [ 4.157072] iwlwifi 0000:00:14.3: maximum version supported: (efault)128 + [ 4.157073] iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git + + This is a design flaw in iwlwifi driver source. + + In drivers/net/wireless/intel/iwlwifi/pcie/drv.c + + static const struct pci_device_id iwl_hw_card_ids[] = { + {IWL_PCI_DEVICE(0x4232, 0x1201, iwl5100_agn_cfg)}, + ... + {IWL_PCI_DEVICE(0x43F0, PCI_ANY_ID, iwl_qu_long_latency_trans_cfg)}, + ... + }; + + The third argument to IWL_PCI_DEVICE macro will be assigned to driver_data field + of struct pci_device_id. However, iwl5100_agn_cfg has type struct iwl_cfg, and + yet iwl_qu_long_latency_trans_cfg has type struct iwl_cfg_trans_params. + + struct iwl_cfg_trans_params { + ... + }; + + struct iwl_cfg { + struct iwl_cfg_trans_params trans; + const char *name; + const char *fw_name_pre; + ... + }; + + It's fine to cast a pointer to struct iwl_cfg, but it's not always valid to cast + a struct iwl_cfg_trans_params to struct iwl_cfg. + + In function iwl_pci_probe, it tries to find an alternative cfg by iterating + throughout iwl_dev_info_table, but in our case, [8086:43f0] subsystem + [1a56:1652], all of the candidates will be skipped, and + iwl_qu_long_latency_trans_cfg will be assigned as the ultimate struct iwl_cfg, + which will be certainly wrong when you're trying to refer to anything beyond + sizeof(struct iwl_cfg_trans_params), e.g. cfg->fw_name_pre. In this case, + ((struct iwl_cfg_trans_params*)&iwl_qu_long_latency_trans_cfg)->name will be + "'", and ((struct iwl_cfg_trans_params*)&iwl_qu_long_latency_trans_cfg)->fw_name_pre + gives "(efault)", pure garbage data. + + [Fix] + + Commit 410f758529bc ("iwlwifi: add new cards for So and Qu family") in v5.12-rc1 + add a few additional entries to correctly catch this card. + + [Test Case] + + Booting from kernel built with aforementioned commit cherry-picked, WiFi + interface should be now up and working. Also tested this kernel against several + iwlwifi supported models on the target and a previous generation platform. + + [Where problems could occur] + + This card failed initialization previously. With it being up and running, it may + affect system stability if there are some undiscovered bugs related to this new + model. + + [Other Info] + + This change has been backported to stable kernel v5.11.4, so skipped nomination + for Hirsute/Unstable. + + ========== Original bug report ========== + 00:14.3 Network controller [0280]: Intel Corporation Device [8086:43f0] Subsystem: Bigfoot Networks, Inc. Device [1a56:1652] Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Interrupt: pin A routed to IRQ 16 Region 0: Memory at 603318c000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel modules: iwlwifi In dmesg: [ 4.146811] Intel(R) Wireless WiFi driver for Linux [ 4.146866] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002) [ 4.155371] iwlwifi 0000:00:14.3: Direct firmware load for (efault)128.ucode failed with error -2 [ 4.155388] iwlwifi 0000:00:14.3: Direct firmware load for (efault)127.ucode failed with error -2 [ 4.155486] iwlwifi 0000:00:14.3: Direct firmware load for (efault)126.ucode failed with error -2 [ 4.155585] iwlwifi 0000:00:14.3: Direct firmware load for (efault)125.ucode failed with error -2 [ 4.155596] iwlwifi 0000:00:14.3: Direct firmware load for (efault)124.ucode failed with error -2 [ 4.155606] iwlwifi 0000:00:14.3: Direct firmware load for (efault)123.ucode failed with error -2 [ 4.155617] iwlwifi 0000:00:14.3: Direct firmware load for (efault)122.ucode failed with error -2 [ 4.155628] iwlwifi 0000:00:14.3: Direct firmware load for (efault)121.ucode failed with error -2 [ 4.155639] iwlwifi 0000:00:14.3: Direct firmware load for (efault)120.ucode failed with error -2 [ 4.155649] iwlwifi 0000:00:14.3: Direct firmware load for (efault)119.ucode failed with error -2 [ 4.155660] iwlwifi 0000:00:14.3: Direct firmware load for (efault)118.ucode failed with error -2 [ 4.155670] iwlwifi 0000:00:14.3: Direct firmware load for (efault)117.ucode failed with error -2 [ 4.155683] iwlwifi 0000:00:14.3: Direct firmware load for (efault)116.ucode failed with error -2 [ 4.155693] iwlwifi 0000:00:14.3: Direct firmware load for (efault)115.ucode failed with error -2 [ 4.155704] iwlwifi 0000:00:14.3: Direct firmware load for (efault)114.ucode failed with error -2 [ 4.155716] iwlwifi 0000:00:14.3: Direct firmware load for (efault)113.ucode failed with error -2 [ 4.155727] iwlwifi 0000:00:14.3: Direct firmware load for (efault)112.ucode failed with error -2 [ 4.155817] iwlwifi 0000:00:14.3: Direct firmware load for (efault)111.ucode failed with error -2 [ 4.155829] iwlwifi 0000:00:14.3: Direct firmware load for (efault)110.ucode failed with error -2 [ 4.155840] iwlwifi 0000:00:14.3: Direct firmware load for (efault)109.ucode failed with error -2 [ 4.155851] iwlwifi 0000:00:14.3: Direct firmware load for (efault)108.ucode failed with error -2 [ 4.155863] iwlwifi 0000:00:14.3: Direct firmware load for (efault)107.ucode failed with error -2 [ 4.155874] iwlwifi 0000:00:14.3: Direct firmware load for (efault)106.ucode failed with error -2 [ 4.155884] iwlwifi 0000:00:14.3: Direct firmware load for (efault)105.ucode failed with error -2 [ 4.155895] iwlwifi 0000:00:14.3: Direct firmware load for (efault)104.ucode failed with error -2 [ 4.155907] iwlwifi 0000:00:14.3: Direct firmware load for (efault)103.ucode failed with error -2 [ 4.155919] iwlwifi 0000:00:14.3: Direct firmware load for (efault)102.ucode failed with error -2 [ 4.155930] iwlwifi 0000:00:14.3: Direct firmware load for (efault)101.ucode failed with error -2 [ 4.155941] iwlwifi 0000:00:14.3: Direct firmware load for (efault)100.ucode failed with error -2 [ 4.155953] iwlwifi 0000:00:14.3: Direct firmware load for (efault)99.ucode failed with error -2 [ 4.155964] iwlwifi 0000:00:14.3: Direct firmware load for (efault)98.ucode failed with error -2 [ 4.155975] iwlwifi 0000:00:14.3: Direct firmware load for (efault)97.ucode failed with error -2 [ 4.155985] iwlwifi 0000:00:14.3: Direct firmware load for (efault)96.ucode failed with error -2 [ 4.155997] iwlwifi 0000:00:14.3: Direct firmware load for (efault)95.ucode failed with error -2 [ 4.156008] iwlwifi 0000:00:14.3: Direct firmware load for (efault)94.ucode failed with error -2 [ 4.156019] iwlwifi 0000:00:14.3: Direct firmware load for (efault)93.ucode failed with error -2 [ 4.156030] iwlwifi 0000:00:14.3: Direct firmware load for (efault)92.ucode failed with error -2 [ 4.156042] iwlwifi 0000:00:14.3: Direct firmware load for (efault)91.ucode failed with error -2 [ 4.156052] iwlwifi 0000:00:14.3: Direct firmware load for (efault)90.ucode failed with error -2 [ 4.156062] iwlwifi 0000:00:14.3: Direct firmware load for (efault)89.ucode failed with error -2 [ 4.156073] iwlwifi 0000:00:14.3: Direct firmware load for (efault)88.ucode failed with error -2 [ 4.156083] iwlwifi 0000:00:14.3: Direct firmware load for (efault)87.ucode failed with error -2 [ 4.156094] iwlwifi 0000:00:14.3: Direct firmware load for (efault)86.ucode failed with error -2 [ 4.156105] iwlwifi 0000:00:14.3: Direct firmware load for (efault)85.ucode failed with error -2 [ 4.156115] iwlwifi 0000:00:14.3: Direct firmware load for (efault)84.ucode failed with error -2 [ 4.156125] iwlwifi 0000:00:14.3: Direct firmware load for (efault)83.ucode failed with error -2 [ 4.156136] iwlwifi 0000:00:14.3: Direct firmware load for (efault)82.ucode failed with error -2 [ 4.156146] iwlwifi 0000:00:14.3: Direct firmware load for (efault)81.ucode failed with error -2 [ 4.156157] iwlwifi 0000:00:14.3: Direct firmware load for (efault)80.ucode failed with error -2 [ 4.156167] iwlwifi 0000:00:14.3: Direct firmware load for (efault)79.ucode failed with error -2 [ 4.156177] iwlwifi 0000:00:14.3: Direct firmware load for (efault)78.ucode failed with error -2 [ 4.156188] iwlwifi 0000:00:14.3: Direct firmware load for (efault)77.ucode failed with error -2 [ 4.156198] iwlwifi 0000:00:14.3: Direct firmware load for (efault)76.ucode failed with error -2 [ 4.156209] iwlwifi 0000:00:14.3: Direct firmware load for (efault)75.ucode failed with error -2 [ 4.156219] iwlwifi 0000:00:14.3: Direct firmware load for (efault)74.ucode failed with error -2 [ 4.156231] iwlwifi 0000:00:14.3: Direct firmware load for (efault)73.ucode failed with error -2 [ 4.156242] iwlwifi 0000:00:14.3: Direct firmware load for (efault)72.ucode failed with error -2 [ 4.156252] iwlwifi 0000:00:14.3: Direct firmware load for (efault)71.ucode failed with error -2 [ 4.156263] iwlwifi 0000:00:14.3: Direct firmware load for (efault)70.ucode failed with error -2 [ 4.156273] iwlwifi 0000:00:14.3: Direct firmware load for (efault)69.ucode failed with error -2 [ 4.156283] iwlwifi 0000:00:14.3: Direct firmware load for (efault)68.ucode failed with error -2 [ 4.156295] iwlwifi 0000:00:14.3: Direct firmware load for (efault)67.ucode failed with error -2 [ 4.156306] iwlwifi 0000:00:14.3: Direct firmware load for (efault)66.ucode failed with error -2 [ 4.156316] iwlwifi 0000:00:14.3: Direct firmware load for (efault)65.ucode failed with error -2 [ 4.156327] iwlwifi 0000:00:14.3: Direct firmware load for (efault)64.ucode failed with error -2 [ 4.156337] iwlwifi 0000:00:14.3: Direct firmware load for (efault)63.ucode failed with error -2 [ 4.156350] iwlwifi 0000:00:14.3: Direct firmware load for (efault)62.ucode failed with error -2 [ 4.156361] iwlwifi 0000:00:14.3: Direct firmware load for (efault)61.ucode failed with error -2 [ 4.156371] iwlwifi 0000:00:14.3: Direct firmware load for (efault)60.ucode failed with error -2 [ 4.156382] iwlwifi 0000:00:14.3: Direct firmware load for (efault)59.ucode failed with error -2 [ 4.156393] iwlwifi 0000:00:14.3: Direct firmware load for (efault)58.ucode failed with error -2 [ 4.156404] iwlwifi 0000:00:14.3: Direct firmware load for (efault)57.ucode failed with error -2 [ 4.156414] iwlwifi 0000:00:14.3: Direct firmware load for (efault)56.ucode failed with error -2 [ 4.156425] iwlwifi 0000:00:14.3: Direct firmware load for (efault)55.ucode failed with error -2 [ 4.156437] iwlwifi 0000:00:14.3: Direct firmware load for (efault)54.ucode failed with error -2 [ 4.156448] iwlwifi 0000:00:14.3: Direct firmware load for (efault)53.ucode failed with error -2 [ 4.156459] iwlwifi 0000:00:14.3: Direct firmware load for (efault)52.ucode failed with error -2 [ 4.156471] iwlwifi 0000:00:14.3: Direct firmware load for (efault)51.ucode failed with error -2 [ 4.156483] iwlwifi 0000:00:14.3: Direct firmware load for (efault)50.ucode failed with error -2 [ 4.156495] iwlwifi 0000:00:14.3: Direct firmware load for (efault)49.ucode failed with error -2 [ 4.156506] iwlwifi 0000:00:14.3: Direct firmware load for (efault)48.ucode failed with error -2 [ 4.156517] iwlwifi 0000:00:14.3: Direct firmware load for (efault)47.ucode failed with error -2 [ 4.156531] iwlwifi 0000:00:14.3: Direct firmware load for (efault)46.ucode failed with error -2 [ 4.156541] iwlwifi 0000:00:14.3: Direct firmware load for (efault)45.ucode failed with error -2 [ 4.156551] iwlwifi 0000:00:14.3: Direct firmware load for (efault)44.ucode failed with error -2 [ 4.156561] iwlwifi 0000:00:14.3: Direct firmware load for (efault)43.ucode failed with error -2 [ 4.156571] iwlwifi 0000:00:14.3: Direct firmware load for (efault)42.ucode failed with error -2 [ 4.156582] iwlwifi 0000:00:14.3: Direct firmware load for (efault)41.ucode failed with error -2 [ 4.156591] iwlwifi 0000:00:14.3: Direct firmware load for (efault)40.ucode failed with error -2 [ 4.156601] iwlwifi 0000:00:14.3: Direct firmware load for (efault)39.ucode failed with error -2 [ 4.156613] iwlwifi 0000:00:14.3: Direct firmware load for (efault)38.ucode failed with error -2 [ 4.156622] iwlwifi 0000:00:14.3: Direct firmware load for (efault)37.ucode failed with error -2 [ 4.156631] iwlwifi 0000:00:14.3: Direct firmware load for (efault)36.ucode failed with error -2 [ 4.156642] iwlwifi 0000:00:14.3: Direct firmware load for (efault)35.ucode failed with error -2 [ 4.156652] iwlwifi 0000:00:14.3: Direct firmware load for (efault)34.ucode failed with error -2 [ 4.156662] iwlwifi 0000:00:14.3: Direct firmware load for (efault)33.ucode failed with error -2 [ 4.156672] iwlwifi 0000:00:14.3: Direct firmware load for (efault)32.ucode failed with error -2 [ 4.156682] iwlwifi 0000:00:14.3: Direct firmware load for (efault)31.ucode failed with error -2 [ 4.156692] iwlwifi 0000:00:14.3: Direct firmware load for (efault)30.ucode failed with error -2 [ 4.156703] iwlwifi 0000:00:14.3: Direct firmware load for (efault)29.ucode failed with error -2 [ 4.156712] iwlwifi 0000:00:14.3: Direct firmware load for (efault)28.ucode failed with error -2 [ 4.156721] iwlwifi 0000:00:14.3: Direct firmware load for (efault)27.ucode failed with error -2 [ 4.156732] iwlwifi 0000:00:14.3: Direct firmware load for (efault)26.ucode failed with error -2 [ 4.156742] iwlwifi 0000:00:14.3: Direct firmware load for (efault)25.ucode failed with error -2 [ 4.156751] iwlwifi 0000:00:14.3: Direct firmware load for (efault)24.ucode failed with error -2 [ 4.156761] iwlwifi 0000:00:14.3: Direct firmware load for (efault)23.ucode failed with error -2 [ 4.156772] iwlwifi 0000:00:14.3: Direct firmware load for (efault)22.ucode failed with error -2 [ 4.156782] iwlwifi 0000:00:14.3: Direct firmware load for (efault)21.ucode failed with error -2 [ 4.156792] iwlwifi 0000:00:14.3: Direct firmware load for (efault)20.ucode failed with error -2 [ 4.156802] iwlwifi 0000:00:14.3: Direct firmware load for (efault)19.ucode failed with error -2 [ 4.156814] iwlwifi 0000:00:14.3: Direct firmware load for (efault)18.ucode failed with error -2 [ 4.156825] iwlwifi 0000:00:14.3: Direct firmware load for (efault)17.ucode failed with error -2 [ 4.156834] iwlwifi 0000:00:14.3: Direct firmware load for (efault)16.ucode failed with error -2 [ 4.156843] iwlwifi 0000:00:14.3: Direct firmware load for (efault)15.ucode failed with error -2 [ 4.156854] iwlwifi 0000:00:14.3: Direct firmware load for (efault)14.ucode failed with error -2 [ 4.156916] iwlwifi 0000:00:14.3: Direct firmware load for (efault)13.ucode failed with error -2 [ 4.156930] iwlwifi 0000:00:14.3: Direct firmware load for (efault)12.ucode failed with error -2 [ 4.156942] iwlwifi 0000:00:14.3: Direct firmware load for (efault)11.ucode failed with error -2 [ 4.156957] iwlwifi 0000:00:14.3: Direct firmware load for (efault)10.ucode failed with error -2 [ 4.156969] iwlwifi 0000:00:14.3: Direct firmware load for (efault)9.ucode failed with error -2 [ 4.156982] iwlwifi 0000:00:14.3: Direct firmware load for (efault)8.ucode failed with error -2 [ 4.156994] iwlwifi 0000:00:14.3: Direct firmware load for (efault)7.ucode failed with error -2 [ 4.157004] iwlwifi 0000:00:14.3: Direct firmware load for (efault)6.ucode failed with error -2 [ 4.157015] iwlwifi 0000:00:14.3: Direct firmware load for (efault)5.ucode failed with error -2 [ 4.157027] iwlwifi 0000:00:14.3: Direct firmware load for (efault)4.ucode failed with error -2 [ 4.157037] iwlwifi 0000:00:14.3: Direct firmware load for (efault)3.ucode failed with error -2 [ 4.157048] iwlwifi 0000:00:14.3: Direct firmware load for (efault)2.ucode failed with error -2 [ 4.157058] iwlwifi 0000:00:14.3: Direct firmware load for (efault)1.ucode failed with error -2 [ 4.157068] iwlwifi 0000:00:14.3: Direct firmware load for (efault)0.ucode failed with error -2 [ 4.157070] iwlwifi 0000:00:14.3: no suitable firmware found! [ 4.157071] iwlwifi 0000:00:14.3: minimum version required: (efault)0 [ 4.157072] iwlwifi 0000:00:14.3: maximum version supported: (efault)128 [ 4.157073] iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git Reported to IHV in private mail thread and public linux-wireless mailing list https://lore.kernel.org/linux-wireless/c651c75d-e1f4-ac7b-aa8f- b0a2035cb...@canonical.com/T/#u
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1913259 Title: Intel AX201 Wi-Fi [8086:43f0] subsystem [1a56:1652]: Direct firmware load for (efault)128.ucode failed with error -2 To manage notifications about this bug go to: https://bugs.launchpad.net/hwe-next/+bug/1913259/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs