Страница 1 из 1

Wi-fi AP

Добавлено: 2009-03-16 10:42:36
urusha
Здравствуйте, вобщем, недавно купил ноутбук hp 550 в дешевенькой комплектации, но, конечно, с wi-fi. Дома стоит шлюзом и еще для всяких приблуд типа прокси, самбы, торента и тп. celeron 1000 с freebsd 7.1. Собственно решил из него сделать точку доступа, пошарил по форуму, понял что хорошо заводятся карточки на atheros'е, купил TrendNet tew-443pi на таком чипе. Настраивал руководствуясь статьей mak_v_, только решил еще и мост замутить между внутренними rl0 и ath0. Щас доступа к машине нет, так что пишу по памяти, соответсвенно выводов команд дать не могу:
собрал ядро добавив device ath*, device wlan*, device if_bridge
далее,

Код: Выделить всё

# ifconfg ath0 mediaopt hostap
# cat /etc/hostapd.conf
interface=ath0
driver=bsd 
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=4
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=kak_be_to4ka
wpa=3
wpa_pairwise=CCMP
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
# echo "hostapd_enable="YES" >> /etc/rc.conf
# /etc/rc.d/hostapd start
все поднялось, сигнал отличный, 100% по всей квартире при txpower 36, я его (txpower) даже понизил до 12, дабы сберечь здоровье:), сигнал остался на приемлемом уровне. На ноуте стоит бубунта, а для проверки связи позже появилась еще и хрюша.
Дальше сделал мост

Код: Выделить всё

# ifconfig bridge0 create
# ifconfig bridge0 addm rl0 addm ath0 up
тут он ругнулся на mtu на ath0 (2290), я так понимаю рас уж это мост, то mtu на всех интерфейсах в него входящих должно быть одинаково (правильно ли это?)

Код: Выделить всё

# ifconfig ath0 mtu 1500
# ifconfig bridge0 addm ath0 up
# ifconfig rl0 up
# ifconfig bridge0 192.168.1.1 netmask 255.255.255.0
так же, на rl0 был dhcpd, я его перенес на bridge0, в правилах pf поменял rl0 на bridge0, все поднялось, заработало, адрес выдавался и в kubuntu и в xp, и на стационарном компе, инет тоже на обоих вроде как был. Адрес ноута 192.168.1.13, стационарного 192.168.1.11.
дабы все это увековечить добавил в rc.conf:

Код: Выделить всё

ifconfig_rl0="up"
ifconfig_ath0="mediaopt hostap mtu 1500"
cloned_interface="bridge0"
ifconfig_bridge0="addm rl0 addm ath0"
ifconfig_bridge0_alias0="192.168.1.1 netmask 255.255.255.0"
может что-то забыл, но суть в том что на этом этапе все работало.

На этом хорошее начинает заканчиватся, а плохое и ужасное начинаться.

Первое и самое ужасное, что я заметил:
На ноуте во время серфинга по инету, наблюдаются тормоза, причем такие, волнообразные с периодом секунд 10-15, ну тормоза тормозами, воздух - не провода, хоть и странно, но когда я захотел посмотреть ролик с ютуба например, еле дождался его окончания, лагало просто эпически!
Я с сервера пингую ноут

Код: Выделить всё

ping 192.168.1.13
Получаю огромные потери - 70-90%, + задержка вывода информации через ssh.
Это при том, что с ноута я качал c DC фильм 1,5ГБ со скоростью 3-3.5МБайта/c. То же и с самбой на сервере, при скачке и с сервера и на сервер. Торрент (именно с ноута) в интернете тоже работал на полную.
Я с ноута пингую сервер

Код: Выделить всё

ping 192.168.1.1
пинги идут просто замечательно, 0% потерь. Я тут же пингую ноут c сервера и опять огромные потери. Загадка думаю. Но самое интересное я узнал когда начал пинговать одновременно в обе стороны. С обоих сторон 0 потерь. Выяснилось что для того чтоб ноут нормально тянул инфу с инета, достаточно было просто пинговать сервер или качать с него что-либо. Можно было даже этим модулировать задержку пингов с сервера:).
Я экспериментировал с параметрами которые вадавала ifconfig -m ath0, пробывал поднимать точку без шифрования, без моста, без dhcp, менять channel. Везде одна и та же ботва! Мне конечно не впадлу запускать пинг при серфе, можно даже в автозагрузку поставить, но этож не серьезно! Почему дело не в ноуте? У кого-то из моих соседей стоит зачем-то открытая точка доступа, сигнал не очень - 20%, но через нее все прекрасно работает. Сетевуха ноута - broadcom.

Второе, уже менее ужасное, но тоже непонятное. Мост посути должен быть прозрачным для 3 уровня, но я не могу с ноута зайти на стационарный и на оборот. Я даже прописывал взаимные маршруты, и ставил pass quick для всех внутренних интерфейсов, хотя это противоречит идее моста. Все равно не работает, пинги не идут, тока arp -a выдает что мак адрес "противоположного" компа известен, хотя перед выводом инфы долго тупит.

Все манипуляции повторялись и на ubuntu и на xp.

Вопрос - где собака? зарыта

Re: Wi-fi AP

Добавлено: 2009-03-16 22:42:02
urusha
хех, пришел домой, пока все нормально работает (всмысле скачущих задержек), хотя они все равно скачут но там уже приемлемые величины, непонятно, будем наблюдать...
С мостом разобрался внимательней почитав ман, отключил фильтрацию на интерфейсах входящих в мост

Код: Выделить всё

# sysctl net.link.bridge.pfil_member=0
остался вопрос про mtu ath0, несмотря на то что я ставлю его в 1500 в rc.conf, после поднятия hostapd (?) он становиться обратно в 2290. Но мост вроде работает нормально. Получается мост налету собирает и делит по новой всю инфу что идет через него, ведь разница в mtu - 790?

Re: Wi-fi AP

Добавлено: 2009-03-18 15:53:36
urusha
urusha писал(а):непонятно, будем наблюдать...
вобщем понаблюдал, огромные задержки вернулись, пинг шлюза или чего угодно за ним как и раньше спасает... но это по прежнему костыль)... у кого-нибудь хоть какие-то соображения есть? буду признателен за помощь.

Re: Wi-fi AP

Добавлено: 2009-05-17 0:08:44
urusha
В релизнотесах Freebsd 7.2 упомянуто об апдейте модуля ath_hal. Обновился в первый же день релиза и, видимо действительно что-то починили, тк вот уже больше недели все работает отлично.