强制重启导致Ubuntu24.04LTS amd的WIFI无法使用的解决方案
前言
我按下了<ctrl>+<alt>+<prtsc>
组合键,然后按住<ctrl>+<alt>
不放,让我的死机的图形化的Ubuntu强制重启,然后再次打开发现,我的ubuntu告诉我:
NO Wi-Fi Adapter Found
非常好,于是我经历了n++次查询,才把这个问题解决掉,这花费了我整整一个下午的时间。
我想我有必要记录我如何修复这个tricky问题的,我本来可以在这个下午做很多事情的,为了解决这个问题让我一个下午白忙活。
Note:
-
没有配图,因为不太需要,如有必要,则是mermaid表示
-
screenfetch输出的部分系统信息如下
OS: Ubuntu 24.04 noble Kernel: x86_64 Linux 6.14.0-28-generic Shell: bash 5.2.21 DE: GNOME 46.7 WM: Mutter WM Theme: Adwaita
-
网卡使用
lspci -nn | grep -i network
得到结果如下02:00.0 Network controller [0280]: Intel Corporation Wireless 8265 / 8275 [8086:24fd] (rev 78)
实际上在Intel的名称是Intel® Dual Band Wireless-AC 8265
-
双系统,Win10+Ubuntu
-
已知网卡是能被检测到的
文章目录
- 强制重启导致Ubuntu24.04LTS amd的WIFI无法使用的解决方案
- 前言
- 问题解决思路
- 重装模块
- 下载`linux-modules-extra`包
- 参考资料
- 相似问题
- 官方文档
问题解决思路
网卡因为强制重启完蛋了,怎么办,那先检索一下有无解决方案,第一个思路是直接搜,于是得到下面的结果
-
Wifi Intel Dual Band Wireless-AC 8265 not detected in ubuntu 24.04 LTS - HP EliteBook x360 1030 G8
No Wi-Fi adapter found / My intel Wireless 8265 / 8275 is UNCLAIMED in “lshw -c network”
- 我确实是双系统,一个解决方案说是禁用快速启动,我照做,对我的情况无用,尽管一些人说这是有用的
- 另一个解决方案是按电源键强制关闭,我没试,因为我就是强关完蛋的
- 还有说是自己去下载驱动和安装驱动的,我采用了这个方式,尽管也没有解决我的问题,后面我会说是怎么个情况
- 还有一个问题贴了个链接No wifi Network show on select Wifi network on UBUNTU 22.04,这个解决方案是加配置,但是,我的问题是网卡能检测到,但是不能用,更怀疑是驱动的问题,而不是配置的问题,没有采用尝试
-
采用了下载安装驱动的思路,在Wifi Intel Dual Band Wireless-AC 8265 not detected in ubuntu 24.04 LTS - HP EliteBook x360 1030 G8有提到,intel官方的相关文档有这个驱动,那就去看看Linux* Support for Intel® Wireless Adapters,然后会发现一个有意思的事情
Intel wireless drivers are part of the upstream Linux* kernel. They’re available through the regular channels, distributions, or the Linux* kernel archives. Please refer to the table below for the minimum kernel version required for each Intel wireless product.
英特尔无线驱动程序是上游 Linux* 内核的一部分。它们可通过常规渠道、发行版或 Linux* 内核存档获得。请参阅下表,了解每个英特尔无线产品所需的最低内核版本。
换而言之,英特尔的无线驱动,比如网卡驱动是直接包含在Linux内核里的(这也解释了为什么我过去Ubuntu能拆箱即用,Windows还需要先下驱动才行的情况),事后我分析的时候是可以推断,我们多半就是内核这个模块挂了,得想办法去装回这个模块
-
但当时我没意识到,认为或许是Wi-Fi固件的问题,于是去https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/,找到那个iwlwifi-8265-36.ucode下载后拷贝到了/lib/firmware中,跟Wifi Intel Dual Band Wireless-AC 8265 not detected in ubuntu 24.04 LTS - HP EliteBook x360 1030 G8作者说的一样,这样没用。
回到正轨,现在的情况是无线网卡那个模块挂了,我需要去重装这个模块,该怎么做呢?
重装模块
既然英特尔无线驱动程序是Linux内核的一部分,那么就需要确定这个模块是叫啥了。
据wireless.wiki.kernel.org/en/users/drivers/iwlwifi可知,这个模块叫iwlwifi。
那么问题就会变成**怎么在ubuntu 24.04 LTS noble重装iwlwifi模块**。
可能有的读者对于由这个页面可以推出模块名称是iwlwifi还有一点疑虑,我们做下实践吧
前面我们不是拿到了网卡的信息吗
02:00.0 Network controller [0280]: Intel Corporation Wireless 8265 / 8275 [8086:24fd] (rev 78)
前面的
02
是总线号(Bus Number),00
是设备号(Device Number),0
是功能号(Function Number)那么我们就可以去
/sys/bus/pci/devices/
下找到我们的网卡,对应的是0000:02:00.0
,我们只需要cat modalias
,就可以拿到我们网卡的硬件信息的格式化表示pci:xxx
然后我们就可以拿着这个pci去查询它依赖的模块
modprobe --show-depends pci:xxx
在已经修复问题的ubuntu系统上,可以看到下面的信息,这里我们就可以看到
iwlwifi.ko.zst
insmod /lib/modules/6.14.0-28-generic/kernel/net/wireless/cfg80211.ko.zst
insmod /lib/modules/6.14.0-28-generic/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.zst然后我们需要确定包名,在已经修复问题的ubuntu系统上使用
dpkg -S iwlwifi.ko.zst
和dpkg -S cfg80211.ko.zst
可以查到它们在linux-modules-extra-6.14.0-28-generic
下linux-modules-extra-6.14.0-28-generic: /lib/modules/6.14.0-28-generic/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.zst
linux-modules-extra-6.14.0-28-generic: /lib/modules/6.14.0-28-generic/kernel/net/wireless/cfg80211.ko.zst
回归正题,继续检索,按照What is the linux-image-extra package for and do I need it?所述
linux-image-extras
now contains many drivers required for desktops.
我应该下载linux-image-extras
,但是按照How can I resolve this problem : Unable to locate package linux-image-extra-4.15.0-29-generic所述
linux-image-generic
should already install the associatedlinux-image-extra
package, but the name has been changed tolinux-modules-extra
. Try this to upgrade to the latest kernel:sudo apt update sudo apt upgrade sudo apt install --reinstall linux-image-generic
我应该下载linux-modules-extra
包,因为名称改了(至于哪里记录了改了这件事,不知道)来解决这个问题。
理论上,重装iwlwifi这个模块还有其他方法,但是我没有尝试过,本博客仅提供一种个人使用后可行的方案
下载linux-modules-extra
包
这个嘛,我需要下载linux-modules-extra
包,由于我的ubuntu系统的网络完蛋,且USB共享网络无效,故只能切Windows把需要的包从ubuntu官方下载下来
不然就直接执行下面的命令了
sudo apt update sudo apt upgrade sudo apt install --reinstall linux-image-generic
内核版本为6.14.0-28-generic
,检索选择noble
和amd64
,检索linux-modules-extra-6.14.0-28
,即linux-modules-extra-6.14.0-28-generic
发现它有依赖,好,那么下载依赖wireless-regdb和linux-modules-6.14.0-28-generic
实际安装要一起安装,又报提示(提示信息没记),说要,hearders,那就下linux-headers-6.14.0-28-generic
又有一堆依赖需要下,看起来应该不会缺,但是linux-hwe-6.14-headers-6.14.0-28可能缺,apt search
看一下,发现有,不需要
那么只需把linux-modules-6.14.0-28-generic
,linux-modules-extra-6.14.0-28-generic
以及linux-headers-6.14.0-28-generic
用dpkg -i
下载安装上就行。
sudo reboot
后开机,有网,解决。
参考资料
相似问题
- Wifi Intel Dual Band Wireless-AC 8265 not detected in ubuntu 24.04 LTS - HP EliteBook x360 1030 G8
- No Wi-Fi adapter found / My intel Wireless 8265 / 8275 is UNCLAIMED in “lshw -c network”
- No wifi Network show on select Wifi network on UBUNTU 22.04
- What is the linux-image-extra package for and do I need it?
- How can I resolve this problem : Unable to locate package linux-image-extra-4.15.0-29-generic
官方文档
- Linux* Support for Intel® Wireless Adapters
- wireless.wiki.kernel.org/en/users/drivers/iwlwifi
- https://wiki.debian.org/apt-file