如何在 Debian 7 GNU/Linux 中配置 802.11(“WiFi”)的默认传输速率?

如何在 Debian 7 GNU/Linux 中配置 802.11(“WiFi”)的默认传输速率?

我需要降低 IEEE 802.11g 网络接口控制器的传输速率以获得可​​接受的丢包率 (< 0.5 %),否则丢包率会变得非常高(典型情况是 > 50 %,但情况各不相同)。我使用 NetworkManager 来处理我的网络连接,但是它(至少在这个版本的 Debian 中)没有降低传输速率的选项,所以我sudo iwconfig wlan0 rate 1M每次打开计算机时都通过命令行手动执行此操作。

如何配置我的 GNU/Linux 系统,使传输速率默认为 1 Mbit/s(无需每次启动计算机时手动设置)?

注意:我只连接到一个无线网络,但每次打开计算机时它并不总是可用(这是因为我不在那个位置,不是技术问题),而且连接也不是立即的,所以我无法通过制作一个在登录图形环境时运行的脚本来解决该问题并执行iwconfig lwan0 rate 1M.

提前致谢。

答案1

如果设置可以等到接口启动后(DHCP 完成),则有几种不同的方法可以在接口启动时运行脚本。

Debian 的方式是将脚本放入/etc/network/if-up.d/.无论您使用什么方法来管理界面(NetworkManager、ifupdown 等),这都应该适用于 Debian。接口名称和其他一些内容使用环境变量传递给脚本。一个示例脚本:

if [ "$IFACE" = "wlan0" ] ; then
    if iwconfig "$IFACE" | fgrep -q 'ESSID:"My Wireless Network"' ; then
        iwconfig wlan rate 1M
    fi
fi

NetworkManager 的方式是将脚本放入/etc/NetworkManager/dispatcher.d/.只要您使用 NetworkManager,此位置就应该适用于任何 Linux 发行版。此处,接口名称作为第一个命令行参数传递。脚本看起来基本相同;只需替换"$IFACE""$1".事实上,如果您查看该目录,您将看到一个01ifupdown兼容性脚本,该脚本使 NetworkManager 运行“Debian 方式”脚本。

有关编写 Debian 风格脚本的更多信息,man 5 interfaces请阅读“IFACE OPTIONS”部分。

可以找到一些描述 NetworkManager 脚本的资源这里这里

相关内容