1 AUTHOR: Dr. Edgar Alwers <edgaralwers@gmx.de>
5 LICENSE: GNU Free Documentation License Version 1.2
7 SYNOPSIS: Wireless Communication from the sources
11 BLFS 6.x with kernel 2.6.18
16 This is a Hint explaining how to prepare a PC for wireless communication with
17 the Internet and how to put it into operation. I solved this problem with the
18 help of hints and advices given by many persons, and working through lots of
19 papers, many of them not beeing actual anymore at this time.
20 The object I had to deal with is an 'Acer' TravelMate 291LCi with Intel Centrino
21 Mobile Technology, equiped with an Intel PRO/Wireless 2200BG(IEEE 802.11b/g)
22 chip. The Laptop communicates with an 54 Mbps Wireless Netgear ADSL Firewall
23 Router DG834G as access point However, there are good chances, that this hint
24 may also be applied to other PC's with other drivers. If you cannot obtain a
25 native Linux driver for your wireless NIC, you may want to try 'ndiswrapper', a
26 package that will allow to load a Windows driver under Linux.
28 The kernel compiled is version 2.6.18. This kernel includes already an 'old'
29 driver ipw2200 and a iee802 subsystem, which should not be enabled, as they are
30 beeing provided separate.
32 Additional instructions are given, how to operate a PC in a wireless field under
33 a DHCP Server ( Dynamic Host Configuration Protocol ) providing IP's to the
34 clients. This is the probably situation which will be found in most public
35 locations, like airports, hotels etc.
45 Configuring the kernel:
53 Network device support->
54 Wireless LAN (non-harmradio)->
55 Wireless LAN drivers & Wireless Extensions
56 cryptographic optionsI->
57 ARC4 cipher algorithm (Modul)
59 Make sure, that the following capabilities are not enabled:
62 Generic IEE 802.11 Networking Stack
64 Network device support->
65 Wireless LAN ( non-hamradio ) ->
66 Intel PRO/Wireless 2200BG and
68 compile and install the kernel according to the instructions of the book 'Linux
73 Scripts that react upon hotplug events generated by the kernel
75 hotplug-2004_09_23.tar.bz2
76 http://www.kernel.org/pub/linux/utils/kernel/hotplug
78 Install hotplug issuing a 'make install' in the untared directory.
82 Kernel subsystem dealing with communications security
86 http://ieee80211.sourceforge.net
87 Untar the file, change to the ieee80211-1.1.15 directory and enter make, make
89 Includes headerfiles in /lib/modules/2.6.18/net
91 INTEL'S PRO/WIRELESS DRIVER AND FIRMWARE
94 ipw2200_linux_1_2_0.tgz
95 http://ipw2200.sourceforge.net
96 Unter the file. Two new tar files will be included in the new created
97 'intel_ipw2200_120' directory: ipw2200-1.2.0.tgz, the PRO/Wireless driver, and
98 ipw2200-fw-3.0.tgz, the firmware.
100 Untar the firmware file in the directory /lib/firmware. Four files
101 ipw-2200-xxx.fw will be found there after untaring
103 Untar the PRO/Wireless driver file, change to the ipw2200-1.2.0 directory and
104 enter make, make install. ( as su )
106 The driver requires the firmware image as well as the ieee80211 module
107 installed. sysfs should be already mounted
109 See also the INSTALL file for more instructions
113 Set of tools that allows to manipulate Wireless Extensions
114 Download the wireless tools:
115 wireless_tools.28.tar.gz
116 http://pcmcia-cs.sourceforge.net/ftp/contrib/
117 Untar the file, change to the wireless_tools.28 directory and enter make, make
119 Seven tools will be installed in /usr/local/sbin: iwconfig, iwlist,
120 ifrename,iwevent,iwgetid, iwpriv and iwspy
121 Make a link from KDE_Prefix/bin to /usr/local/sbin:
122 ln -s /usr/local/sbin/iwconfig KDE_Prefix/bin/iwconfig
124 THE DHCPCD CLIENT SOFTWARE
126 Software to connect a computer to a network which uses DHCP to assign network
127 addresses.There are two alternatives: dhcp, which includes also the server
128 software, and dhcpcd, an implementation of the DHCP client specified in RFC2131.
129 I prefered dhcpcd, wich seems to be more simple.
132 http://prdownload.berlios.de/dhcpcd/
133 Untar, change to the dhcpcd-2.0.8 directory and enter
134 ./configure --prefix="" --mandir=/usr/share/man
136 and, as superuser, make install, and
137 chmod -v 754 /etc/dhcpc/dhcpcd.exe.
138 The reason for the prefix "" in the configuration command is explained in the
139 blfs-book, version svn-20061028, chapter 14.
140 Install the network service script
141 /etc/sysconfig/network-devices/services/dhcpcd and create
142 /etc/sysconfig/network-devices/ifconfig.eth1/dhcpcd configuration file as
143 indicated in the same place
147 If everything went right, the PC boots and loads firmware and wireless-driver.
148 The corresponding booting messages will look like
150 ieee80211_crypt: registered algorithm 'NULL'
151 ieee80211: 802.11 data/management/control stack, 1.1.6
152 ieee80211: Copyright (C) 2004-2005 Intel Corporation
153 <jketreno@linux.intel.com>
154 ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
155 ipw2200: Copyright(c) 2003-2005 Intel Corporation
156 ACPI: PCI Interrupt Link [LNKG] enabled at IRQ 10
157 ACPI: PCI Interrupt 0000:01:02.0[A] -> Link [LNKG] -> GSI 10 (level,
159 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
160 Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)
165 There are many prrograms that allows the monitoring of wireless communications.
166 I installed two of them: 'Wireshark' ( former ethereal ) and 'KWiFiManager'.
168 'wireshark' is a powerfull network protocol analyser ( packet sniffer ).
169 Download 'wireshark-0.99.4.tar.gz' from http://www.wireshark.org/download/src
170 Untar the file and run ./configure, make and make install.
172 'kwifimanager' is a KDE frontend program used to configure and monitor wireless
173 LAN cards. 'kwifimanager' is part of 'kdenetwork'. Download
174 kdenetwork_3.4.1.tar.bz2 and follow the instructions given e.g. In BLFS -
175 Version 6.1, chapter 29. Wireless tools should be installed before building this
178 CONFIGURING THE ROUTER - SAFETY CONSIDERATIONS
180 during the installation of the wireless system, the safety options of the router
181 are deactivated. Now, it is time to activate them. Access the settings menu of
182 the router through a browser, entering something like http://192.168.0.1. I
183 activated WEP ( Wired Equivalent Privacy ) with 64 bit encryption. You may
184 consider a 125 bit encryption
186 Enter a password in the encryption field, and the router will generate four
187 keys, each one consisting of 10 characters, combining numbers 1 to 9 and letters
188 A-F, like:EC670531BE. The first of this four keys is the one beeing normally
191 Furthermore, the MAC-addresses ( Media Access Control ) of the laptop's and PC's
192 wich are allowed to access the router shoud be entered in the access list
193 'trusted wireless stations'. You may get the MAC addresses from the list of
194 connected devices in the settings menu of the router or with the help of a
195 network exploration tool like 'nmap' ( Network Mapper ), in the last case e.g.
196 entering 'nmap -sP 192.168.0.1/22'
198 However, even a 125 bit encryption does not give a real security today.
199 According to a note contributed by Bryan Kadzban, real security can only be
200 obtained with WPA or WPA2 encryption. You may want to consider this, if you have
201 confidential data to transmit.
203 CONFIGURING THE PC FOR WIRELESS COMMUNICATIONS
205 immediately after the safety options of the router are activated, the PC will
206 not more be able to see the access point: the PC also needs to be configured.
207 Entering the command 'iwconfig eth1 key xxxxxxxxxx' enables the communication,
208 but not permanently. For a permanent configuration, write a shell-script
209 e.g.'connect' in /etc/rc.d/init.d:
211 /usr/local/sbin/iwconfig eth1 key xxxxxxxxxx
212 and make this script executable: chmod ug+x connect. Make a symbolic link in
213 /etc/rc.d/rc3.d that points to this script: ln -s /etc/rc.d/init.d/connect
214 S19connect. The link should start with something like S19, as the script should
215 be run before the S20network script is executed. For an unencrypted system,
216 likely to be found on public places, the command in the script should not
218 /usr/local/sbin/iwconfig eth1
220 Create a directory 'ifconfig.eth1' in '/etc/sysconfig/network-devices', and cd
222 For operation withouth DHCP create a ipv4 file:
225 IP=192.168.1.3 // the address of your box
226 GATEWAY=192.168.1.9 // the address of your router
228 BROADCAST=192.168.1.255
229 NETMASK=255.255.255.0
230 and change GATEWAY_IF in /etc/sysconfig/network to eth1.
232 For operation with DHCP create instead ipv4 a file dhcpcd:
235 DHCP_START="eth1 -t 20"
238 # Set PRINTIP="yes" to have the script print
239 # the DHCP assigned IP address
242 # Set PRINTALL="yes" to print the DHCP assigned values for
243 # IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
246 USING THE WIRELESS CONNECTION
248 After booting, lsmod shows
251 ieee80211 45356 1 ipw2200
252 ieee80211_crypt 4512 1 ieee80211_crypt_wep,
255 The command 'iwconfig eth1' entered in a console delivers
256 eth1 IEEE 802.11g ESSID:"Mannheim"
257 Mode:Managed Frequency:2.462 GHz Access Point:
259 Bit Rate=48 Mb/s Tx-Power=20 dBm Sensitivity=8/0
260 Retry limit:7 RTS thr:off Fragment thr:off
261 Encryption key:57E4-DB3A-B1 Security mode:open
263 Link Quality=95/100 Signal level=-29 dBm Noise level=-86 dBm
264 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
265 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
266 As the ONBOOT parameter was set to 'yes', the connection to the access point is
269 The internet browser should be configured with direct access to the internet.
270 Opening the browser should establish immediately a connection.
272 USING THE WIRELESS CONNECTION UNDER A DHCP SERVER
274 I experienced some problems starting the dhcpcd daemon during the boot process.
275 So I decided to set the ONBOOT parameter in the file
276 /etc/sysconfig/network-devices/ifconfig.eth1/dhcpcd to 'no', as indicated above,
277 and to start as 'su' a little script 'eth1_connect' :
281 After starting the daemon dhcpcd, the connection to the access point is activ.
285 I have tryed to compile articles, informations, hints and answers to questions I
286 put in the BLFS-mailing list to this hint. Many thanks to all those who
287 contributed: Gabe Yoder, Andrew Benton, Alexander E. Patrakov, Jim Gifford,
288 David Fix, Rainer Peter Feller, Chris Staub, Randy McMurchy,
289 Jeremy Monnet, Stefan Krah, Bryan Kadzban.
292 LINKS AND LITERATURE:
294 Intel PRO/Wireless driver
295 http://ipw2200.sourceforge.net
297 Linux Wireless Networking
298 http://www.linuxhomenetworking.com/linux-hn/wmp11-linux.html
300 Wireless LAN Resources for Linux
301 http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/Tools.html
304 http://www.wireshark.org/
306 The devices, the drivers... Jean Tourrilhes
307 http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/Linux.Wireless.drivers.802.
308 1.11ag.html#CentrinoAG
310 Sane network interface management with Hotplug. Jean Tourrilhes
311 http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/HOTPLUG.txt
314 http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation
320 Remarks concerning safety considerations
321 Additional notes concerning DHCP-Server operation
322 Chapter "The DHCPCD Client Software"
323 Configuring the PC for operation under DHCP
324 Subsystem IEE80211-1.1.6 changed to IEE80211-1.1.12
325 Intel PRO/WIRELESS driver ipw2200-1.0.8 changed to ipw2200-1.0.10
326 Using the wireless connection under a DHCP server
330 Kernel version 2.6.18
331 Kernel configuration changed
332 Hotplug instructions changed
333 UDEV is now part of the system
334 ieee80211 version changed to 1.2.15
335 New versions of Intel's PRO/Wireless driver and firmware
336 Wireless tools version 28
338 new message booting the PC
339 'Kismet' skipped, 'wireshark' introduced
340 Links and literature changed