wifi 适配器在旧内核中无法工作

wifi 适配器在旧内核中无法工作

由于 Digital Guardian 的产品要求(公理,无法更改),我们公司强迫我们降级到特定内核。就我而言,从 6.2.0-32-generic 降级到 5.19.0-45-generic。使用旧内核时,联想 P53 上的 wifi 模块(无论如何它是经过 ubuntu 认证的)无法工作。有人可以推荐一种方法,如何找出缺少的内容(在“工作”内核中启动时)以及如何使其在旧内核中也能工作吗?

注意:如果我再次重新启动到较新的内核,一切都会恢复正常。

更新:

lspci -nnk -d ::0280
52:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
    Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0080]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi

更新 2:sudo dmesg | grep iwl在较新的内核中运行,wifi 可以正常工作。在较旧的内核中没有返回任何内容。

[   12.763037] iwlwifi 0000:52:00.0: enabling device (0000 -> 0002)
[   12.781561] iwlwifi 0000:52:00.0: api flags index 2 larger than supported by driver
[   12.781576] iwlwifi 0000:52:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[   12.781998] iwlwifi 0000:52:00.0: loaded firmware version 72.daa05125.0 cc-a0-72.ucode op_mode iwlmvm
[   12.953490] iwlwifi 0000:52:00.0: BIOS contains WGDS but no WRDS
[   12.954059] iwlwifi 0000:52:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
[   13.106123] iwlwifi 0000:52:00.0: Detected RF HR B3, rfid=0x10a100
[   13.175678] iwlwifi 0000:52:00.0: base HW address: 94:e6:f7:f3:ef:e9
[   13.193880] iwlwifi 0000:52:00.0 wlp82s0: renamed from wlan0
[  330.316983] Modules linked in: rfcomm xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables libcrc32c nfnetlink br_netfilter bridge stp llc ccm cmac algif_hash algif_skcipher af_alg bnep overlay snd_sof_pci_intel_cnl snd_sof_intel_hda_common soundwire_intel soundwire_generic_allocation binfmt_misc soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi snd_ctl_led soundwire_bus snd_hda_codec_conexant snd_soc_core snd_hda_codec_generic snd_hda_codec_hdmi snd_compress ac97_bus snd_pcm_dmaengine intel_tcc_cooling snd_hda_intel x86_pkg_temp_thermal iwlmvm snd_intel_dspcfg intel_powerclamp snd_intel_sdw_acpi snd_seq_midi mei_hdcp mei_pxp snd_hda_codec coretemp intel_rapl_msr tps6598x nls_iso8859_1 snd_seq_midi_event mac80211 kvm_intel btusb snd_hda_core snd_rawmidi snd_hwdep
[  330.317033]  libarc4 btrtl kvm uvcvideo snd_pcm cmdlinepart processor_thermal_device_pci_legacy iwlwifi irqbypass snd_seq btbcm spi_nor videobuf2_vmalloc processor_thermal_device think_lmi rapl btintel snd_seq_device intel_cstate thinkpad_acpi videobuf2_memops processor_thermal_rfim serio_raw typec_displayport firmware_attributes_class intel_wmi_thunderbolt btmtk wmi_bmof mtd nvram elan_i2c ee1004 8250_dw snd_timer videobuf2_v4l2 processor_thermal_mbox cfg80211 bluetooth videodev processor_thermal_rapl input_leds snd mei_me intel_rapl_common videobuf2_common cdc_mbim ecdh_generic joydev cdc_wdm mc mei ecc soundcore intel_soc_dts_iosf intel_pch_thermal serial_multi_instantiate ledtrig_audio platform_profile int3403_thermal int340x_thermal_zone nvidia_uvm(POE) mac_hid int3400_thermal acpi_pad acpi_thermal_rel sch_fq_codel msr parport_pc ppdev lp parport ramoops reed_solomon pstore_blk pstore_zone efi_pstore ip_tables x_tables autofs4 dm_crypt hid_microsoft ff_memless hid_generic cdc_ncm
[ 4942.434971] Modules linked in: xt_nat xt_tcpudp veth rfcomm xt_conntrack nft_chain_nat xt_MASQUERADE nf_nat nf_conntrack_netlink nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xfrm_user xfrm_algo xt_addrtype nft_compat nf_tables libcrc32c nfnetlink br_netfilter bridge stp llc ccm cmac algif_hash algif_skcipher af_alg bnep overlay snd_sof_pci_intel_cnl snd_sof_intel_hda_common soundwire_intel soundwire_generic_allocation binfmt_misc soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi snd_ctl_led soundwire_bus snd_hda_codec_conexant snd_soc_core snd_hda_codec_generic snd_hda_codec_hdmi snd_compress ac97_bus snd_pcm_dmaengine intel_tcc_cooling snd_hda_intel x86_pkg_temp_thermal iwlmvm snd_intel_dspcfg intel_powerclamp snd_intel_sdw_acpi snd_seq_midi mei_hdcp mei_pxp snd_hda_codec coretemp intel_rapl_msr tps6598x nls_iso8859_1 snd_seq_midi_event mac80211 kvm_intel btusb snd_hda_core
[ 4942.435032]  snd_rawmidi snd_hwdep libarc4 btrtl kvm uvcvideo snd_pcm cmdlinepart processor_thermal_device_pci_legacy iwlwifi irqbypass snd_seq btbcm spi_nor videobuf2_vmalloc processor_thermal_device think_lmi rapl btintel snd_seq_device intel_cstate thinkpad_acpi videobuf2_memops processor_thermal_rfim serio_raw typec_displayport firmware_attributes_class intel_wmi_thunderbolt btmtk wmi_bmof mtd nvram elan_i2c ee1004 8250_dw snd_timer videobuf2_v4l2 processor_thermal_mbox cfg80211 bluetooth videodev processor_thermal_rapl input_leds snd mei_me intel_rapl_common videobuf2_common cdc_mbim ecdh_generic joydev cdc_wdm mc mei ecc soundcore intel_soc_dts_iosf intel_pch_thermal serial_multi_instantiate ledtrig_audio platform_profile int3403_thermal int340x_thermal_zone nvidia_uvm(POE) mac_hid int3400_thermal acpi_pad acpi_thermal_rel sch_fq_codel msr parport_pc ppdev lp parport ramoops reed_solomon pstore_blk pstore_zone efi_pstore ip_tables x_tables autofs4 dm_crypt hid_microsoft ff_memless

