(no commit message)
[ikiwiki.git] / docs / howtos / HowToSetUpIpw2200.mdwn
1 "Index"
2
3 [[!toc  levels=3]]
4
5 # Preamble 
6
7 This document is written by a DragonFlyBSD newbie for other newbies, so there may be a better way to setup the ipw2200 wlan adapter. It was tested on a Asus V6800 notebook, but hopefully it should apply to all notebooks with ipw2200 adapters. WPA encryption is not available now (April 2006), and I wasn't unable to get my wlan adapter to establish a WEP connection, so I have only an unprotected WIFI connection, but that may be a problem with my notebook or my router.
8
9
10
11 # Prerequisites 
12
13 You need two things to setup your ipw2200 adapter:
14
15
16 * the if_iwi kernel modules for DragonFlyBSD
17
18 * the firmware for your ipw2200 wlan adapter
19
20
21
22 # Loading the if_iwi kernel module 
23
24 If you've done a fresh install of DragonFlyBSD, the kernel module should already be "ready to use". This is how you can load it:
25
26       # kldload if_iwi 
27     
28     If you don't get an error message, the necessary module is loaded now. If you get this message:
29     
30       kldload: can't load if_iwi: File exists
31     
32     this is ok, too. It means, that the module has already been loaded for you. BTW: you can check, if it's already loaded with this command:
33     
34       # kldstat | grep if_iwi 
35     
36     This should return something similar to this, if the module is loaded:
37     
38       6    1 0xc0759000 c2c8     if_iwi.ko
39     
40     If you don't have the kernel module available, you must build a new kernel. You can find the necessary information to do that in the ["DragonFlyBSD Handbook, chapter 9"](http://leaf.dragonflybsd.org/~justin/handbook/kernelconfig.htm) : (http://leaf.dragonflybsd.org/~justin/handbook/kernelconfig.html) .
41     
42     Later, you can automate loading of the kernel driver by using the /boot/loader.conf file.
43     
44     # Getting the firmware 
45     
46     If you've already set up the pkgsrc system on your machine, you can install it by
47     
48         
49       # cd /usr/pkgsrc/sysutils/iwi-firmware
50       # make install clean
51
52
53 and continue reading at the next section ("Loading the firmware").
54
55 Otherwise, you can  ["download it from" ](http://damien.bergamini.free.fr/iwifw/ipw2200-fw-2.3.tgz) (http://damien.bergamini.free.fr/iwifw/ipw2200-fw-2.3.tgz) and extract to a new directory, e. g. /usr/libdata/iwi_firmware:
56
57     
58       # mkdir /tmp/firmware
59       # cd /tmp/firmware
60       # fetch http://damien.bergamini.free.fr/iwifw/ipw2200-fw-2.3.tgz
61       # tar xvfz ipw2200-fw-2.3.tgz
62       # mkdir /usr/libdata/if_iwi
63       # mv *fw  /usr/libdata/if_iwi
64       # cd ..
65       # rm -fd firmware
66
67
68 Unfortunately, you must rename the files:
69
70     
71       # cd /usr/libdata/if_iwi
72       # mv ipw-2.3-ibss_ucode.fw iwi-ucode-ibss.fw
73       # mv ipw-2.3-sniffer.fw iwi-sniffer.fw
74       # mv ipw-2.3-boot.fw iwi-boot.fw
75       # mv ipw-2.3-bss.fw iwi-bss.fw
76       # mv ipw-2.3-sniffer_ucode.fw iwi-ucode-sniffer.fw
77       # mv ipw-2.3-bss_ucode.fw iwi-ucode-bss.fw
78       # mv ipw-2.3-ibss.fw iwi-ibss.fw
79
80
81 # Loading the firmware 
82
83 Now, you can load the firmware:
84
85     
86       # iwicontrol iwi0 -d /usr/libdata/if_iwi
87
88
89
90 # Configuring the WLAN interface 
91
92 Now, you can configure your ipw2200 adapter.
93
94 First example: without WPA and WEP
95
96     
97       # ifconfig iwi0 inet <ip-address> netmask <netmask> ssid <myssid> wepmode off
98
99 Second example: with WEP
100
101     
102       # ifconfig iwi0 inet <ip-address> netmask <netmask> ssid <myssid> wepmode on wepkey <mywepkey>
103
104
105 (example for a 104/128 bit wepkey hex value: 0xf6fa1c61abc3ca5a3787fdaeae)
106
107 Check your success (example):
108
109     
110       # ifconfig iwi0
111       iwi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
112            inet 192.168.2.101 netmask 0xffffff00 broadcast 192.168.2.255
113            inet6 fe80::212:f0ff:fe07:f5c8%iwi0 prefixlen 64 scopeid 0x3
114            ether 00:12:f0:07:f5:c8
115            media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
116            status: associated
117            ssid catalan 1:catalan
118            channel 6 authmode OPEN powersavemode OFF powersavesleep 100
119            rtsthreshold 2312 protmode CTS txpower 100
120            wepmode OFF weptxkey 1
121
122
123 We have the IP-address 192.168.2.101 with netmask 255.255.255.0 (0xffffff00), and are connected ("associated") to an access point with the name "catalan". We don't use WEP (wepmode OFF) here.
124
125
126 As said at the beginning, I wasn't able to connect to my router/AP with WEP enabled, but it should work (tm). I was only able to make a connection with enabled SSID broadcast, but may be you'll have more luck ;-)
127
128 # DragonFlyBSD Host Access Points
129
130 DragonFlyBSD can act as an Access Point (AP) which eliminates the need to buy a hardware AP or run an ad-hoc network. This can be particularly useful when your DragonFlyBSD machine is acting as a gateway to another network (e.g., the Internet).
131
132 Before configuring your DragonFlyBSD machine as an AP, the kernel must be configured with the appropriate wireless networking support for your wireless card. You also have to add the support for the security protocols you intend to use.
133
134        # kldload /boot/kernel/wlan_xauth.ko   
135
136 to add wpa security protocols
137
138 Once the wireless networking support is loaded, you can check if your wireless device supports the host-based access point mode (also know as hostap mode):
139
140        # ifconfig wlan0 create wlandev ath0
141        # ifconfig wlan0 list caps
142
143         drivercaps=6f85edc1<STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,
144         SHPREAMBLE,MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG>
145         cryptocaps=1f<WEP,TKIP,AES,AES_CCM,TKIPMIC>
146
147 This output displays the card capabilities; the HOSTAP word confirms this wireless card can act as an Access Point. Various supported ciphers are also mentioned: WEP, TKIP, AES, etc., these informations are important to know what security protocols could be set on the Access Point.
148
149 The wireless device can only be put into hostap mode during the creation of the network pseudo-device, so a previously created device must be destroyed first:
150
151        # ifconfig wlan0 destroy
152
153 then regenerated with the correct option before setting the other parameters:
154
155        # ifconfig wlan0 create wlandev ath0 wlanmode hostap
156        # ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid dfbsdap mode 11g channel 1
157
158 Use again ifconfig to see the status of the wlan0 interface:
159
160        # ifconfig wlan0
161          wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
162          ether 00:11:95:c3:0d:ac
163          inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
164          media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
165          status: running
166          ssid dfbsdap channel 1 (2412 MHz 11g) bssid 00:11:f5:64:16:62
167          regdomain 100 indoor ecm authmode OPEN privacy OFF txpower 19
168          scanvalid 60 protmode CTS wme burst dtimperiod 1 -dfs
169
170 The hostap parameter indicates the interface is running in the host-based access point mode.
171
172 Now you need to configure hostapd and become gateway:
173
174         # sysctl net.inet.ip.forwarding=1
175
176
177 set a NAT, if you use PF the sample chapter of Book of PF explain how to:
178
179 http://www.tinker.tv/download/pf_ch4.pdf
180
181 with a dhclient deamon and the game is done.