FreeBSD: настройка Wi Fi

Автор: | 04/07/2012

После установки FreeBSD 9.0 и KDE 4.8 на ноутбук захотелось настроить на нём WiFi.

Установка довольно простая, хотя без проблем не обошлось.

Найдем нашу WiFi карту:

# pciconf -vl | grep Wireless
device     = ‘AR9287 Wireless Network Adapter (PCI-Express)’

При загрузке FreeBSD определила карту как ath0:

# ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether cc:af:78:2d:25:c2
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
status: no carrier

Добавим в /etc/rc.conf строки:

wlans_ath0=”wlan0″
ifconfig_wlan0=”WPA DHCP”

Первая строка создает интерфейс wlan0, вторая – указывает типа шифрования и что настройки требуется получать по DHCP от WiFi-роутера.

Кроме того, в файл /boot/loader.conf добавим такие строки:

if_ath_load=”YES”
wlan_wep_load=”YES”
wlan_ccmp_load=”YES”
wlan_tkip_load=”YES”

Теперь настроим само подключение к сети.

Что бы не перезагружать машину сейчас, создадим интерфейс вручную – в дальнейшем он будет создаваться с помощью записи в /etc/rc.conf:

# ifconfig wlan0 create wlandev ath0

Проверим доступные сети:

# ifconfig wlan0 list scan
SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
setevoy_hom…  58:6d:8f:ae:c3:c8    1   54M -62:-96  100 EP   RSN HTCAP WPS WPA WME

Либо:

# ifconfig wlan0 up scan
SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
setevoy_hom…  58:6d:8f:ae:c3:c8    1   54M -62:-96  100 EP   RSN HTCAP WPS WPA WME

В данный момент интересует сеть setevoy_home_network.

Для настройки подключения к ней используем wpa_passphrase:

# wpa_passphrase setevoy_home_network mypassword >> /etc/wpa_supplicant.conf

Теперь, в файле /etc/wpa_supplicant.conf должны появится такие строки:

network={
ssid=”setevoy_home_network”
#psk=”mypassword ”
psk=многабукф_хеш_пароля
}

Теперь, после рестарта машины или сети:

# /etc/rc.d/netif restart && /etc/rc.d/routing restart

должно появится подключение:

# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether cc:af:78:2d:25:c2
inet 192.168.1.141 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
status: associated
ssid setevoy_home_network channel 1 (2412 MHz 11g) bssid 58:6d:8f:ae:c3:c8
regdomain 101 indoor ecm authmode WPA2/802.11i privacy ON
deftxkey UNDEF TKIP 2:128-bit TKIP 3:128-bit txpower 20 bmiss 7
scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
roam:rate 5 protmode CTS wme burst roaming MANUAL

Одна из возможных проблем заключалась в том, что wlan0 никак не хотел получать IP от DHCP-сервера на роутере. Выглядело это так:

# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether cc:af:78:2d:25:c2
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: associated
ssid “” channel 12 (2467 MHz 11g)
regdomain 101 indoor ecm authmode WPA1+WPA2/802.11i privacy OFF
txpower 20 bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
roam:rssi 7 roam:rate 5 protmode CTS wme burst

Т.е. строка inet 0.0.0.0 постоянно выдавала нули вместо нормального IP, хотя само подключение присутствовало – status: associated.

Решение – отредактировать файл /etc/wpa_supplicant.conf и заменить некоторые строки.

Вместо:

network={
ssid=”setevoy_home_network”
#psk=”mypassword ”
psk=многабукф_хеш_пароля
}

Сделать так:

network={
ssid=”setevoy_home_network”
psk=”mypassword ”
#psk=многабукф_хеш_пароля
}

После этого сеть поднялась без проблем.

Официальная страница руководства тут>>>.