我刚刚在电脑上安装了 Linux 16.04 LTS(不是双启动),运行正常,但突然间,WiFi 停止工作了。我尝试了几种可能有帮助的方法(找到驱动程序并尝试安装它们,还有其他几种类似方法),但都不起作用,我陷入了困境。
iwconfig
没有返回无线扩展。
这是我得到的结果lspci -vv
:
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)
Subsystem: Intel Corporation Dual Band Wireless-AC 7265
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 255
Region 0: Memory at b4000000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [c8] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [40] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L0s <4us, L1 <32us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via WAKE#
DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR+, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [140 v1] Device Serial Number c0-b6-f9-ff-ff-f5-ae-a6
Capabilities: [14c v1] Latency Tolerance Reporting
Max snoop latency: 3145728ns
Max no snoop latency: 3145728ns
Capabilities: [154 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=30us PortTPowerOnTime=60us
答案1
无论出于什么原因,您的 Linux 内核都缺少英特尔无线设备的主要驱动程序模块iwlwifi
。如果您更新内核,这个问题可能会得到解决。为此,您需要一个临时的互联网连接。如果您的手机有互联网,您可以使用 USB 将连接绑定到您的笔记本电脑。您也可以使用 USB 转以太网适配器。要更新内核,请运行以下命令
sudo apt install linux-generic
如果你有绝对不可能要将此计算机连接到互联网,以下是使用 USB 棒将内核更新到较新版本的方法。首先前往https://kernel.ubuntu.com/~kernel-ppa/mainline/选择内核 4.4 的最新版本(这是linux-generic
我的 16.04 vm 中推荐的版本)。到目前为止,v4.4.202在显示“Build for amd64 successful”的地方,你将下载四个文件:
- Linux 头文件
- Linux 标头-4.4.202-0404202-generic_4.4.202-0404202.201911160550_amd64.deb
- Linux-映像-未签名-4.4.202-0404202-generic_4.4.202-0404202.201911160550_amd64.deb
- Linux 模块-4.4.202-0404202-generic_4.4.202-0404202.201911160550_amd64.deb
并将它们保存到 USB 记忆棒上。接下来,将它们复制到笔记本电脑的一个目录中,进入终端,浏览到该目录,然后运行
sudo dpkg -i *.deb
然后重启电脑。在 grub 菜单的 Ubuntu 高级选项下,你现在应该可以看到 4.4.202 选项,当你启动到桌面时,你应该有一个工作iwlwifi
模块。如果它没有自动加载,你可以通过 加载它sudo modprobe iwlwifi
。连接后,你现在可以安装它linux-generic
,它将自动更新你的默认内核。