Wi-Fi на kettle

16.09.2008 12:23:58

Могучий домашний мега-сервер kettle оброс новой железкой, воткнул в него Wi-Fi. Как водится, без геморроя не обошлось, но ныне всё работает волшебно. Сервер, тем временем, забит под завязку, остатний слот PCI вряд ли получится использовать, поскольку там рядышком из очень неудобного места тянется шнурок со вторым штатным портом RS232. Ну и шнуры питания SATA да MOLEX уже давно закончились…

Wi-Fi отстроен на карточке TP-LINK TL-WN651G, что на чипе Atheros и с поганым проприетарным драйвером MadWifi. Увы, но карт на чипах Prism54 в продаже нет, а всё остальное или экзотика, или попросту не работает в режиме точки доступа.

Тухленько у нас с Wi-Fi, по-прежнему, честно говоря, думал, что для Ralink должны были давно уже сообразить драйвера правильные, там всё GPL, все дела, ан-нет. Так что на данном этапе Atheros рулит по полной программе.

Установлено всё с hostapd и использованием WPA2. Модуль собран штатным для Debian module-assistant с использованием пакета madwifi-source. Интерфейс подключен мостом к гигабитному шнуровому eth0 и OpenVPN-овскому tap0. Базовая конфигурация hostapd/WPA расписана в паре документов.

Грабли первые. «Could not set interface to master mode«.

Суть в том, что драйвер MadWifi по умолчанию создаёт интерфейс карточки в «станционном» режиме, а нам нужен режим точки доступа. По идее, hostapd должен с этим сам разбираться и устанавливать режимы как ему надо, но почему-то этого не происходит. Поэтому, необходимо подкрутить параметр «autocreate» модуля ath_pci. Делается тривиально, добавляем файлик «ath_pci» в /etc/modprobe.d/ со следующим содержимым:

options ath_pci autocreate=ap

Далее делаем:

# rmmod ath_pci
# modprobe ath_pci

и одни грабли улетели в небытие.

Грабли вторые. «EAPOL-Key timeout«.

Суть в том, что клиент никак не может договориться с новоявленной точкой доступа, hostapd лупит в syslog сообщения про EAPOL выше и «sending 1/4 msg of 4-Way Handshake«, и всё, никак клиенту не соединиться. Причина в WMM/WME, я не увидел большого толку в этом деле и тупо обрубил WME в hostapd.conf:

wme_enabled=0

Вот и всё, а хорошие ключики для WPA-PSK можно взять у тов. Гибсона.

Возможно, кстати, с новыми версиями ядер/драйверов/hostapd и прочего всё как-то проще, здесь на сервере практически стоковый Debian etch, а на клиенте чумной Debian sid.

Закомментировать

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