Last modified: Jul. 26, 2008
Contents
1 - Summary
2 - Kernel Configuration
3 - Wireless Commands
4 - WEP Network Configuration
5 - WPA2-Personal (WPA-PSK) Network Configuration
1 - Summary
This little guide will show you how to get wireless working in FreeBSD 6.2.
For this guide to work you will need to have your wireless network card
installed and be running FreeBSD 6.2. The card I have is a Cisco Aironet
CardBus card (CB21AG).
2 - Kernel Configuration
You will need to have the following lines added to your kernel configuration
file.
device wlan # 802.11 support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
After adding these lines into your kernel configuration file you will need to
recompile the kernel and reboot your machine. After rebooting your machine,
you should see something like the following for your wireless card.
ath0: mem 0xf6010000-0xf601ffff irq 16 at device 0.0 on cardbus0
ath0: Ethernet address: 00:40:96:af:20:70
ath0: mac 5.9 phy 4.3 radio 3.6
3 - Wireless Commands
You can display the capabilities of your wireless card by typing the
following.
# ifconfig ath0 list caps
ath0=783ed0f WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,
MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME
You can search for wireless access points by typing the following.
# sudo ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
******** 00:1a:c4:c4:1d:e9 2 54M 11:0 100 EPS
******** 00:1a:c4:0f:47:59 4 54M 7:0 100 EPS
******** 00:19:e4:b0:f2:a1 4 54M 4:0 100 EPS
***** 00:14:95:ce:46:29 6 54M 5:0 100 EPS
****** 00:14:bf:18:a5:bb 6 54M 4:0 100 E
***** 00:1b:11:eb:6f:3f 6 54M 6:0 100 ES
******* ***** 00:1b:2f:d6:83:60 9 54M 11:0 100 EPS WPA WME
******** 00:15:e9:d3:ee:0a 11 54M 20:0 100 EPS
********* 00:11:95:2c:6e:c0 11 54M 23:0 100 EP
********* 00:14:bf:38:e9:43 11 54M 10:0 100 EP WPA
********* 00:17:3f:59:50:7e 11 54M 39:0 100 EP RSN
******** 00:14:6c:92:0d:d2 11 54M 14:0 100 EP
**** 00:11:50:71:bb:34 11 54M 19:0 100 EPS
*********** 00:19:a9:a9:37:a0 36 54M 31:0 100 EP WME
*********** 00:19:a9:a5:37:c0 1 54M 44:0 100 EPS WME
4 - WEP Network Configuration
You can connect to a WEP network by doing the following. This command will
associate your machine to the access point with the following: an open
authorization mode, a specified bssid (MAC address of the AP), a specified
key with hexidecimal value, and a specified ssid.
# sudo ifconfig ath0 authmode open bssid 00:19:A9:A5:37:C0 deftxkey 1 \
ssid *********** wepmode on wepkey 1:0x000...
You can now get an IP address via DHCP.
# sudo dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.8
bound to 192.168.1.16 -- renewal in 43200 seconds.
Check the status of your ath0 device.
# ifconfig ath0
ath0: flags=8843 mtu 1500
inet 192.168.1.16 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:40:96:af:20:70
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid *********** channel 1 bssid 00:19:a9:a5:37:c0
authmode OPEN privacy ON deftxkey 1 wepkey 1:104-bit txpowmax 40
bmiss 7 protmode CTS burst bintval 100
You can set your machine to connect to this access point at startup by doing
the following.
ifconfig_ath0="authmode open bssid 00:19:A9:A5:37:C0 deftxkey 1 \
ssid *********** wepmode on wepkey 1:0x000... DHCP"
# sudo vi /etc/rc.conf
5 - WPA2-Personal (WPA-PSK) Network Configuration
You can connect to a WPA2-Personal (WPA-PSK) network by doing the following.
This command will generate a pre-shared WPA key from an ASCII passphrase and
a specified ssid. The output will need to be added to network block in the
/etc/wpa_supplicant.conf file.
# wpa_passphrase ssid passphrase
network={
ssid="***********"
#psk="***********"
psk=****************************************************************
}
Add the following to /etc/wpa_supplicant. This network block specifies the
following: a specified ssid, scan enabled for ssid that isn't broadcast, a
specified bssid (MAC address of the AP), a specified wireless protocol, a
specified key management protocol, a specified pairwise cipher, a specified
group cipher, and a specified WPA pre-shared key.
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
eapol_version=1
ap_scan=1
fast_reauth=1
network={
ssid="***********"
scan_ssid=1
bssid=00:13:10:da:df:04
priority=0
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
#psk="***********"
psk=****************************************************************
}
# sudo vi /etc/wpa_supplicant.conf
This command will associate your machine to the access point.
# sudo wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:10:da:df:04 (SSID='***********' freq=2412 MHz)
Associated with 00:13:10:da:df:04
WPA: Key negotiation completed with 00:13:10:da:df:04 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:13:10:da:df:04 completed (auth)
You can now get an IP address via DHCP.
# sudo dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.10 -- renewal in 43200 seconds.
Check the status of your ath0 device.
# ifconfig ath0
ath0: flags=8843 mtu 1500
inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:40:96:af:20:70
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid *********** channel 6 bssid 00:13:10:da:df:04
authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 2:128-bit
txpowmas 40 bmiss 7 protmode CTS burst roaming MANUAL bintval 100
You can set your machine to connect to this access point at startup by doing
the following.
ifconfig_ath0="WPA DHCP"
# sudo vi /etc/rc.conf
|