Linux、Ubuntu 无线网络慢!可能的解决方法汇总
程序员文章站
2022-06-06 07:54:49
...
网上很多方法,不一而足。还是需要找到原因。
方法1:如果是Atheros的硬件:
终端输入:lshw -C 查看版本
sudo su
echo "options ath9k nohwcrypt=1" >> /etc/modprobe.d/ath9k.conf
重启
方法2:关闭802,11n
802支持度不好
单次:
sudo rmmod iwlwif
sudo modprobe iwlwifi 11n_disable=1
永久:
sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
Ubuntu 12.04 老的版本iwlwifi替换成iwlagn
方法 3
修复Debian的bug
sudo gedit /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
替换成
hosts: files dns
重启,解决不了问题还原。
方法4:关闭ipv6
sudo su
echo "#disable ipv6" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf
方法5:替换网络管理
安装Wicd
方法6:关闭节能
sudo iwconfig
sudo iwconfig wlan0 power off
方法7:开启bbr,Ubuntu 16.04
安装 Hardware Enablement Stack (HWE),自动更新内核
apt install --install-recommends linux-generic-hwe-16.04
开机后 uname -r
看看是不是内核 >= 4.9。
执行 lsmod | grep bbr
,如果结果中没有 tcp_bbr
的话就先执行
sudo modprobe tcp_bbr
echo "tcp_bbr" | sudo tee --append /etc/modules-load.d/modules.con
执行
echo "net.core.default_qdisc=fq" | sudo tee --append /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee --append /etc/sysctl.conf
保存生效
sudo sysctl -p
执行
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有 bbr
,则证明你的内核已开启 BBR。
执行 lsmod | grep bbr
,看到有 tcp_bbr 模块即说明 BBR 已启动。
参考: