強制重啟導致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
?