禁用 802.11n 稳定但速度慢,启用速度快但不稳定

禁用 802.11n 稳定但速度慢,启用速度快但不稳定

我最近从 Windows 10 切换到 Ubuntu 16.04。在了解到 17.04 实际上支持 KabyLake CPU 后,我彻底清空了硬盘并切换到 17.04。

我有一台戴尔 Inspiron 15 5000 系列,配备英特尔无线 3165。

当我使用 Windows 10 时,WiFi 可以全速完美运行,不会断开连接,但自从切换到 Ubuntu 后,我的 WiFi 连接速度非常慢。我在 Google 上搜索并找到了各种建议的解决方案,例如忽略 IPv6、禁用/启用 802.11n。

我尝试的所有方法都不起作用,除了更改 中的 802.11n 值外,没有任何效果/etc/modprobe.d/iwlwifi.conf

目前此文件有options iwlwifi 11n_disable=1,但测试速度https://fast.com/给我大约 2-4 Mbps。将值更改为 8 可使我的 WiFi 全速运行(60-80 Mbpshttps://fast.com/),但在短暂不活动之后它停止工作(没有断开连接,但 ping 8.8.8.8 无法解析主机并且网页无法加载),但经过大约一分钟的尝试后,它似乎又开始全速工作。

调试 wifi 信息 [如果有任何遗漏请告诉我]

sudo lshw -class network

*-network                 
       description: Wireless interface
       product: Wireless 3165
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlp1s0
       version: 79
       serial: 70:1c:e7:e2:80:0b
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.10.0-28-generic firmware=22.391740.0 ip=20.0.0.109 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:291 memory:d1000000-d1001fff
  *-network:0
       description: Ethernet interface
       physical id: 2
       logical name: br-2e55f403ebd6
       serial: 02:42:45:45:7d:eb
       capabilities: ethernet physical
       configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.19.0.1 link=no multicast=yes
  *-network:1
       description: Ethernet interface
       physical id: 3
       logical name: br-a78071d77c33
       serial: 02:42:1a:5c:4b:f6
       capabilities: ethernet physical
       configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.18.0.1 link=no multicast=yes
  *-network:2
       description: Ethernet interface
       physical id: 4
       logical name: docker0
       serial: 02:42:16:38:8a:cc
       capabilities: ethernet physical
       configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.17.0.1 link=no multicast=yes

lspci

00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 02)
00:13.0 Non-VGA unclassified device: Intel Corporation Device 9d35 (rev 21)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d58 (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Intel Corporation Wireless 3165 (rev 79)

iwconfig

wlp1s0    IEEE 802.11  ESSID:"OL5"  
          Mode:Managed  Frequency:5.18 GHz  
          Bit Rate=433.3 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=61/70  Signal level=-49 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:86   Missed beacon:0

答案1

笔记:恢复/etc/modprobe.d/iwlwifi.conf原状。

笔记:检查加密是否设置为 WPA2-高级加密标准 (AES)(不是 WPA/WPA2 也不是 TKIP)在您的路由器中。

您的问题可能出在 DSL 连接的 MTU 设置上。

Ubuntu 的网络配置中有一个 MTU 设置,而路由器中有一个 WAN MTU 设置。

对于 DSL,常见的 MTU 设置是 1492。请先在 Ubuntu 中的无线网络配置文件中尝试此值。

要确定正确的设置,请从所有 MTU 设置 = 1500 和 VPN = 关闭开始。(VPN 需要不同的测试)。

在终端:

ping [-c count] [-M do] [-s packet_size] [host]

使用的选项是:

  • c count:ping 次数
  • M hint:选择路径 MTU 发现策略。可以是do(禁止碎片,即使是本地碎片),want(进行 PMTU 发现,当数据包大小较大时在本地进行碎片),或dont(不设置 DF 标志)。
  • s packet_size:指定要发送的数据字节数。

您应该始终从 1472 开始,然后每次减少 10。一旦收到回复,就增加 1,直到收到碎片数据包。取该值(最后一个好值)并将 28 添加到该值以考虑各种 TCP/IP 标头。例如,假设 1452 是合适的数据包大小(您第一次收到对 ping 的 ICMP 回复)。实际的 MTU 大小将是 1480,这是我们正在使用的网络的最佳值。

ping -c 4 -M do -s 1472 8.8.8.8 # this will probably show fragmentation

ping -c 4 -M do -s 1462 8.8.8.8 # may show fragmentation

ping -c 4 -M do -s 1452 8.8.8.8 # no fragmentation?

ping -c 4 -M do -s 1453 8.8.8.8 # still no fragmentation?

参考:如何使用 ICMP ping 确定适当的 MTU 大小

相关内容