LINUX.ORG.RU

Включение 802.11n в hostapd на RT2870


0

2

Имеется WiFi-модуль D-Link DWA-140 на чипе RaLink RT2870. Hostapd.conf:

interface=wlan0
driver=nl80211
bridge=br0
ssid=DWA-140
country_code=RU
hw_mode=g
channel=7

macaddr_acl=0

auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=xxx
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

wme_enabled=1
ieee80211n=1

Но, как я понял, N в данный момент не задействован (IPTV по нему нормально не проигрывается, хотя, когда у меня была аппаратная точка доступа, то на том же клиентском устройстве всё нормально игралось).

На LinuxWireless написано, что нужна ещё одна строчка:

ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]

где в скобках — возможности, поддерживаемые картой, которые можно узнать командой iw list.

Собственно, там много чего, но я что-то не уверен, что оно всё к n относится:

Wiphy phy0
        Band 1:
                Capabilities: 0x2f2
                        HT20/HT40
                        Static SM Power Save
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 2-streams
                        Max AMSDU length: 7935 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 2 usec (0x04)
                HT RX MCS rate indexes supported: 0-15, 32
                TX unequal modulation not supported
                HT TX Max spatial streams: 2
                HT TX MCS rate indexes supported may differ
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
        max # scan SSIDs: 4
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * WDS
                 * monitor
                 * mesh point
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * new_beacon
                 * new_station
                 * new_mpath
                 * set_mesh_params
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * Unknown command (68)
                 * Unknown command (55)
                 * Unknown command (57)
                 * Unknown command (59)
                 * Unknown command (67)
                 * set_wiphy_netns
                 * Unknown command (65)
                 * Unknown command (66)
                 * connect
                 * disconnect

Собственно, что нужно сделать, чтобы включить N или убедиться, что оно включено?

Драйвер — rt2800usb, из compat-wireless для 3.0.0, hostapd 0.7.3.

☆☆☆☆☆

И ещё: почему-то в Ubuntu 11.04 скрипт для hostapd в init.d не работает. При запуске ничего не выдаёт и не запускается. Это у меня у одного так? Можете поделиться 100% рабочим?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Теперь вообще перестала проходить аутентификация: во время подключения сыпет:

[code] wlan0: STA 90:a4:de:5a:d2:53 IEEE 802.11: authenticated wlan0: STA 90:a4:de:5a:d2:53 IEEE 802.11: associated (aid 1) unknown mgmt cb frame subtype 10 AP-STA-DISCONNECTED 90:a4:de:5a:d2:53[/code]

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

И ещё ругается: 20/40 MHz operation not permitted on channel pri=7 sec=3 based on overlapping BSSes

А при некоторых каналах вообще говорит, что не может его задать.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

А у тебя это всё на каком ядре и hosapd работает? А то без бубна есть возможность, кроме того, что есть, поставить compat-wireless от 2.6.39 и hostapd 0.6.10.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Вроде удалось запустить с этими настройками, но IPTV всё равно не играет. Даже на полностью статическом изображении квадратики.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Запускал на 3.1.x и 3.0.х., hostapd-0.7.x (последний) или последний из гита (hostap-1.git). К сожалению сейчас этого свистка в наличии нет, вместо него dwa-110, который без n.

daemonpnz ★★★★★ ()
Ответ на: комментарий от bhfq

http://is.gd/b6Gnkj

Почитай предыдущие созданные мной темы (если отбросить темы про тян, то их немного), и поймёшь, почему не вариант.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Кстати, с этими настройками что-то вообще стало через несколько минут отваливаться. Внешне клиент не пишет о разрыве, но ничего не работает. Восстанавливается только выключением и включением wifi-модуля на клиенте. Сейчас буду пробовать, есть ли такая проблема без n.

Ttt ☆☆☆☆☆ ()

Что-то он вообще стал нестабильно работать, как с n, так и без.

Не может ли быть проблемой такой пятиметровый USB-удлинитель, через который он подключен?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Запусти без него и проверь. Из-за удлинителей очень часто бывают проблемы с усб устройствами.

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

Максимум 26.8 МБит/с было.

А вообще что можете сказать по поводу ругательства:

20/40 MHz operation not permitted on channel pri=12 sec=8 based on overlapping BSSes

Как это лечить? Значения Channel пробовал менять, не помогает: либо так ругается, либо вообще не может задать.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

хм, маловато для n, у меня столько по dwa-110 идёт, который максимум g поддерживает. Клиент при подключении рапортует о какой скорости соединения?

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

А как просмотреть? Там network-manager с nm-applet.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Но сначала бы с разрывами разобраться. А то это не дело. Включил без удлинителя, клиент находится близко — и всё равно падает.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Кстати, то, что IPTV не играет, скорее всего, не связано с n. По-идее имеющейся скорости должно было бы хватить. Вообще для multicast никаких дополнительных настроек hostapd и ядра не нужно?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Посмотрел — скорость, указываемая клиентом, скачет, максимальная — 65 мегабит в секунду. Это, как я понимаю, уже n, но далеко от максимума.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt
##### IEEE 802.11n related configuration ######################################

# 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

# ht_capab: HT capabilities (list of flags)
# LDPC coding capability: [LDPC] = supported
# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
#	channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
#	with secondary channel below the primary channel
#	(20 MHz only if neither is set)
#	Note: There are limits on which channels can be used with HT40- and
#	HT40+. Following table shows the channels that may be available for
#	HT40- and HT40+ use per IEEE 802.11n Annex J:
#	freq		HT40-		HT40+
#	2.4 GHz		5-13		1-7 (1-9 in Europe/Japan)
#	5 GHz		40,48,56,64	36,44,52,60
#	(depending on the location, not all of these channels may be available
#	for use)
#	Please note that 40 MHz channels may switch their primary and secondary
#	channels if needed or creation of 40 MHz channel maybe rejected based
#	on overlapping BSSes. These changes are done automatically when hostapd
#	is setting up the 40 MHz channel.
# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
#	(SMPS disabled if neither is set)
# HT-greenfield: [GF] (disabled if not set)
# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
# Tx STBC: [TX-STBC] (disabled if not set)
# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
#	streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
#	disabled if none of these set
# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
#	set)
# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
# PSMP support: [PSMP] (disabled if not set)
# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
#ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]

# Require stations to support HT PHY (reject association if they do not)
#require_ht=1

читал?!
Из этого следует:

ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC12][GF][DSSS_CCK-40][MAX-AMSDU-7935]

В качестве альтернативы можно попробовать заменить [HT40-] на [HT20], а следственно выкинуть [SHORT-GI-40] и [DSSS_CCK-40].

Вот тут вроде как всё грамотно описано: http://forum.doozan.com/read.php?2,6300,6505

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

Я в этих тонкостях не разбираюсь. Ну попробую сейчас сделать так.

А что означает фраза: 20/40 MHz operation not permitted on channel pri=7 sec=3 based on overlapping BSSes

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Я так понимаю, что отключается режим 20/40 из за перекрывающихся BSS. На openwrt для hostapd патч добавляли позволяющий отключать сканирование на наличие таких BSS. Но в основной ветке я этого не нашёл.

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

И после этого рвётся. Кстати, dmesg засыпан ошибками по поводу, как я понял, выделения памяти как раз для модуля rt2800usb. Это ведь не должно так быть?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