更新3:

lscpi 显示该 wifi 设备:

52:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
        Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0080]

无法 modprobe iwlwifi (并且 dmesg 中没有任何内容与“查看 dmesg”提示相反)

sudo modprobe iwlwifi
modprobe: ERROR: ../libkmod/libkmod-module.c:838 kmod_module_insert_module() could not find module by name='iwlwifi'
modprobe: ERROR: could not insert 'iwlwifi': Unknown symbol in module, or unknown parameter (see dmesg)

并且无法安装iwlwifi:

sudo apt install firmware-iwlwifi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package firmware-iwlwifi

一些其他命令:

modinfo iwlwifi
modinfo: ERROR: Module iwlwifi not found.
sudo dpkg -l | grep iwl
<nothing>
lsmod | grep iwl
<nothing>

更新4:

grep -ir iwl /etc/modprobe.d

/etc/modprobe.d/iwlwifi.conf:# /etc/modprobe.d/iwlwifi.conf
/etc/modprobe.d/iwlwifi.conf:# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
/etc/modprobe.d/iwlwifi.conf:# microcode file installed on the system.  When removing iwlwifi, first
/etc/modprobe.d/iwlwifi.conf:# remove the iwl?vm module and then iwlwifi.
/etc/modprobe.d/iwlwifi.conf:remove iwlwifi \
/etc/modprobe.d/iwlwifi.conf:(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \

dkms 状态

backport-iwlwifi/9858, 5.19.0-45-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
backport-iwlwifi/9858, 6.2.0-32-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
nvidia/535.86.05, 5.19.0-45-generic, x86_64: installed
nvidia/535.86.05, 6.2.0-31-generic, x86_64: installed
nvidia/535.86.05, 6.2.0-32-generic, x86_64: installed

答案1

抱歉,我不太了解这些软件包。对我有帮助的是

sudo apt-get install linux-modules-extra-5.19.0-45-generic 

我不知道这个包。我没有删除此线程中提到的 backport-iwlwifi-dkms,它仍然有效,所以我想我会保留它。

相关内容