首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >英特尔无线(iwlwifi),Ubuntu19.04,上传速度慢,但只在某些WiFi网络上

英特尔无线(iwlwifi),Ubuntu19.04,上传速度慢,但只在某些WiFi网络上
EN

Ask Ubuntu用户
提问于 2019-08-03 13:27:24
回答 1查看 873关注 0票数 0

我有一个联想IdeaPad S340运行Ubuntu19.04。它有一个英特尔双波段无线适配器使用iwlwifi内核驱动程序。

在一个使用思科接入点的特定WiFi网络上,我的下载速度可以确定,但上传速度很差。我看到了类似问题的答案,即将iwlwifi驱动程序的D1内核参数设置为11n_disable=111n_disable=8,但这两种方法都不适合我;前者提高了我的上传速度,但将我的下载速度减半,而后者什么也没做。

我怎么才能解决这个问题?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-08-03 13:27:24

我做了实验,发现11n_disable=2使我的上传速度提高了700%,但代价是下载速度降低了12%。这是一个合理的权衡,否则上传速度是不可用的,但我不想忍受下载速度下降的WiFi网络,其上传速度是好的,而不改变设置。因此,我编写了一个脚本来检查我正在使用的WiFi网络,并相应地调整设置。

下面你可以找到剧本。它需要作为根模式0755安装在/etc/NetworkManager/dispatcher.d中。您需要编辑bad-wifi-network-name行,以正确选择要使用可选设置的WiFi网络(S)。

代码语言:javascript
复制
#!/bin/bash -e

WHOAMI=$(basename $0)
IFACE="$1"; shift
ACTION="$1"; shift

log() {
    level="$1"; shift

    logger -p daemon.$level -t "$WHOAMI" $@
}

if [ "$ACTION" != "up" ]; then
    log debug ignoring action $ACTION
    exit 0
fi

state=$(cat /sys/module/iwlwifi/parameters/11n_disable)

log notice previous 11n_disable state is $state

if [ "$CONNECTION_ID" = "bad-wifi-network-name" ]; then
    want_state=2
else
    want_state=0
fi

if [ "$state" != "$want_state" ]; then
    log notice reloading iwlwifi with 11n_disable=$want_state
    if ! rmmod iwlmvm iwlwifi; then
        log err rmmod iwlmvm iwlwifi failed
        exit 1
    fi
    if ! modprobe iwlwifi 11n_disable=$want_state; then
        log err modprobe iwlwifi 11n_disable=$want_state failed
        exit 1
    fi
    if ! modprobe iwlmvm; then
        log err modprobe iwlmvm failed
        exit 1
    fi
    log notice finished reloading iwlwifi with 11n_disable=$want_state
else
    log notice 11n_disable is correct, taking no action
fi

关于更详细的信息,请到这里 免责声明:我是那个博客的作者。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1163145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档