С compat-wireless от 2.6.39 (которые были в репозитории помимо тех, которые были до этого — от 3.0.0) вообще не заработало. Сейчас попробую обновить дистрибутив до актуального релиза, посмотрю как там.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Обновил до следующего релиза (ведро 3.0.0). В dmesg вроде пока не ругалось. Максимальная скорость вроде до 72 мбит увеличилась (хотя не знаю, может это из-за того, что адаптер поближе вытащил). Но связь всё равно иногда пропадает (пишет, что соединение есть, даже скорость указана, и она меняется, но связи нет: даже пропинговать компьютер из той же физической сети не удаётся). Причём иногда вроде само восстанавливается, иногда нет.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Также заметил, что иногда датчик уровня сигнала (у клиента) даже в непосредственной близости от точки доступа иногда (на несколько секунд) показывает слабый сигнал.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Можно предположить, что разрыв происходит из-за далёкого расстояния. Но почему тогда она не восстанавливается при поднесении клиента вплотную к точки доступа? Вообще насколько корректно hostapd работает в условиях плохой связи?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от daemonpnz

Вообще сейчас при разрыве hostapd выдаёт следующее:

wlan0: STA 90:a4:de:5a:d2:53 IEEE 802.11: deauthenticated due to local deauth request

При этом клиент ничего о разрыве не говорит. Но при этом, если разорвать и заново подключать, то не подключится. Приходится hostapd перезапускать.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Что интересно: разрывы обычно происходят, именно когда я пользуюсь соединением. А когда ноутбук (клиент) стоит, то ничего не рвётся.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Как это лечить? Значения Channel пробовал менять, не помогает

Учить матчасть. В 11g три канала по 20MHz: 1, 6 и 11. Ты пытаешься установить ширину канала в 40 MHz. Поэтому выбор у тебя небольшой: либо один канал «выше», либо один канал «ниже». Это и определяют суффиксы «+» и "-". Скорее-всего, это какие-то заморочки или в чипсете или в драйвере, а может так в стандарте написано, не знаю точно.

Может получиться так, что из-за регуляционных настроек у тебя закрыт 12-й канал. Попробуй канал 1, HT-40+.

ЗЫ: А с чего ты взял, что IPTV у тебя будет работать через Wi-Fi? Мультикастный траффик через Wi-Fi передается специфическим образом, и тебе нужно крутить beacon interval и DTIM. Но, все равно, емнип больше 6 мегабит не получится.

Macil ★★★★★ ()
Ответ на: комментарий от Ttt

Кстати, то, что IPTV не играет, скорее всего, не связано с n. По-идее имеющейся скорости должно было бы хватить. Вообще для multicast никаких дополнительных настроек hostapd и ядра не нужно?

Никаких настроек hostapd по идее не нужно. Ядро дистибутивное, не самосборное?

Можно попробовать на мосту выключить multicast snooping: http://www.linux.org.ru/forum/admin/6966685. Но вряд ли проблема в нём, тогда бы пакеты вообще не шли. Ещё можно посмотреть что в првилах iptables...

Deleted ()
Ответ на: комментарий от daemonpnz

Я так понимаю, что отключается режим 20/40 из за перекрывающихся BSS. На openwrt для hostapd патч добавляли позволяющий отключать сканирование на наличие таких BSS. Но в основной ветке я этого не нашёл.

Если не ошибаюсь, то по стандарту точка как раз должна отключать использование соседних каналов, если их ещё кто-то использует.

Deleted ()
Ответ на: комментарий от Deleted

Просто, натыкался на тему, где ты давал хорошие конкретные советы по настройке wi-fi с 11n и проверке скорости соединения. :)

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

Сейчас поставил последний срез hostapd из git (а то на forum.ubuntu.ru кто-то жаловался, что у него примерно такая же проблема с hotapd из репозитория, а из git нет) — из прогресса заметил, что теперь соединение можно восстановить без перезапуска hostapd. Но разрывы всё ещё имеют место быть (правда строку wlan0: STA 90:a4:de:5a:d2:53 IEEE 802.11: deauthenticated due to local deauth request за всё время толкьо один раз выдало, зато стало появляться:

wlan0: STA 90:a4:de:5a:d2:53 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

Ttt ☆☆☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.