网上很多方法,不一而足。还是需要找到原因。

方法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 已启动。

参考:

https://itsfoss.com/speed-up-slow-wifi-connection-ubuntu/

https://github.com/iMeiji/shadowsocks_install/wiki/%E5%BC%80%E5%90%AF-TCP-BBR-%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%AE%97%E6%B3%95

Logo

更多推荐