要使其正常工作的选项似乎是无限的,我不知道从哪里开始!
什么被认为是“最佳实践”?在时间、精力和对我的Ubuntu安装造成最小风险方面,应该按照什么顺序尝试这些事情?请帮助我节省时间,并指导我逐步操作。
这个答案仅适用于完全非功能性的无线局域网。它并不涉及稳定性/性能问题或者部分工作的情况。然而,如果你遇到了这些问题并正在寻找其他选项,以下一些步骤可能会对你有所帮助。
在本答案中,我假设你已经熟悉至少以下任务:在终端中运行命令和安装常规的Ubuntu软件包。如果你对这些基本步骤不熟悉,建议先阅读this和this。
将机器连接到互联网。这样做会使执行步骤变得更容易,并且可以使用剪贴板进行操作。
如果另一个网络卡正常工作,那么这应该很容易。如果您的唯一一张网卡在这个阶段出现故障,请寻找其他解决方案并发挥创造力,例如使用USB有线网络适配器或从朋友或邻居那里借用一个可用的WiFi适配器。
确保已安装以下软件包:lshw
,rfkill
。
更新您的系统。通过安装所有最新(常规)系统更新,您的计算机上应该已经安装了开发人员在发布后发布的所有错误修复程序。不要忘记在此之后重新启动系统。还可以参考如何更新Ubuntu?
应用所有更新后,请重新启动。可能在此阶段已经可以正常工作。如果还不能,请继续下一步。
sudo lshw -C network
。
您可能需要先安装lshw
。*-network UNCLAIMED
,请按照安装(更新)驱动程序中的步骤进行操作。
如果列出的是*-network
(没有“Unclaimed”),下面关于驱动程序的输出可能与后续步骤有关,例如configuration: broadcast=yes driver=iwlwifi
。
如果您的设备根本没有列出,请尝试确定确切的硬件中的其他步骤。rfkill list
。这将列出无线电杀死开关的状态。示例输出:Hard blocked
上看到yes
:请参考您的笔记本手册,查找无线局域网的硬件开关。
如果在Soft blocked
上看到yes
:笔记本上的热键可能有助于激活它,或者在网络管理器小程序中点击“启用无线”。如果无法解除软阻塞,请运行sudo rfkill unblock all
。
如果没有列出任何杀死开关:这可能不适用于您的设备。通常只有移动电脑配备了杀死开关。以下是一些明显、合理且无害的步骤,避免使用尽量避免的事项中列出的步骤。
multiverse
,可以在如何启用“multiverse”源?中找到相关信息。linux-firmware
和linux-firmware-nonfree
软件包,例如sudo apt-get install linux-firmware linux-firmware-nonfree
,然后重新启动。linux-backports-modules-cw-3.6-quantal-generic
。在不久的将来,可能会发布一个3.7
版本。sudo apt-get install linux-backports-modules-cw-3.6-quantal-generic
(适用于Quantal),或sudo apt-get install linux-backports-modules-cw-3.6-precise-generic
(适用于Precise)。然后重新启动。如果您使用的是LTS版本(例如Precise或Lucid),将提供所有下一个版本的后端内核作为软件包。在撰写本文时,Quantal是Precise之后的最新版本,该软件包是linux-image-generic-lts-quantal
,并引导到新的内核。
kernel.ubuntu.com
下载部分,并找到最新稳定版本(例如,撰写本文时的v3.7.1-raring
)。amd64
或i386
)的所有.deb
文件,以及带有all
的文件。cd Downloads
sudo dpkg -i linux-headers-
确定硬件的确切型号
您所拥有的产品可能是使用与您问题完全无关的零售名称销售的。大多数供应商只是使用来自Broadcom、Atheros、Ralink或Intel等制造商的芯片组,而产品本身可能不带有这个名称。一个例子是:ThinkPad 11a/b/g/n Wireless LAN Mini Express Adapter实际上可能只是一个Atheros AR5418
。Thinkpad的重新品牌通常不会影响Linux中的硬件支持,但使用的芯片组会。因此,识别芯片组非常重要。
PCI和集成设备(例如移动PC):
lspci -nn | grep -i network
USB设备:
lsusb
如果您在此列表中无法识别它:
- 拔下设备。
- 打开终端并运行
sudo tail -n 0 -f /var/log/syslog
- 重新插入设备,并给内核/设备几秒钟来初始化。
- 按下Ctrl+C停止命令。输出应该有助于从列表中识别它。
- 检查是否有提到
unable to enumerate USB device
的输出。如果有这样的输出,说明您的设备在USB级别上已经无法通信。可能是硬件问题:检查断裂的电缆/连接器、电源问题、损坏的集线器、其他损坏的硬件。此时不要费心处理驱动程序-先修复USB通信问题。
如果您的硬件未列出,这可能与适配器无关,而是一般的PCI/USB总线错误。这被认为超出了WiFi问题的范围。请注意,一些笔记本电脑具有连接到内部USB端口的集成WiFi适配器,因此在这种情况下可能会列为USB。
示例输出:
$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. ...
^^^^-- product ID
^^^^------- vendor ID
$ lspci -nn | grep -i network
04:00.0 Network controller [0280]: Intel Corporation [...] [8086:4238] (rev 3e)
vendor ID --^^^^
product ID -------^^^^
使用Google的技巧
- 使用命令中指定的数字产品/供应商ID。
- 在关键词中加上
linux
,而不是Ubuntu
。
- 尝试使用设备输出中列出的芯片组名称来识别硬件。例如:
AR9285
、BCM4311
、Intel
+6300
。
- 避免使用与硬件支持无关的关键词。例如,桌面环境与此无关,所以请使用
Ubuntu
而不是Lubuntu
。
- 尽量关注有关设备的“常规”信息,而不是特定解决方案,例如“此设备需要固件”或用户报告称其在之前的版本中可以直接使用。
我尝试了所有选项都没有成功。在新问题中应提供什么信息?
在发布新问题之前,请使用识别确切硬件中的关键词搜索本网站。
- 此答案中选项的所有相关(意外或错误)输出。
- 在“确定精确硬件”部分完成的步骤的相关输出。
- 您正在运行的内核以及您尝试过的版本。使用
uname -r
命令来确定您的内核版本。
- 您尝试过的其他Ubuntu版本。
如有可能,请避免以下事项
从源代码编译(例如运行make
,sudo make install
)。
- 这可能会覆盖系统文件并混淆您的软件包管理。以这种方式安装可能有效,但如果软件包管理更新再次覆盖文件,则随时可能出现故障。
- 这可能导致意外错误,对于新手用户来说可能很难解决。
- 如果您想撤消
sudo make install
所做的所有更改,这将是困难的。
Ndiswrapper方法。
- 这个“包装器”用于Windows驱动程序,只应作为最后的选择尝试,因为在Linux上模拟Windows环境以获取硬件驱动程序非常低效。
- 稳定性和性能通常报告较低。
需要特别注意的硬件
- Broadcom BCM43xx设备。请参考this answer中关于使这些设备工作的详细教程。
sudo apt search (软件包名称)
在您的发行版软件包中搜索,看看是否显示了可能被重命名更新的软件包。 - Yokailshw
和rfkill
已经安装。在2021年无需再安装。linux-firmware已默认安装,非自由软件不再可用。linux-backports-modules-cw也不再可用。最后,ndiswrapper已被弃用。 - chili555在我的情况下,我有一台旧笔记本电脑,我在上面安装了Lubuntu 19。正确的无线网卡驱动程序已经安装好了。我可以看到所有的无线网络,但无法连接上它们。通过有线电缆连接到互联网则可以正常工作。
在尝试了很多不同的方法后仍然无法解决问题后,我发现一些(L?)ubuntu 19的用户也遇到了相同的问题,并建议安装Lubuntu 16,于是我就这样做了。我的无线适配器(以及触摸板)现在都可以直接使用了。