奇怪的是,在我的 Ubuntu 系统上(我应该警告你,我正在使用 i3),互联网不再工作。当我第一次开始使用 i3 时,它还可以工作。事实上,在开始专门使用 i3 之后,我想我已经重启了三次,然后我再也无法连接到 WiFi。我知道如何在 i3 下启动互联网,我用nmtui
它来查找网络(我正在使用 WiFi,因此这特别重要,因为我需要提供密码),激活连接,网络就应该在那里。在第一次激活连接后,我希望这不再是必要的,即使在多次重启之后,因为它应该自动连接到 WiFi。
在我安装的其他也使用 i3 的发行版上(例如我的 Debian 系统),WiFi 工作正常(网络也一样!)。在 Ubuntu 下,我尝试重新激活 WiFi 连接,运行modprobe -a wl
(因为我使用 BCM4352 芯片),没有返回任何错误,然后运行depmod -a && modprobe -a wl
。仍然看不到解决方案。我唯一能想到的就是重新生成 resolv.conf,我已经在 DuckDuckGo 上搜索了如何在 Ubuntu 17.10 上执行此操作(这里有一个针对 systemd 之前的 Ubuntu 版本的答案),但我什么也没找到。/etc/resolv.conf
确实存在。
https://pastebin.com/vw0AWiM0是此 Ubuntu 系统上 iwconfig 的输出。iwlist wlo1 scan
输出返回:https://pastebin.com/ga31DeTd。
答案1
调试 WLAN 连接
如果 WLAN 无法正常工作,并且网络管理器的 GUI 前端也无济于事。首先检查硬件是否正常工作,方法是查看dmesg
$ dmesg
...
[ 13.899555] wlan0: Broadcom BCM43b1 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334)
...
[ 14.845234] wl 0000:07:00.0 wlo1: renamed from wlan0
...
如果有 wlan 设备,则硬件驱动程序/模块正在运行。
安装无线工具并查看接口:
安装工具无线工具:
$ sudo apt-get install wireless-tools
检查 WLAN 接口:
$ sudo iwconfig
wlo1 IEEE 802.11 ESSID:"NetworkSSID"
Mode:Managed Frequency:5.56 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=400 Mb/s Tx-Power=200 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=69/70 Signal level=-41 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
在当前接口上扫描:
$ sudo iwlist wlo1 scan
wlo1 Scan completed :
Cell 01 - Address: XX:XX:XX:XX:XX:XX
Channel:112
Frequency:5.56 GHz
Quality=69/70 Signal level=-41 dBm
Encryption key:on
ESSID:"NetworkSSID"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 16ms ago
...
看来 WLAN 设备上未激活加密。请尝试通过以下方式手动设置密钥:
$ iwconfig wlo1 key s:secretkey
阅读iwconfig 手册页正确的语法!
对于错误信息
Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlo1 ; Invalid argument.
查看这在超级用户上发帖。这可能会有所帮助。
为了测试无线连接,我建议使用手动配置/etc/network/interfaces
auto wlo1
iface wlo1 inet dhcp
wpa-ssid <ssid>
wpa-psk <password>
你可以使用以下方法测试它:
$ ifup wlo1
$ ifdown wlo1