# ath5k + hostapd медленно работает

## hermes_jr

Уже пару месяцев использую эту конфигурацию, всё работает стабильно без разрывов, но в последнее время заметил, что не получается работать на высоких скоростях, не могу понять почему. Помогите разобраться пожалуйста.

Железо: в качестве точки выступает гентушный роутер с D-Link DWA-520 и выведенной антенной D-Link ANT24-0700

lspci: 01:09.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)

в качестве клиента - MacBookPro7,1 с AirPort Extreme Broadcom BCM43xx 1.0 (5.10.131.36.1) на борту.

Ноут и антенна находятся на малом расстоянии и в прямой видимости. 

Конфиги точки:

```

#Linux hoop 2.6.37-gentoo #3 Wed Feb 16 15:18:06 MSK 2011 i686 Intel(R) Celeron(R) CPU 2.26GHz GenuineIntel GNU/Linux

# лишнее пострипано

CONFIG_ATH_COMMON=m

CONFIG_ATH5K=m

CONFIG_ATH9K_HW=m

CONFIG_ATH9K_COMMON=m

CONFIG_ATH9K=m

CONFIG_ATH9K_RATE_CONTROL=y

CONFIG_WIRELESS=y

CONFIG_WIRELESS_EXT=y

CONFIG_CRYPTO_HMAC=y

CONFIG_CRYPTO_AES=y

CONFIG_VLAN_8021Q=m

CONFIG_VLAN_8021Q_GVRP=y

CONFIG_CFG80211=m

CONFIG_CFG80211_DEFAULT_PS=y

CONFIG_LIB80211=y

CONFIG_LIB80211_CRYPT_WEP=y

CONFIG_LIB80211_CRYPT_CCMP=y

CONFIG_LIB80211_CRYPT_TKIP=y

CONFIG_MAC80211=m

CONFIG_MAC80211_HAS_RC=y

CONFIG_MAC80211_RC_MINSTREL=y

CONFIG_MAC80211_RC_MINSTREL_HT=y

CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"

CONFIG_MAC80211_LEDS=y

```

```

modules="iproute2 !iwconfig !wpa_supplicant"

metric_wlan0="100"

config_wlan0="10.13.14.1/24 brd 10.13.14.255"

routes_wlan0="10.13.14.0/24 dev wlan0 src 10.13.14.1 table intwifi"

mode_wlan0="master"

```

```

interface=wlan0

driver=nl80211

logger_syslog=-1

logger_syslog_level=4

logger_stdout=-1

logger_stdout_level=2

dump_file=/tmp/hostapd.dump

ctrl_interface=/var/run/hostapd

ctrl_interface_group=0

ssid=myssid

country_code=RU

ieee80211d=1

hw_mode=g

channel=3

beacon_int=100

dtim_period=2

max_num_sta=255

rts_threshold=2347

fragm_threshold=2346

# следующие строки пробовал раскоментить, результат не меняется

#supported_rates=180 480 540

#basic_rates=240 540

macaddr_acl=1

accept_mac_file=/etc/hostapd/hostapd.accept

deny_mac_file=/etc/hostapd/hostapd.deny

auth_algs=1

ignore_broadcast_ssid=1

#следующий параметр отключал, не помогает

wmm_enabled=1

wmm_ac_bk_cwmin=4

wmm_ac_bk_cwmax=10

wmm_ac_bk_aifs=7

wmm_ac_bk_txop_limit=0

wmm_ac_bk_acm=0

wmm_ac_be_aifs=3

wmm_ac_be_cwmin=4

wmm_ac_be_cwmax=10

wmm_ac_be_txop_limit=0

wmm_ac_be_acm=0

wmm_ac_vi_aifs=2

wmm_ac_vi_cwmin=3

wmm_ac_vi_cwmax=4

wmm_ac_vi_txop_limit=94

wmm_ac_vi_acm=0

wmm_ac_vo_aifs=2

wmm_ac_vo_cwmin=2

wmm_ac_vo_cwmax=3

wmm_ac_vo_txop_limit=47

wmm_ac_vo_acm=0

eapol_key_index_workaround=0

eap_server=0

own_ip_addr=127.0.0.1

wpa=3

wpa_passphrase=MasK3DPa$$phras3

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

```

Всё работает стабильно без разрывов, с небольшими потерями при флуде, но пропускная способность совсем убогая:

```

 $ sudo ping -s 1400 -f 10.13.14.1

PING 10.13.14.1 (10.13.14.1): 1400 data bytes

..Request timeout for icmp_seq 3594

..Request timeout for icmp_seq 3600

..Request timeout for icmp_seq 3619

.Request timeout for icmp_seq 3620

..Request timeout for icmp_seq 10887

.^C

--- 10.13.14.1 ping statistics ---

11406 packets transmitted, 11400 packets received, 0.1% packet loss

round-trip min/avg/max/stddev = 0.710/4.523/38.124/2.845 ms

```

