我是一个新的 Linux 用户,并且按照我最近问的这个问题,我在使用 Ubuntu 16.04 的 Intel NUC Skull Canyon 上遇到了极其缓慢且滞后的 Wi-Fi 连接。
我的 NUC PC 的内部 wifi 卡是
英特尔® 双频 Wireless-AC 8260 焊接式,(IEEE 802.11ac 2x2、蓝牙™ 4.2、内置天线、英特尔® 无线显示 6.0)
遵循 chilli555 的明智建议这个比较老的线程,我在终端中运行了以下代码来尝试判断我的 wifi 驱动程序是否是最新的:
sudo modprobe iwlwifi
dmesg | grep iwl
[ 3.709686] iwlwifi 0000:03:00.0: enabling device (0000 -> 0002)
[ 3.712400] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[ 3.712411] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[ 3.712419] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[ 3.728307] iwlwifi 0000:03:00.0: loaded firmware version 21.302800.0 op_mode iwlmvm
[ 3.755937] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[ 3.758382] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[ 3.759172] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[ 3.891732] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[ 3.892692] iwlwifi 0000:03:00.0 wlp3s0: renamed from wlan0
[ 4.421974] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[ 4.422791] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[ 4.555741] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[ 4.556095] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled`
我还使用终端获得了有关我的 wifi 卡的信息转储:
sudo lshw -class network
*-network
description: Wireless interface
product: Wireless 8260
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlp3s0
version: 3a
serial: a0:c5:89:14:2b:07
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.8.0-58-generic firmware=21.302800.0 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:127 memory:dc000000-dc001fff
*-network
description: Ethernet interface
product: Ethernet Connection (2) I219-LM
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: eno1
version: 31
serial: 00:1f:c6:9c:4d:5b
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.8-4 latency=0 link=no multicast=yes port=twisted pair
resources: irq:124 memory:dc200000-dc21ffff`
我的 wifi 驱动程序是否已过时?我该如何更新它们?这样的更新是否能解决我的连接问题?根据上述问题,我将研究其他解决方案,例如 BIOS 更新、WLAN USB 加密狗和以太网电缆。
答案1
碰巧的是,我也拥有一台安装了 Ubuntu 的 NUC。虽然更新 BIOS 不是主题,但我还是会简要讨论一下。从英特尔下载特定于您的 NUC 型号的 .bio 文件(不是 .exe),将其放在 USB 密钥的顶层;也就是说,不是文件夹中,然后在 BIOS 中按 F7 - 更新 BIOS 并继续。我昨天在我的电脑上这样做了。
话虽如此,我怀疑它是否会对您的无线速度和稳定性产生实质性影响。
我对 NUC 的无线功能存有疑虑,因为天线被限制在一个很小的区域内。我的 NUC 没有无线功能,所以我无法报告我的体验。如果您和我一样有以太网选项,我推荐它。
在您的 dmesg 中,我们看到:
[ 3.712400] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[ 3.712411] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[ 3.712419] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[ 3.728307] iwlwifi 0000:03:00.0: loaded firmware version 21.302800.0 op_mode iwlmvm
用人的话来说,驱动程序查找 -24,没有找到,然后查找 -23 等等,最后找到并加载了 -21。Ubuntu 的最新 linux-firmware 包仅包含 -21。有些网站包含 -22、-23、-24 及更高版本。它们是否有用只能猜测。尝试一下是免费的。从终端:
cd /lib/firmware
sudo wget https://github.com/wkennington/linux-firmware/raw/master/iwlwifi-8000C-22.ucode
sudo wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-23.ucode
sudo wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-24.ucode
重启。检查加载了哪些固件:
dmesg | grep iwl
有改善吗?
接下来,检查路由器中的设置。首选 WPA2-AES;而不是任何 WPA 和 WPA2 混合模式,当然也不是 TKIP。其次,如果您的路由器支持 N 速度,那么使用 2.4 GHz 频段的 20 MHz 信道宽度(而不是自动 20/40 MHz)可能会获得更好的连接性,尽管它可能会影响 N 速度。使用固定信道(1、6 或 11)比自动信道选择更幸运。此外,请确保路由器未设置为仅使用 N 速度;首选自动 B、G 和 N。进行这些更改后,重新启动路由器。
接下来,我建议明确设置你的监管范围。检查你的:
sudo iw reg get
如果您选择 00,则这是一个通用的设置。请在此处查找您的设置:http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2然后暂时设置一下:
sudo iw reg set IS
当然,如果不是冰岛,请替换您的国家代码。永久设置它:
gksudo gedit /etc/default/crda
如果您没有文本编辑器 gedit,请使用 nano 或 Kate 或 leafpad。
将最后一行改为:
REGDOMAIN=IS
仔细校对,保存并关闭文本编辑器。
接下来,我在网络管理器中将 IPv6 设置为忽略:http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/netconfig/network-connections-ipv6-ignore.png 此示例适用于以太网,但您想要无线。
如果这些更改没有帮助,请尝试:
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=8
如果有帮助,请使其永久生效:
sudo -i
echo "options iwlwifi 11n_disable=8" >> /etc/modprobe.d/iwlwifi.conf
exit
如果有必要,我稍后会解决外部 USB 适配器的问题。