在安装 Ubuntu 时,它完美地检测到了我的无线适配器,并能够毫无问题地连接到它。然而,安装后,它不再检测到无线适配器。
首先我尝试设置 etc/network/interfaces:
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.2.30
netmask 255.255.255.0
gateway 192.168.2.254
wpa-ssid IDHERE
wpa-psk PASSHERE
dns-nameservers 8.8.8.8 192.168.2.254
然后我尝试了以下改变:
sudo ifdown wlan0 && sudo ifup -v wlan0
其结果是:
wpa_supplicant:/sbin/wpa_supplicant 守护进程启动失败
这并没有告诉我太多所以我尝试了:
sudo /etc/init.d/networking restart
这导致出现错误,告诉我运行:
journalctl -xe
在这里我得到了错误:
无法读取接口 wlan0 标志:没有这样的设备
WEXT:无法设置接口‘wlan0’ UP
wlan0:无法初始化驱动程序接口
由于我无法使用有线连接(端口损坏),我开始研究如何从原始 CD(在我的情况下是 USB)安装驱动程序。我在这里找到了这个问题:
但是,答案谈到的是 Ubuntu 15.04。命名目录不再存在,我在磁盘上找不到任何与之类似的东西。因此,在找到大量 Google 答案讨论如何使用 UI 或有线连接(这两种方式对我来说都毫无用处)后,我真的不知所措,请你们帮忙。
答案1
以前,网络接口的命名方式并不一致。如果您有一个名为 的接口eth0
,然后又添加了另一个,那么第一个接口可能会eth1
突然被调用。我们需要一种不依赖于其他接口是否存在而仅依赖于硬件连接的方式来命名网络接口。
systemd
这是几年前发布的某个版本提供的。它被称为“可预测的网络接口名称”(尽管“持久”可能是更好的限定,因为名称并不是那么容易预测)。接口将根据 BIOS 信息获得其名称,并且名称不会改变,直到您取出接口并将其放入不同的硬件插槽中。
此时,您的安装会遇到可预测的接口名称问题。您的无线网卡已经叫了wlan0
好几年了,但现在突然有了另一个名字。您怎么知道的?
sudo lshw -class network
这将显示一个以“*-network”开头的段落,其中包含有关无线网卡的各种详细信息(以及有关有线接口的另一段)。您需要查看“逻辑名称”。在您的例子中,它已更改为wlp3s0
。
将配置文件中的接口名称从 更改为wlan0
,wlp3s0
就完成了。