Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

13.06.2008

Wi-Fi, freebsd, WPA2

Дошли мои шаловливые ручки наконец то до Wi-Fi в ноутбуке и его совместной работы с роутером, эх как все хорошо в опенсолярисе всплыло окошко выбрал сеть ввел пароль и работай :) Во FreeBSD все оказалось куда хитрее и заковырестее, для начала Wi-Fi сетевушка просто не определилась и
#pciconf -lv
none0@pci0:2:0:0: class=0x028000 card=0x10418086 chip=0x42228086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '10418086 Intel 3945ABG Wireless LAN controller'
class = network
#kldload if_wpi
wpi0@pci0:2:0:0: class=0x028000 card=0x10418086 chip=0x42228086 rev=0x02
hdr=0x00
vendor = 'Intel Corporation'
device = '10418086 Intel 3945ABG Wireless LAN controller'
class = network
Правда компетентные источники в лице интернета еше советуют подгрузить модуль wpifw.ko и прописать в loader.conf строчку legal.intel_wpi.license_ack=1.
После этих хитрых операций можно наблюдать радостное событие в ifconfig появляется заветная секция
wpi0: flags=8802 metric 0 mtu 2290
ether 00:19:d2:d4:65:0a
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: no carrier
вроде бы все хорошо и можно пробовать запускать wpa_supplicant благо конфиг для него сделать не проблемма примерами кишит и интернет, да и в мане они хорошо расписаны но не тут то было при вводе команды
# wpa_supplicant -BDbsd -i wpi0 -c/etc/wpa_supplicant.conf -dd
Initializing interface 'wpi0' conf '/etc/wpa_supplicant.conf' driver 'bsd' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface_group='0' (DEPRECATED)
eapol_version=1
ap_scan=1
fast_reauth=1
Line: 5 - start of a new network block
ssid - hexdump_ascii(len=4):
66 72 65 65 free
scan_ssid=1 (0x1)
proto: 0x2
key_mgmt: 0x2
pairwise: 0x10
group: 0x10
PSK - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='free'
Initializing interface (2) 'wpi0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
ioctl[SIOCG80211, op 98, len 3076]: Invalid argument
wpa_driver_bsd_init: failed to get device capabilities: Invalid argument
Failed to initialize driver interface
Failed to add interface wpi0
Cancelling scan request
Cancelling authentication timeout
итого не фига не работает, да ключик -dd как раз нам дает расширеную диагностику иначе мы бы увидели только строчку ioctl[SIOCG80211, op 98, len 3076]: Invalid argument которая не сильно информативна, и тут нам на помошь опять пришел всезнаюший интернет и оказалось что для счастья надо запустить влан, для этого выполняется нехитрая команда
# ifconfig wlan0 create wlandev wpi0
# wpa_supplicant -BDbsd -i wlan0 -c/etc/wpa_supplicant.conf -dd
Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'bsd' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface_group='0' (DEPRECATED)
eapol_version=1
ap_scan=1
fast_reauth=1
Line: 5 - start of a new network block
ssid - hexdump_ascii(len=4):
66 72 65 65 free
scan_ssid=1 (0x1)
proto: 0x2
key_mgmt: 0x2
pairwise: 0x10
group: 0x10
PSK - hexdump(len=32): [REMOVED]
Priority group 0
id=0 ssid='free'
Initializing interface (2) 'wlan0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
Own MAC address: 00:19:d2:d4:65:0a
wpa_driver_bsd_set_wpa: enabled=1
wpa_driver_bsd_set_wpa_internal: wpa=3 privacy=1
wpa_driver_bsd_del_key: keyidx=0
wpa_driver_bsd_del_key: keyidx=1
wpa_driver_bsd_del_key: keyidx=2
wpa_driver_bsd_del_key: keyidx=3
wpa_driver_bsd_set_countermeasures: enabled=0
wpa_driver_bsd_set_drop_unencrypted: enabled=1
Setting scan request: 0 sec 100000 usec
Added interface wlan0
Daemonize..

