我的无线网卡一直有问题,无论是在 Windows 还是 Ubuntu 上,但在 Ubuntu 上,我的问题归结为:笔记本电脑可以正常连接到 Wi-Fi,可以正确进行身份验证等一切操作,但却无法连接到互联网,甚至无法 ping 通。
在与技术支持人员合作了几个小时后,我们终于弄清楚了,出于某种原因,网卡无法在 5GHz 频率上发送任何内容。它可以接收帧并声称发送它们,但数据包嗅探器从未看到它们。奇怪的是,2.4GHz 网络似乎工作正常。我所在的大学和宿舍的大多数接入点都是混合的,但它们强制使用 5GHz 以容纳尽可能多的人。
我很快就要送我的电脑去维修了,但在此之前我需要一个快速解决方案。如果可能的话,我想停用网卡的 5GHz 功能,以便它只广播 2.4GHz 的配置并默认使用它,这样我就可以连接到我实际可以使用的网络。我不介意失去连接到仅 5GHz 网络的能力,我可能会彻底检查我的整个设置,但在此之前,我的问题是:
如何禁用无线网卡的 5GHz 功能,以便其仅通过 2.4GHz 频率连接?
一些(希望有用)命令转储:
ash@earia:~$ sudo lshw -class network
*-network
description: Wireless interface
product: RTL8821AE 802.11ac PCIe Wireless Network Adapter
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 00
serial: b0:c0:90:ac:5c:8d
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=rtl8821ae driverversion=4.4.0-57-generic firmware=N/A ip=10.26.8.222 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
resources: irq:130 ioport:d000(size=256) memory:df200000-df203fff
*-network
description: Ethernet interface
[...]
ash@earia:~$ lspci | grep 'Network\|Ethernet\|Wireless'
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821AE 802.11ac PCIe Wireless Network Adapter
03:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
ash@earia:~$ modinfo iwlwifi | grep parm
parm: swcrypto:using crypto in software (default 0 [hardware]) (int)
parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm: amsdu_size_8K:enable 8K amsdu size (default 0) (int)
parm: fw_restart:restart firmware in case of error (default true) (bool)
parm: antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int)
parm: nvm_file:NVM file name (charp)
parm: d0i3_disable:disable d0i3 functionality (default: Y) (bool)
parm: lar_disable:disable LAR functionality (default: N) (bool)
parm: uapsd_disable:disable U-APSD functionality (default: Y) (bool)
parm: bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm: led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm: power_save:enable WiFi power management (default: disable) (bool)
parm: power_level:default power save level (range from 1 - 5, default: 1) (int)
parm: fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool)
ash@earia:~$ modinfo rtl8821ae | grep parm
parm: swenc:Set to 1 for software crypto (default 0)
parm: ips:Set to 0 to not use link power save (default 1)
parm: swlps:Set to 1 to use SW control power save (default 0)
parm: fwlps:Set to 1 to use FW control power save (default 1)
parm: msi:Set to 1 to use MSI interrupts mode (default 1)
parm: debug:Set debug level (0-5) (default 0) (int)
parm: disable_watchdog:Set to 1 to disable the watchdog (default 0)
parm: int_clear:Set to 0 to disable interrupt clear before set (default 1)
提前致谢!
答案1
我不知道有什么方法可以停用无线设备的 5 gHz 通道。也许我们可以研究驱动程序代码并最终推断出它。
但是,您对快速解决方案感兴趣,因为“......我可能会彻底检查我的整个设置......”。
网络管理器包含一种忽略某些设备的方法。我建议您运行:
sudo iwlist scan
找到 5 gHz 接入点的 MAC 地址。下面是我的机器的扫描示例,作为示例:
wlp3s0 Scan completed :
Cell 01 - Address: XX:2B:B0:DC:45:XX
Channel:149
Frequency:5.745 GHz (Channel 149)
Quality=60/70 Signal level=-50 dBm
Encryption key:on
ESSID:"GBR5"
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
获得列表后,进行编辑/etc/NetworkManager/NetworkManager.conf
以添加新行:
unmanaged-devices=mac:xx:2b:b0:dc:45:xx
您应该添加所有要忽略的设备,并以分号分隔。以下是手册页中的示例:
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4
我注意到地址是大写还是小写显然没有什么区别。
编辑完成后,重新启动 NM:
sudo service network-manager restart
有改善吗?