这里有很多关于英特尔 9650 WiFi 的问题。一个月前我也遇到过这种情况,解决办法是这个帖子确实有效。
但一个月后,即使在我之前使用的内核版本上,Wi-Fi 也无法工作。
总结:接受的答案引用了另一个答案,并且第一个命令序列确实起作用并且使得 WiFi 启动而无需在-42
内核中重新启动。
扩展问题
事情经过:
二月
- 安装了一些未知的内核版本。
- 运行版本
-29
,然后更新到-40
,Wi-Fi 停止工作。 - 降级到
-29
仍然存在受到推崇的并且工作正常。
行进
- 重新安装了整个系统。
- 首次启动时,WiFi 不工作。
- 检查内核,有和
-18
。-42
(我得出结论,它-18
是在 USB 记忆棒中,一个月前制作的,-42
最近才下载的。)
我尝试安装版本-29
:
sudo apt install linux-image-5.3.0-29-generic \
linux-headers-5.3.0-29-generic \
linux-headers-5.3.0-29
已成功启动-29
,但 Wi-Fi 仍然无法工作。
我不知道内核是如何配置的,但是我的理论是 Ubuntu 可能会在通过官方安装程序安装时以某种方式配置它们,但在使用时不会apt
。这就是为什么-29
之前可以正常工作,而昨天却不工作的原因。
我尝试过-18
,在那个版本上,Wi-Fi 确实可以工作。
因此问题是:是否可以配置内核模块以使 Intel 9560 Wi-Fi 正常工作?如果可以,该怎么做?
测试
在内核版本-29
和中-42
,dmesg | grep iwl
未返回任何内容。此外,昨天我使用智能手机作为 USB 调制解调器连接到任何网络。今天它在 -29 和 -42 时停止工作(但在 -18 时可以工作,所以这不是硬件问题)。
在-18
:
[ 2.174871] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 2.183202] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[ 2.183451] iwlwifi 0000:00:14.3: loaded firmware version 48.4fa0041f.0 op_mode iwlmvm
[ 2.227912] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x354
[ 2.372979] iwlwifi 0000:00:14.3: base HW address: 98:af:65:d9:76:64
[ 2.388138] iwlwifi 0000:00:14.3 wlo1: renamed from wlan0
[ 3.567359] iwlwifi 0000:00:14.3: BIOS contains WGDS but no WRDS
Modprobe 结果:
-42:
$ sudo modprobe iwlwifi modprobe: ERROR: ../libkmod/libkmod-module.c:832 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) $ sudo modprobe iwlwifi && dmesg | grep iwl modprobe: ERROR: ../libkmod/libkmod-module.c:832 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)
-18:
sudo modprobe iwlwifi | grep iwl
显示无输出。
重新安装模块
sudo apt install --reinstall linux-image-5.3.0-42-generic linux-modules-5.3.0-42-generic linux-headers-5.3.0-42-generic
安装成功。
sudo apt purge backports-iwlwifi-dkms
写道无法为这样的计划提供资金。
在 -42 下重新启动,运行
sudo modprobe iwlwifi && dmesg | grep iwl
modprobe: ERROR: ../libkmod/libkmod-module.c:832 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)
输出与以前相同。
部分成功
根据建议这里,我尝试安装linux-modules-extra-5.3.0-18-generic
(对于-29
、 和 也一样-42
)。-18
已经在这里了,但是extra...-29
、 和 都没有-42
。 在所有 3 个版本中重新启动,结果如下:
- USB 网络现在可在所有版本中使用(得益于 ,它在 -18 之前可以运行
-extra-
) - WiFi 在 -18 和 -29 度时有效。
- 在 -42 度的环境下 WiFi 仍然无法使用。
在-42,
sudo modprobe iwlwifi
什么也没显示。sudo dmesg | grep iwl
节目[ 2.901091] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002) [ 2.908481] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17 [ 2.908735] iwlwifi 0000:00:14.3: loaded firmware version 48.4fa0041f.0 op_mode iwlmvm [ 2.953059] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560, REV=0x354 [ 3.978778] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired. [ 3.978869] iwlwifi 0000:00:14.3: Start IWL Error Log Dump: [ 3.978874] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 92409126 [ 3.978875] iwlwifi 0000:00:14.3: Loaded firmware version: 48.4fa0041f.0 [ 3.978877] iwlwifi 0000:00:14.3: 0x2EF5BBF1 | ADVANCED_SYSASSERT [ 3.978877] iwlwifi 0000:00:14.3: 0x509FEA52 | trm_hw_status0 [ 3.978878] iwlwifi 0000:00:14.3: 0xB79F92B3 | trm_hw_status1 [ 3.978879] iwlwifi 0000:00:14.3: 0x01F784C4 | branchlink2 [ 3.978880] iwlwifi 0000:00:14.3: 0x830DBEFD | interruptlink1 [ 3.978880] iwlwifi 0000:00:14.3: 0xA9DF0E01 | interruptlink2 [ 3.978881] iwlwifi 0000:00:14.3: 0x190058B4 | data1 [ 3.978882] iwlwifi 0000:00:14.3: 0x7582BEBE | data2 [ 3.978883] iwlwifi 0000:00:14.3: 0x916DC435 | data3 [ 3.978883] iwlwifi 0000:00:14.3: 0xDCE030F6 | beacon time [ 3.978884] iwlwifi 0000:00:14.3: 0xD3D55A0E | tsf low [ 3.978885] iwlwifi 0000:00:14.3: 0x9B56DB75 | tsf hi [ 3.978886] iwlwifi 0000:00:14.3: 0x8AF1A773 | time gp1 [ 3.978886] iwlwifi 0000:00:14.3: 0x008C95D4 | time gp2 [ 3.978888] iwlwifi 0000:00:14.3: 0x3EB309E9 | uCode revision type [ 3.978888] iwlwifi 0000:00:14.3: 0x8EECEB01 | uCode version major [ 3.978889] iwlwifi 0000:00:14.3: 0x8BC406BA | uCode version minor [ 3.978890] iwlwifi 0000:00:14.3: 0x0A196B08 | hw version [ 3.978891] iwlwifi 0000:00:14.3: 0x7186726C | board version [ 3.978891] iwlwifi 0000:00:14.3: 0x6874A736 | hcmd [ 3.978892] iwlwifi 0000:00:14.3: 0xFBDCA85C | isr0 [ 3.978893] iwlwifi 0000:00:14.3: 0xB7564E59 | isr1 [ 3.978893] iwlwifi 0000:00:14.3: 0xF3216FA3 | isr2 [ 3.978894] iwlwifi 0000:00:14.3: 0x10C6AD0D | isr3 [ 3.978895] iwlwifi 0000:00:14.3: 0x7BA1FB60 | isr4 [ 3.978896] iwlwifi 0000:00:14.3: 0xFD30064F | last cmd Id [ 3.978896] iwlwifi 0000:00:14.3: 0x88D90F82 | wait_event [ 3.978897] iwlwifi 0000:00:14.3: 0x8C5542EA | l2p_control [ 3.978898] iwlwifi 0000:00:14.3: 0xFDD368FB | l2p_duration [ 3.978898] iwlwifi 0000:00:14.3: 0x5EDBF9EF | l2p_mhvalid [ 3.978899] iwlwifi 0000:00:14.3: 0x5D9274E9 | l2p_addr_match [ 3.978900] iwlwifi 0000:00:14.3: 0xB4656752 | lmpm_pmg_sel [ 3.978901] iwlwifi 0000:00:14.3: 0x5BBD761D | timestamp [ 3.978901] iwlwifi 0000:00:14.3: 0xEB75A2DA | flow_handler [ 3.978944] iwlwifi 0000:00:14.3: Start IWL Error Log Dump: [ 3.978945] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 7 [ 3.978946] iwlwifi 0000:00:14.3: 0x201013F1 | ADVANCED_SYSASSERT [ 3.978947] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1 [ 3.978948] iwlwifi 0000:00:14.3: 0xC008CF5C | umac branchlink2 [ 3.978948] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink1 [ 3.978949] iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink2 [ 3.978950] iwlwifi 0000:00:14.3: 0x00000003 | umac data1 [ 3.978951] iwlwifi 0000:00:14.3: 0x20000302 | umac data2 [ 3.978951] iwlwifi 0000:00:14.3: 0x01300202 | umac data3 [ 3.978952] iwlwifi 0000:00:14.3: 0x00000030 | umac major [ 3.978953] iwlwifi 0000:00:14.3: 0x4FA0041F | umac minor [ 3.978954] iwlwifi 0000:00:14.3: 0x00005D2A | frame pointer [ 3.978954] iwlwifi 0000:00:14.3: 0xC0887F58 | stack pointer [ 3.978955] iwlwifi 0000:00:14.3: 0x00000000 | last host cmd [ 3.978956] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg [ 3.978980] iwlwifi 0000:00:14.3: Fseq Registers: [ 3.978983] iwlwifi 0000:00:14.3: 0x00000003 | FSEQ_ERROR_CODE [ 3.978985] iwlwifi 0000:00:14.3: 0x00260000 | FSEQ_TOP_INIT_VERSION [ 3.978987] iwlwifi 0000:00:14.3: 0x80020006 | FSEQ_CNVIO_INIT_VERSION [ 3.978990] iwlwifi 0000:00:14.3: 0x0000A384 | FSEQ_OTP_VERSION [ 3.978992] iwlwifi 0000:00:14.3: 0x1704F891 | FSEQ_TOP_CONTENT_VERSION [ 3.978994] iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN [ 3.978997] iwlwifi 0000:00:14.3: 0x20000302 | FSEQ_CNVI_ID [ 3.978999] iwlwifi 0000:00:14.3: 0x01300202 | FSEQ_CNVR_ID [ 3.979001] iwlwifi 0000:00:14.3: 0x20000302 | CNVI_AUX_MISC_CHIP [ 3.979006] iwlwifi 0000:00:14.3: 0x01300202 | CNVR_AUX_MISC_CHIP [ 3.979010] iwlwifi 0000:00:14.3: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM [ 3.979044] iwlwifi 0000:00:14.3: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR [ 3.979073] iwlwifi 0000:00:14.3: SecBoot CPU1 Status: 0x5c9d, CPU2 Status: 0x3 [ 3.979074] iwlwifi 0000:00:14.3: Failed to start RT ucode: -110 [ 3.979077] iwlwifi 0000:00:14.3: Firmware not running - cannot dump error [ 3.990800] iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
玩转固件
根据建议这里这样做:
sudo rmmod iwlmvm sudo rmmod iwlwifi sudo cp /lib/firmware/iwlwifi-Qu-b0-jf-b0-48.ucode{,.bak}
我不知道具体用的是哪个固件文件,所以只能盲目猜测。如果我理解正确的话,chili555 的意思是,Qu-b0 是较新的版本,而 Qu-a0 是较旧的版本,较旧的版本确实有效。
所以我有 Qu-b0 和 Qu-c0,我备份两者并将 -b0 复制到 -c0。
sudo cp /lib/firmware/iwlwifi-Qu-b0-jf-b0-48.ucode /lib/firmware/iwlwifi-Quz-c0-jf-b0-48.ucode
sudo modprobe iwlwifi
dmesg | grep iwl
[ 1099.637128] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 43.2.23.17
[ 1099.637276] iwlwifi 0000:00:14.3: loaded firmware version 48.4fa0041f.0 op_mode iwlmvm
[ 1099.641714] iwlwifi 0000:00:14.3: Detected Intel(R) Wireless-AC 9560, REV=0x354
[ 1100.656047] iwlwifi 0000:00:14.3: Collecting data: trigger 15 fired.
[ 1100.656153] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[ 1100.656160] iwlwifi 0000:00:14.3: Status: 0x00000000, count: 92409100
[ 1100.656164] iwlwifi 0000:00:14.3: Loaded firmware version: 48.4fa0041f.0
[ 1100.656731] iwlwifi 0000:00:14.3: SecBoot CPU1 Status: 0x5c9d, CPU2 Status: 0x3
[ 1100.656735] iwlwifi 0000:00:14.3: Failed to start RT ucode: -110
日志里的版本和之前一样。
下载更新的固件:
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.183.2_all.deb
sudo dpkg -i linux*.deb
还是一样,dmesg 显示相同的固件版本和相同的错误。
英特尔固件文件
这里我下载了固件并将文件解压到/lib/firmware
,但 dmesg 显示的日志与之前相同。
有效的解决方案
接受的答案引用了另一个:Ubuntu 18.04 中 Dell Vostro 没有 WiFi,并且第一个命令序列确实起作用并且使得 WiFi 启动而无需在-42
内核中重新启动。
答案1
当启动到 -18 时,请执行以下操作:
sudo apt install --reinstall linux-image-5.3.0-42-generic linux-modules-5.3.0-42-generic linux-headers-5.3.0-42-generic
sudo apt purge backports-iwlwifi-dkms
如果后者没有安装,那么也没有被删除,也没关系;继续即可。
重启到 -42 并显示:
sudo modprobe iwlwifi && dmesg | grep iwl
编辑:还请执行以下操作:
sudo apt install --reinstall linux-generic
sudo apt install --reinstall linux-modules-extra-5.3.0-42-generic
无法运行 INIT ucode:-110
请确保您拥有最新的固件:
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.183.2_all.deb
sudo dpkg -i linux*.deb
接下来,请按照以下步骤操作:Dell Vostro 5490 在 Ubuntu 18.04 中没有 WIFI