У меня есть нестандартный роутер на базе материнской платы Intel D510MO со Slackware 13.37. Я использую hostapd-2.0 и iptables, чтобы он работал как маршрутизатор. Клиент - это ноутбук с Windows 7. И маршрутизатор, и ноутбук имеют карты Atheros AR5BXB72 mini pci-e wlan.
Когда он настроен как 802.11g, проблем практически нет - он стабилен и работает на полной скорости, что-то около 2,7 МБ / с (= ~ 21 Мбит / с), что, похоже, нормально для 802.11g.
Когда он настроен как 802.11n, начинают происходить забавные вещи:
Что я пробовал:
Драйверы на Windows - пробовали как драйверы Windows по умолчанию (из установки Win7, из Центра обновления Windows), так и драйверы из atheros.cz (9.0.0.173, 9.1.0.314, 10.0.0.45, 10.0.0.221) - без изменений, кроме мигающего оранжевого состояния WLAN СВЕТОДИОД.
Драйверы в Linux - для обновления драйвера ath9k использовался пакет compat-drivers. Раньше 802.11n был непригодным для использования, потому что он был очень нестабильным, например, обычно загружалась только половина веб-страницы или не загружалась большая часть изображений. Я также пробовал пинговать некоторые иностранные хосты - время ответа в основном составляло более 1-2 секунд с большим количеством таймаутов. После обновления драйвера все работает стабильно, например, страницы загружаются полностью, файлы большего размера выгружаются нормально, но скорость низкая - 300-400 КБ / с для сторонних ресурсов.
Также я заметил, что hostapd часто отключает работу 20/40 МГц из-за перекрытия BSS. Исправил, чтобы пропустить эту проверку. При 20 МГц Windows сообщает скорость соединения 130 Мбит / с, при 40 МГц - 300 Мбит / с. Интернет в обоих случаях работает одинаково, но локальная сеть - 16-17 МБ / с в режиме 20 МГц и 20-21 МБ / с в режиме 40 МГц. Каналы подбираются тщательно, поэтому на моих соседей это не должно повлиять.
Есть идеи, что еще я мог бы попробовать? Мне очень не нравится то, что я могу использовать внешние ресурсы с максимальной скоростью 2-3 МБ / с (с 802.11g), когда у меня должна быть скорость до 10-12 МБ / с…
Если подключение внутри страны хорошее, то, скорее всего, узким местом является ваш интернет-провайдер. Это определенно не связано с вашей AP. Это либо связь между вашей страной и другими, либо ваш интернет-провайдер может просто не иметь хорошего подключения к иностранным сайтам. Вы можете сузить его, выполнив несколько тестов traceroute на иностранных сайтах, чтобы увидеть, есть ли очевидные узкие места.
Что касается 40 МГц, если вы находитесь в диапазоне 2,4 ГГц, есть только 3 (или, может быть, 4, где вы находитесь) неперекрывающихся канала, и использование вами 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!
"Скорость света - отстой."- Джон Кармак