И как видно все запускается, но вот интерфейс продолжает пребывать в статусе status: no carrier
так что вайфая пока нет хотя команда
# ifconfig wlan0 list scan
SSID BSSID CHAN RATE S:N INT CAPS
free 00:1b:11:fb:2f:b4 1 54M 29:0 100 EPS WPA RSN
как и ожидается выдает полную подноготную моей точки доступа, ладно буду думать дальше, видно что то упустил.
Заодно возник вопрост с роутингом, ибо по дефолту он выглядит так
# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.102.2.65 UGS 0 1099 fxp0
а надо бы что бы интерфейсом стал wlan0 ну пока дошел до такой команды
#route change default -iface wlan0
но пока соединение не налажено так что проверить ее работоспособность до конца не удается.

9 комментариев:

  1. фря то у тебя какая?? коль wpi впринципе виден, то по идее 7.х...

    под 7.х фрей wpi на ура пашет. конфиг идет далее.

    nabooka# grep wpi /etc/rc.conf
    ifconfig_wpi0="WPA 192.168.1.3/24"

    или в том же rc.conf
    ifconfig_wpi0="WPA DHCP"
    чтоб оно ип автоматом получало... для WPA2 :

    nabooka# cat /etc/wpa_supplicant.conf
    ctrl_interface=/var/run/wpa_supplicant

    network={
    ssid="STATIONNME"
    psk="PASSWORD"
    }

    и вперед... все пашет на ура... без танцев с wlan иже с ним... коль чего whois -r avr39-ripe и там контакты...

    ОтветитьУдалить
  2. Система Current, а тут wpa_supplicant вроде не принимает интерфейсы, ему видите ли влан подавай :)
    Да вроде все настроил уже, и почти добился чтоб грузилось при старте, так еше надо кое над чем поразмыслить, еше думаю глянуть как в опенсолярисе организован nwam очень он мне там понравился :) ыдруг во фре можно организовать.

    ОтветитьУдалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. На 7.0-RELEASE поднялось с коробки. Прописал в wpa_supplicant.conf настройки и все. Конфиг такой же как и выше.

    ОтветитьУдалить
  5. Да и на Фряхе у многих работает, а про вланы смотри мой комент выше, в обшем эксперементируем :)

    ОтветитьУдалить
  6. спасибо за статью, команда создания влана очень помогла. я то думаю, че ему аргумент не нравится :-D начал уж грешить на с ттрудом найденные дрова на dlink 125
    и еще удивил момент со сменой шлюза. на линухе менять не надо было, по дхцп все получал и интерфейс шлюза сам прописывался. интересно.

    ОтветитьУдалить
  7. Да это так рабочая заметка, надо бы её как следует расписать, что к чему, а то народу немало забредает, но всё как то лень :)
    шлюз и прочие нормально прописываются dhclient это я тут что то руками баловался.

    ОтветитьУдалить
  8. Подскажите, подключится DWA-110 как клиент во FreeBSD 8.2 к скрытой точке доступа? Нескрытые точки находит, если смотреть вывод wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant.conf а вот скрытую точку не видит...

    ОтветитьУдалить
  9. Ну так на то она наверное и скрытая, что бы её было не видно ;)
    Хотя вроде оно должно быть с пустым полем ssid.
    А подключатся так же как и к не скрытой, прописываете параметры подключения, и оно подключается.
    Если хочется подробнее, то айда на форум, на тот же http://forum.lissyara.su с логами и прочими подробностями

    ОтветитьУдалить

Здесь можно записать свои мысли о посте :)
Если ваш ответ не появился сразу, не паникуйте, тут работает спамоловка, и вероятно вы угодили в неё, так как были анонимом или в вашем посте ссылка, ну или вас не любит google.
Я проснусь и одобрю комент ;)