```

iperf -i 5 -t 40 -c 10.13.14.10 -d 

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

------------------------------------------------------------

------------------------------------------------------------

Client connecting to 10.13.14.10, TCP port 5001

TCP window size: 22.6 KByte (default)

------------------------------------------------------------

[  3] local 10.13.14.1 port 53491 connected with 10.13.14.10 port 5001

[  5] local 10.13.14.1 port 5001 connected with 10.13.14.10 port 49440

[ ID] Interval       Transfer     Bandwidth

[  5]  0.0- 5.0 sec  4.71 MBytes  7.91 Mbits/sec

[  3]  0.0- 5.0 sec  3.12 MBytes  5.24 Mbits/sec

[  5]  5.0-10.0 sec  3.75 MBytes  6.30 Mbits/sec

[  3]  5.0-10.0 sec  3.75 MBytes  6.29 Mbits/sec

[  5] 10.0-15.0 sec  3.79 MBytes  6.36 Mbits/sec

[  3] 10.0-15.0 sec  3.75 MBytes  6.29 Mbits/sec

[  5] 15.0-20.0 sec  3.84 MBytes  6.43 Mbits/sec

[  3] 15.0-20.0 sec  3.88 MBytes  6.50 Mbits/sec

[  5] 20.0-25.0 sec  3.83 MBytes  6.42 Mbits/sec

[  3] 20.0-25.0 sec  3.88 MBytes  6.50 Mbits/sec

[  5] 25.0-30.0 sec  4.47 MBytes  7.50 Mbits/sec

[  3] 25.0-30.0 sec  4.50 MBytes  7.55 Mbits/sec

[  3] 30.0-35.0 sec  3.38 MBytes  5.66 Mbits/sec

[  5] 30.0-35.0 sec  3.42 MBytes  5.74 Mbits/sec

[  5] 35.0-40.0 sec  3.99 MBytes  6.70 Mbits/sec

[  5]  0.0-40.0 sec  31.8 MBytes  6.67 Mbits/sec

[  3] 35.0-40.0 sec  4.12 MBytes  6.92 Mbits/sec

[  3]  0.0-40.1 sec  30.5 MBytes  6.37 Mbits/sec

```

Видно, что пропускная способность прыгает где-то в пределах до 10-15 мегабит, хотя по-хорошему должно быть около 54.

Соседние сетки поидее не так сильно мешают (при смене канала с 3 на например 11 ничего не меняется):

График 1

График 2 (залитый серым график - моё)

В какую сторону копать?

----------

## fank

миллиарды опций, включенных во всех конфигах, изучены?..

----------

## joeklow

Такой вопрос: клиенты, цепляющиеся к hostapd, настроенному без бриджа и его маршрутов не будут иметь доступа к той машине, на которой стоит hostapd?

Пока стоял hostapd, поведение сервисов при попытке доступа к ним по wlan0 ip было таким: ssh отлетает в никуда (соединение зависает) после авторизации, apache не отдает данных более одного килобайта.

hermes_jr, 

 *Quote:*   

> Ноут и антенна находятся на малом расстоянии и в прямой видимости.

 

Расстояние меньше длины волны  :Smile: )

Что в выводе iwconfig по tx/rx power? auto?

----------

## hermes_jr

 *joeklow wrote:*   

> Такой вопрос: клиенты, цепляющиеся к hostapd, настроенному без бриджа и его маршрутов не будут иметь доступа к той машине, на которой стоит hostapd?
> 
> 

 

Да нет, ну почему же. Клиент цепляется к hostapd, поднимается вайфайный линк, dhcpd отдаёт клиенту его настройки и айпишник wlan0 в качестве гейтвея. При условии что на роутере с маршрутизацией и файрволом порядок, непосредственно после этого клиент уже может пинговать свой гейт, то бишь wlan0 и получать от него ответы. Что касается бриджинга, я делал без этого, потому как слегка страдаю параноей, по мне так беспроводные сетки лучше держать как отдельный влан.

 *joeklow wrote:*   

> Пока стоял hostapd, поведение сервисов при попытке доступа к ним по wlan0 ip было таким: ssh отлетает в никуда (соединение зависает) после авторизации, apache не отдает данных более одного килобайта.
> 
> 

 

Ну это очень похоже на проблемы с маршрутизацией. Тут надо копать в сторону policy/source routing, как-то так называется, чтобы ответы уходили в тот интерфейс откуда приходят запросы.

 *joeklow wrote:*   

> Что в выводе iwconfig по tx/rx power? auto?

 

А пусто там:

```
...

wlan0     no wireless extensions.

mon.wlan0  no wireless extensions.
```

Более того, всё было настроено и работало даже без установленных в системе net-wireless/wireless-tools, и в /etc/conf.d/net есть строчка 

```
modules="iproute2 !iwconfig !wpa_supplicant"
```

Ещё у меня всё руки никак не доходят сделать пару вещей - потестировать с разных клиентских машинок и протестировать в тех же условиях "правильный" ad-hoc между любыми двумя машинками без описанного роутера. Чтобы было понятно, если такие проблемы только в связке gentoo-osx и чтобы можно было быть уверенным, что дело не в помехах от соседских сетей. Вообще раньше через D-Link 700AP работали все чистые 50 мегабит да ещё и с более убогой антеннкой. Вот как-то так...

fank, судя по тому что недостаточно хорошо работает - нет, не всё изучено. Но всё то, о чём я знал исходя из мануалов и комментариев в конфигах, я почитал, кажется понял и настроил подходящим образом.

----------

## joeklow

hermes_jr,

и всё-таки rate/txpower стоит проверить, после ручной докрутки параметров на D-link'е получил ~2 мбит/с вместо ~500кбит.

Маршрутизацию у себя еще буду проверять.

----------

## fank

проблема очень интересная

я поизучаю на днях, но сейчас просто посоветовал бы некие общие методики ускорения wi-fi

кроме того:

http://forums.freebsd.org/archive/index.php/t-5698.html

http://ubuntuforums.org/showthread.php?p=10334021

почитать исходники драйвера - там могут быть инструкции по настройке параметров и некие known issues

----------

