我有定制的路由器,基于 Intel D510MO 主板,上面装有 Slackware 13.37。我使用 hostapd-2.0 和 iptables 使其充当路由器。客户端是一台装有 Windows 7 的笔记本电脑。路由器和笔记本电脑都配有 Atheros AR5BXB72 mini pci-e wlan 卡。
当它配置为 802.11g 时,基本上没有问题 - 它很稳定并且以全速工作,大约 2.7 MB/s (= ~21 Mbps),这对于 802.11g 来说似乎没问题。
当它配置为 802.11n 时,有趣的事情开始发生:
- 我所在国家的网页似乎可以全速打开<-- 好的
- speedtest.net 报告本地服务器的速度在 75-95 Mbps 之间(100Mbps 互联网连接)<-- 确定
- speedtest.net 报告称国外服务器的下载速度高达 3-4 Mbps,上传速度高达 7-9 Mbps <-- 为什么?!
- 我的国家以外的所有其他内容(例如,下载大文件)的速度都为 300-400 KB/s <-- 为什么?!
我尝试过的:
- 在 Google 上搜索了很多……
- 客户端上的各种驱动程序(Windows)
- 更新路由器上的驱动程序(Linux)
- 更新 hostapd 以强制在 40MHz 下运行,即使 BSS 重叠
Windows 上的驱动程序 - 尝试了默认的 Windows 驱动程序(来自 Win7 安装,来自 Windows 更新)和来自 atheros.cz 的驱动程序(9.0.0.173、9.1.0.314、10.0.0.45、10.0.0.221) - 除了橙色 WLAN 状态 LED 闪烁外,没有变化。
Linux 上的驱动程序 - 使用 compat-drivers 包更新 ath9k 驱动程序。802.11n 以前无法使用,因为它非常不稳定,例如,通常只有一半的网页加载,或者大多数图像都没有加载。我还尝试 ping 一些外国主机 - 响应时间大多超过 1-2 秒,并且有很多超时。更新驱动程序后,一切都稳定了,例如,页面已完全加载,较大的文件可以正常下载,但速度很慢 - 外国资源的速度为 300-400 KB/s。
另外,我注意到 hostapd 经常会因为 BSS 重叠而禁用 20/40 MHz 操作。已对其进行修补以跳过此检查。在 20 MHz 下,Windows 报告的连接速度为 130 Mbps,在 40 MHz 下为 300 Mbps。两种情况下的互联网工作方式相同,但本地网络 - 20 MHz 模式下为 16-17 MB/s,40 MHz 模式下为 20-21 MB/s。频道选择得很仔细,所以我的邻居不会受到影响。
还有什么想法我还可以尝试吗?我真的不喜欢这样一个事实:我只能以最高 2-3 MB/s(使用 802.11g)的速度使用外部资源,而我应该有高达 10-12 MB/s 的速度……
答案1
如果国内连接良好,那么瓶颈很可能是您的 ISP。这绝对与您的 AP 无关。这要么是您所在国家/地区与其他国家/地区的连接问题,要么是您的 ISP 可能与国外站点的连接性不佳。您可以通过对国外站点进行一些跟踪路由测试来缩小范围,看看是否存在明显的瓶颈。
至于 40MHz,如果您处于 2.4GHz 范围内,则只有 3 个(或者您所在的地方可能有 4 个)不重叠的信道,并且您使用其中 2 个信道仍可能会给您的邻居甚至您自己带来问题。但正如我之前所说,只要您可以为本地服务器提供良好的带宽,这与您要解决的问题无关。
答案2
默认 hostapd.conf 的这一部分非常具有误导性:
# ieee80211n: Whether IEEE 802.11n (HT) is enabled
# 0 = disabled (default)
# 1 = enabled
# Note: You will also need to enable WMM for full HT functionality.
ieee80211n=1
如果您像我一样,您可能读过该内容并启用了 WMM:
wmm_enable=1
这就是吞吐量下降的原因。WMM 是一种 QoS 服务,旨在为高优先级数据包留出可用带宽。注释掉 wmm_enable=1 行,重新启动 hostapd,您应该会发现 n 的速度达到了应有的速度 - 比 g 还快!
答案3
“光速太慢了。“——约翰·卡马克