常规更新后,wifi 设备停止工作。当我在终端中输入 wifi 时,我得到:
wifi = none (no device)
然后我尝试从 lspci 获取信息:
lspci -vnn | grep 'Network'
并得到
06:00.0 Network controller [0280]: Intel Corporation Wireless 3160 [8086:08b3] (rev 83)
之后,我尝试在互联网上寻找适合我情况的解决方案,在此期间,我了解到我应该保管名下的驱动程序包伊利。以下是我尝试过但没有成功的方法:
modinfo iwlwifi
结果与日志直到固件
filename: /lib/modules/3.13.0-165-generic/updates/dkms/iwlwifi.ko
version: backported from Linux (v3.16.2-0-g62de88e) using backports v3.16.2-1-0-g9d017dd
license: GPL
author: Copyright(c) 2003- 2014 Intel Corporation <[email protected]>
version: in-tree:
description: Intel(R) Wireless WiFi driver for Linux
.
.
.
depends: compat,cfg80211
vermagic: 3.13.0-165-generic SMP mod_unload modversions retpoline
然后我尝试
sudo modprobe iwlwifi
modprobe: ERROR: could not insert 'iwlwifi': Package not installed
modinfo iwlvmv
filename: /lib/modules/3.13.0-165-generic/updates/dkms/iwlmvm.ko
version: backported from Linux (v3.16.2-0-g62de88e) using backports v3.16.2-1-0-g9d017dd
license: GPL
author: Copyright(c) 2003- 2014 Intel Corporation <[email protected]>
version: in-tree:
description: The new Intel(R) wireless AGN driver for Linux
srcversion: 81F5072D244C5BDF8B697D0
depends: iwlwifi,mac80211,compat,cfg80211
vermagic: 3.13.0-165-generic SMP mod_unload modversions retpoline
找出依赖关系,然后针对每个依赖关系我都得到了修改信息和同样的结果sudo modprobe- modprobe:错误:无法插入‘XXXX’:软件包未安装
我也这么做了
sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade
后
sudo apt-get install linux-headers-generic
我明白了
linux-headers-generic is already the newest version.
我真的不知道下一步该怎么办。
答案1
modprobe 的“软件包未安装”暗示模块签名存在问题(Ubuntu 内核附带模块签名检查)。
我不知道上次更新到底出了什么问题,但我通过降级“dkms”包(从 2.2.0.3-1.1ubuntu5.14.04.10 到 2.2.0.3-1.1ubuntu5.14.04.5)解决了这个问题。这也导致 grub 和 shim 包降级。
我怀疑 dkms 2.2.0.3-1.1ubuntu5.14.04.9 也可以工作,但我在 Ubuntu 镜像上找不到该版本的 .deb。
降级 dkms 后还需要重建 iwlwifi 模块:
rm -r /var/lib/dkms/iwlwifi-3.16.2
dkms build iwlwifi-3.16.2/1.0
dkms install iwlwifi-3.16.2/1.0
此后,iwlwifi 模块再次开始为我工作。