通过 WiFi 对本地路由器的极高 ping

Kaz*_*lfe 14 wireless networking broadcom 16.04

我目前正在运行 Ubuntu 16.04 LTS,我的无线设置遇到了一个非常烦人的问题。偶尔(而且似乎是随机的),我的 ping 会开始飙升并失控:

PING 10.0.2.1 (10.0.2.1) 56(84) bytes of data.
64 bytes from 10.0.2.1: icmp_seq=1 ttl=64 time=367 ms
64 bytes from 10.0.2.1: icmp_seq=2 ttl=64 time=8.48 ms
64 bytes from 10.0.2.1: icmp_seq=3 ttl=64 time=971 ms
64 bytes from 10.0.2.1: icmp_seq=4 ttl=64 time=1.11 ms
64 bytes from 10.0.2.1: icmp_seq=5 ttl=64 time=91.6 ms
64 bytes from 10.0.2.1: icmp_seq=6 ttl=64 time=482 ms
64 bytes from 10.0.2.1: icmp_seq=7 ttl=64 time=1.15 ms
64 bytes from 10.0.2.1: icmp_seq=8 ttl=64 time=131 ms
64 bytes from 10.0.2.1: icmp_seq=9 ttl=64 time=92.6 ms
64 bytes from 10.0.2.1: icmp_seq=10 ttl=64 time=2.72 ms

--- 10.0.2.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9005ms
rtt min/avg/max/mdev = 1.116/215.207/971.833/297.328 ms
Run Code Online (Sandbox Code Playgroud)

我还看到我对路由器的 ping 超过 4000 毫秒的情况:

--- 10.0.2.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9031ms
rtt min/avg/max/mdev = 1425.396/3721.331/5352.349/1087.015 ms, pipe 5
Run Code Online (Sandbox Code Playgroud)

其他 ping 似乎只是完全丢弃数据包:

--- 10.0.2.1 ping statistics ---
60 packets transmitted, 48 received, 20% packet loss, time 71043ms
rtt min/avg/max/mdev = 0.544/2206.796/7108.406/2372.068 ms, pipe 8
Run Code Online (Sandbox Code Playgroud)

否则,系统功能完全正常。如何修复或至少减少这种过度延迟?

lshw 输出如下:

*-network
     description: Wireless interface
     product: BCM4352 802.11ac Wireless Network Adapter
     vendor: Broadcom Corporation
     physical id: 0
     bus info: pci@0000:03:00.0
     logical name: wlan0
     version: 03
     serial: [REDACTED]
     width: 64 bits
     clock: 33MHz
     capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
     configuration: broadcast=yes driver=wl0 driverversion=6.30.223.248 (r487574) ip=10.0.2.71 latency=0 multicast=yes wireless=IEEE 802.11abg
     resources: irq:19 memory:f7a00000-f7a07fff memory:f7800000-f79fffff
Run Code Online (Sandbox Code Playgroud)

Broadcom STA 驱动程序已安装并正在运行。网络上没有其他设备会发生这种情况。

uname -a 返回:

Linux ArcticWolf 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我安装了最新的(已知的)驱动程序:

Package: bcmwl-kernel-source
Version: 6.30.223.248+bdcom-0ubuntu8
Priority: optional
Section: restricted/admin
Source: bcmwl
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Alberto Milone <alberto.milone@canonical.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 8,013 kB
Depends: dkms, linux-libc-dev, libc6-dev
Run Code Online (Sandbox Code Playgroud)

iwconfig 任何给定时间的输出:

wlan0     IEEE 802.11abg  ESSID:"[redacted]"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: [REDACTED]   
          Bit Rate=144 Mb/s   Tx-Power=200 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=51/70  Signal level=-59 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
Run Code Online (Sandbox Code Playgroud)

我偶尔可以通过断开和重新连接无线连接来“干扰”网络​​恢复正常,但在正常运行几分钟后它总是恢复正常。

附近没有其他可能对我的 WiFi 频道造成干扰的无线路由器或设备。路由器固件是最新的,我现在已经尝试重新启动它很多次了。

路由器位于通道 1(并且是通道上的唯一设备),并且正在使用 WPA2-AES。距离没有区别。

这不是路由器或干扰问题,因为我网络上的其他设备运行良好,没有出现相同的症状。

这发生在我测试过的所有网络上(到目前为止),这表明这实际上是我的系统而不是我的路由器的问题。这种情况发生在嘈杂和安静的无线电区域,进一步表明它与干扰无关。

Jer*_*y31 10

由于电源管理似乎是问题所在,此命令将禁用电源管理并防止其重新打开

sudo sed -i 's/wifi.powersave = 3/wifi.powersave = 2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
Run Code Online (Sandbox Code Playgroud)

这个问题是由这个提交给网络管理器 git 引起的

这个关于错误报告的评论告诉我们,使用 wifi.powersave = 3 启用电源管理,使用 2 将禁用它

我们也可以尝试更新版本的 bcmwl-kernel-source

sudo apt-get install linux-headers-$(uname -r) build-essential dkms
wget http://de.archive.ubuntu.com/ubuntu/pool/multiverse/b/broadcom-sta/broadcom-sta-dkms_6.30.223.271-4_all.deb
sudo dpkg -i broadcom-sta-dkms_6.30.223.271-4_all.deb
Run Code Online (Sandbox Code Playgroud)

正如 praseodym在这里推荐的那样