<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<guide link="linux-wireless.xml">
<title>Gentoo Wireless Guide</title>
<author title="Author">
<mail link="latexer@g.o">Peter Johanson</mail>
</author>
<abstract>
</abstract>
<license/>
<version>0.5</version>
<date>27 Sep 2004</date>
<chapter>
<title>Basic Principles</title>
</chapter>
<chapter>
<title>Chipsets and Drivers</title>
<body>
<p>
Although support has gotten better over the years, support for various wireless
hardware is still sometimes a problem. Some hardware vendors are very
forthcoming and helpful in either releasing specs or drivers for their hardware,
and others are not. When shopping for hardware, it is best to first consult
resources to be sure that the hardware you buy includes a supported chipset. A
list of cards and their chipset is available from <uri
link="http://www.linux-wlan.org/FIXME">http://www.linux-wlan.org/FIXME</uri>.
Sometimes the websites for various drivers also contain lists of cards support
by the driver.
</p>
<p>Below is a list of chipsets that have some or full linux support. If the
driver is in the kernel, or available in an ebuild in portage, it is listed in
the third column. Otherwise, you may need to install the driver by hand.
Chipsets with several driver options are listed multiple times. This is not an
exhaustive list, and you should google for any chipsets not listed here to see
if a driver may be available.
</p>
<table title="Supported 802.11b Chipsets">
<tr>
<th>Chipset</th>
<th>Driver</th>
<th>Availability</th>
</tr>
<tr>
<td>Prism 2/2.5/3</td>
<td><uri link="http://hostap.epitest.fi/">hostap</uri></td>
<td>hostap-driver package in Portage.</td>
</tr>
<tr>
<td>HERMES (Prism 2/2.5/3)</td>
<td><uri link="FIXME">orinoco</uri></td>
<td>Available in 2.4 and 2.6 kernels. External package with latest
version is available from their website.</td>
</tr>
<tr>
<td>Intel Pro 2100 (Centrino)</td>
<td><uri link="http://ipw2100.sourceforge.net/">ipw2100</uri></td>
<td>ipw2100 package in Portage.</td>
</tr>
<tr>
<td>Cisco</td>
<td><uri
link="http://www.sourceforge.net/projects/airo/">airo</uri></td>
<td>Available in both 2.4 and 2.6 kernels.</td>
</tr>
</table>
<table title="Supported 802.11a/b/g Chipsets">
<tr>
<th>Chipset</th>
<th>Driver</th>
<th>Availability</th>
</tr>
<tr>
<td>Atheros</td>
<td><uri
link="http://www.sourceforge.net/projects/madwifi/">madwifi</uri></td>
<td>madwifi-driver package in Portage.</td>
</tr>
<tr>
<td>Prism Duette/GT</td>
<td><uri link="http://www.prism54.org/">prism54</uri></td>
<td>Available in recent 2.6 kernels. For 2.4 kernels use the packages
from the prism54.org website. (Driver for USB versions is under
developement.</td>
</tr>
<tr>
<td>Intel Pro 2200 (Centrino)</td>
<td><uri link="http://ipw2200.sourceforge.net/">ipw2200</uri></td>
<td>ipw2200 package in Portage.</td>
</tr>
</table>
</body>
</chapter>
<chapter>
<title>Basic Commands</title>
<body>
<p>
Most basic wireless utilities come from the <i>wireless-tools</i> package. This
contains utilities for setting card parameters, querying card parameters,
scanning for networks, etc. Below are some of the basic commands you can use
with these tools.
</p>
<pre caption="Seeing your cards basic settings">
# <i>iwconfig eth1
eth1 IEEE 802.11g ESSID:"Verizon Wi-Fi"
Mode:Managed Frequency:2.422 GHz Access Point: 00:02:2D:8D:20:0A
Bit Rate:11 Mb/s Tx-Power:50 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=16/94 Signal level=-79 dBm Noise level=-95 dBm
Rx invalid nwid:243 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
</i>
</pre>
<pre caption="Changing basic settings">
# <i>iwconfig eth1 essid GentooNetwork</i>
<note>Set the network name</note>
# <i>iwconfig eth1 mode ad-hoc</i>
<note>Set the mode (managed, ad-hoc, master, or monitor). Some modes may not be
available in some drivers.</note>
# <i>iwconfig eth1 channel 7</i>
<note>Set the channel</note>
# <i>iwconfig eth1 ap 00:02:2D:8D:20:0A</i>
<note>Specify a specific access point to connect to</note>
</pre>
<note>
Further details about iwconfig can be found in <b>man iwconfig</b>
</note>
<p>
To see a list of access point available, you can use <b>iwlist</b>. At this
point, most driver support this operation, but beware that some older drivers do
not. When scanning, you will see details about the network name, channel,
strength, use of WEP, and rates.
</p>
<pre caption="Searching for networks">
# <i>iwlist eth1 scan
eth1 Scan completed :
Cell 01 - Address: 00:09:5B:C6:A9:3A
ESSID:"MB"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=9/94 Signal level=-86 dBm Noise level=-95 dBm
Encryption key:off
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5 Mb/s
Bit Rate:6 Mb/s
Bit Rate:9 Mb/s
Bit Rate:11 Mb/s
Bit Rate:12 Mb/s
Bit Rate:18 Mb/s
Bit Rate:24 Mb/s
Bit Rate:36 Mb/s
Bit Rate:48 Mb/s
Bit Rate:54 Mb/s
Extra:bcn_int=100
Cell 02 - Address: 00:02:2D:18:0A:52
ESSID:"Verizon Wi-Fi"
Mode:Master
Frequency:2.442 GHz (Channel 7)
Quality=5/94 Signal level=-90 dBm Noise level=-95 dBm
Encryption key:off
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5 Mb/s
Bit Rate:11 Mb/s
Extra:bcn_int=100
Cell 03 - Address: 00:0C:85:4C:B4:24
ESSID:""
Mode:Master
Frequency:2.462 GHz (Channel 11)
Quality=16/94 Signal level=-79 dBm Noise level=-95 dBm
Encryption key:on
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5 Mb/s
Bit Rate:11 Mb/s
Extra:bcn_int=100
</i>
</pre>
<p>
Driver can also implement private controls, for various special functions to
either set or query for data. Here is an example showing how to see what
functions are available (example shows results when using the madwifi driver).
</p>
<pre>
# <i>iwpriv ath0
ath0 Available private ioctl :
setoptie (8BE8) : set 256 byte & get 0
getoptie (8BE9) : set 0 & get 256 byte
setkey (8BE2) : set 60 byte & get 0
getkey (89F3) : set 0 & get 60 byte
delkey (8BE4) : set 7 byte & get 0
setmlme (8BE6) : set 10 byte & get 0
addmac (8BEA) : set 1 addr & get 0
delmac (8BEC) : set 1 addr & get 0
chanlist (8BEE) : set 32 byte & get 0
setparam (8BE0) : set 2 int & get 0
getparam (8BE1) : set 1 int & get 1 int
turbo (0001) : set 1 int & get 0
get_turbo (0001) : set 0 & get 1 int
mode (0002) : set 1 int & get 0
get_mode (0002) : set 0 & get 1 int
authmode (0003) : set 1 int & get 0
get_authmode (0003) : set 0 & get 1 int
protmode (0004) : set 1 int & get 0
get_protmode (0004) : set 0 & get 1 int
mcastcipher (0005) : set 1 int & get 0
get_mcastcipher (0005) : set 0 & get 1 int
mcastkeylen (0006) : set 1 int & get 0
get_mcastkeylen (0006) : set 0 & get 1 int
ucastciphers (0007) : set 1 int & get 0
get_uciphers (0007) : set 0 & get 1 int
ucastcipher (0008) : set 1 int & get 0
get_ucastcipher (0008) : set 0 & get 1 int
ucastkeylen (0009) : set 1 int & get 0
get_ucastkeylen (0009) : set 0 & get 1 int
roaming (000C) : set 1 int & get 0
get_roaming (000C) : set 0 & get 1 int
privacy (000D) : set 1 int & get 0
get_privacy (000D) : set 0 & get 1 int
countermeasures (000E) : set 1 int & get 0
get_countermeasu (000E) : set 0 & get 1 int
dropunencrypted (000F) : set 1 int & get 0
get_dropunencryp (000F) : set 0 & get 1 int
wpa (000A) : set 1 int & get 0
get_wpa (000A) : set 0 & get 1 int
driver_caps (0010) : set 1 int & get 0
get_driver_caps (0010) : set 0 & get 1 int
maccmd (0011) : set 1 int & get 0
wme (0012) : set 1 int & get 0
get_wme (0012) : set 0 & get 1 int
hide_ssid (0013) : set 1 int & get 0
get_hide_ssid (0013) : set 0 & get 1 int
ap_bridge (0014) : set 1 int & get 0
get_ap_bridge (0014) : set 0 & get 1 int
</i>
</pre>
<p>
You should consult the documentation for your particular driver to find out what
the various private functions do.
</p>
</body>
</chapter>
<chapter>
<title>Other Utilities</title>
<body>
<table>
<tr>
<th>Utility</th>
<th>Description</th>
</tr>
<tr>
<td>wavemon</td>
<td>Curses based wireless statistics monitor</td>
</tr>
<tr>
<td>waproamd</td>
<td>Utility for automatically detecting and connecting to APs</td>
</tr>
<tr>
<td>kismet</td>
<td>Security tool for wireless discovery/auditing</td>
</tr>
<tr>
<td>airsnort</td>
<td>Tool for detecting wireless networks, and breaking WEP
encryption</td>
</tr>
</table>
</body>
</chapter>
</guide>
|