Wifi

Wifi 停止工作,“未知符號 wireless_nlevent_flush”

  • March 23, 2016

截至今天下午,我的戴爾 XPS 13 上的 wifi 停止工作(執行核心 4.4.0-1-amd64 的 Debian sid)。lspci檢測到我的 wifi 卡,但ifconfig -a只顯示環回介面。

我嘗試插入我最近在這台筆記型電腦上使用的 USB wifi 加密狗,但這也沒有被辨識為網路介面。在啟動期間和插入 USB wifi 加密狗後,以下消息都會出現在dmesg

cfg80211: Unknown symbol wireless_nlevent_flush (err 0)

cfg80211聽起來它將用於配置 802.11(即 wifi),所以我懷疑這個核心模組沒有正確載入。事實上,如果我嘗試modprobe cfg80211收到以下錯誤:

modprobe: ERROR: could not insert 'cfg80211':? Unknown symbol in module, or unknown parameter (see dmesg)

並檢查dmesg我看到與上面相同的消息。

Google搜尋"unknown symbol wireless_nlevent_flush"產生零結果,儘管Google搜尋wireless_nlevent_flush似乎暗示它與wext某種方式有關。一頁建議rfkill必須在之前載入cfg80211,但rfkill已經載入。我將非常感謝任何建議。

您的cfg80211模組和正在執行的核心不兼容。核心中的內部程式介面變化相當頻繁,因此當您升級核心時,您需要保持模組同步。(例外是一些樹外模組,它們專門維護以在大量核心版本中工作。)

如果您在上次重新啟動後升級了核心包,您可能正在執行的核心與磁碟上的核心版本不再匹配,因此modprobe正在嘗試為更新的核心載入模組。確保不要解除安裝linux-image-…與正在執行的核心對應的軟體包。您可以使用以下命令檢查正在執行的核心版本uname -r;使用 Debian 的包命名約定,linux-image-$(uname -r)應該安裝包。

如果您已刪除該軟體包,則需要重新安裝或重新啟動。要重新安裝,請檢查您是否還有/var/cache/apt/archives. 如果沒有,請在snapshot.debian.org上查找包(版本與包的版本匹配linux-image-…,即 的第二列dpkg -l,並不總是名稱中包含的版本)。

引用自:https://unix.stackexchange.com/questions/271619