После установки 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=многабукф_хеш_пароля
}
После этого сеть поднялась без проблем.
Официальная страница руководства тут>>>.