После установки 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
ether cc:af:78:2d:25:c2
nd6 options=29
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
ether cc:af:78:2d:25:c2
inet 192.168.1.141 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29
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
ether cc:af:78:2d:25:c2
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
nd6 options=29
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=многабукф_хеш_пароля
}
После этого сеть поднялась без проблем.
Источник: http://rtfm.co.ua/freebsd-nastrojka-wi-fi/