我在台式机上运行 10.10,有两个路由器:第一个连接到互联网并为我的设备提供 DHCP 地址,第二个是家里的 WiFi LAN。两个路由器都运行 Tomato 固件。
我的问题是,每当我在桌面上播放音乐(使用 MPD/ncmpcpp)或视频(Totem 或 VLC)时,conky 都会报告我的上传速度约为 200Kb/s,并且我的 WiFi LAN 会断开。只要我停止 MPD 或 VLC,网络就会恢复。
我该如何解决这个问题?
编辑:有趣的是,当我使用 Skype 时,LAN 保持开启
编辑2:按照ijk的建议后,wireshark显示端口46560已被淹没。lsof显示它是pulseaudio:
pulseaudi 2190 jason 39u IPv4 14110 0t0 UDP mybox:56751->224.0.0.56:46560
看起来这是一个错误:https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/411688
更新 解决方案,从一个粗略的记忆来看,是安装并打开脉冲音频控制设置并禁用网络广播 - 这将阻止脉冲充斥您的网络。
答案1
OP 找到了解决方案。
来自一条评论:
修复方法是安装 paprefs 并禁用 Multicast/RTP
从对问题的编辑:
解决方案,从一个粗略的记忆来看,是安装并打开脉冲音频控制设置并禁用网络广播 - 这将阻止脉冲充斥您的网络。
答案2
我在某些设备上遇到过类似的第三方路由器固件问题。问题很简单,设备会因大量传输而陷入困境,会发生某种缓冲区溢出,设备会崩溃或重新启动。并不是说这显然是第三方固件问题,但检查路由器是否真的能够处理这种吞吐量可能是开始的地方。
几个月前,我因类似的问题更换了路由器(虽然不是专门用于媒体流,但我选择了 WHR-G301N,在其上运行第三方固件),目前没有问题。路由器很便宜,如果可以节省您的时间和未来的麻烦,也许购买更好的路由器并用一个好的路由器替换您的双路由器设置是值得的。由于您已经在其他路由器上安装了 Tomato,因此您可以将它们用作迷你服务器或其他东西,这样它们就不会“浪费”。
答案3
您可以尝试减少“链”中间接口的传输队列长度 - 即 Tomato 路由器的以太网和 wifi 接口。
相关命令类似于:
ip link set eth0 txqueuelen 64
其中将“eth0”替换为接口名称,将“64”替换为数据包中所需的队列长度。
这是为了防止缓冲区膨胀,这可能会对网络性能产生与您遇到的问题类似的影响。您可能会遇到或不会遇到缓冲区膨胀,但减少 TX 队列长度不会造成任何影响,并且可以轻松将其设置回原始值(默认值为 1000)。
答案4
运行wireshark
并查看实际的交通状况。