• Aucun résultat trouvé

Figure 4.1. Kernel loadable modules support

Figure 4.1. Kernel loadable modules support.

[View full size image]

You can either skip selecting the modules coming with your kernel or overwrite them later with the patched modules when installing pcmcia-cs or card-specific drivers.

After the kernel compiles (read Kernel-How-To if you never compiled one), you should build the pcmcia-cs package. We do not recommend using the precompiled pcmcia-cs distribution packages due to the patching and the future need for

pcmcia-cs sources if you want to build other tools. Before building pcmcia-cs, you might need to apply the Shmoo patch, which can be obtained from

http://airsnort.shmoo.com/orinocoinfo.html. Pick a patch appropriate for your particular pcmcia-cs version and execute:

arhontus:~# patch -p0 < pcmcia-cs-"your-pcmcia-cs-version"-orinoco-patch.diff

Alternatively, you can download the orinoco-cs driver, patch it, and replace the unpatched sources in

/usr/src/pcmcia-cs-"current-version"-patched/wireless by the patched one. Also, you can compile the patched modules separately and copy them into

/lib/modules/"yourkernelversion"/pcmcia, perhaps over the unpatched ones that come with a distribution kernel. If you intend to do this, you need to disable the "Set version information on all module symbols" option. If you use Cisco

Aironet, don't use the default drivers that come with the card or the Cisco Web site because they don't support RFMON mode. Instead download airo-linux drivers from Sourceforge (http://sourceforge.net/projects/airo-linux/). The easiest way of installing them is copying the airo.c and airo_cs.c sources from airo-linux into the wireless subdirectory of the pcmcia-cs. If you use the modules that come with the kernel, you'll have to apply the patch packaged with the airo-linux software.

Because this patch is only applicable to kernel 2.4.3, this is not recommended.

However, all the latest kernels provide RFMON-enabled Aironet drivers.

Therefore, if you keep your kernel up to date, you can safely use the modules that came with the kernel.

If you want to overwrite the original kernel modules, use ./configure --force flag when compiling pcmcia-cs. Otherwise simply execute:

arhontus:~# make config

Linux PCMCIA Configuration Script

---The default responses for each question are correct for most users.

Consult the PCMCIA-HOWTO for additional info about each option.

Linux kernel source directory [/usr/src/linux]:

The kernel source tree is version 2.4.20.

The current kernel build date is Thu Mar 6 22:53:57 2003.

Build 'trusting' versions of card utilities (y/n) [y]:

Include 32-bit (CardBus) card support (y/n) [y]:

Include PnP BIOS resource checking (y/n) [n]:

Module install directory [/lib/modules/2.4.20]:

Kernel configuration options:

Kernel-tree PCMCIA support is enabled.

Symmetric multiprocessing support is disabled.

PCI BIOS support is enabled.

Power management (APM) support is enabled.

SCSI support is enabled.

IEEE 1394 (FireWire) support is disabled.

Networking support is enabled.

Radio network interface support is enabled.

Token Ring device support is disabled.

Fast switching is disabled.

Frame Diverter is disabled.

Module version checking is disabled.

Kernel debugging support is enabled.

Memory leak detection support is disabled.

Spinlock debugging is disabled.

Preemptive kernel patch is disabled.

/proc filesystem support is enabled.

It looks like you have a System V init file setup.

X Window System include files found.

Forms library not installed.

If you wish to build the 'cardinfo' control panel, you need the forms library and the X Window System include files. See the HOWTO for details.

Configuration successful.

Your kernel is configured with PCMCIA driver support. Therefore, 'make all' will compile

the PCMCIA utilities but not the drivers.

arhontus:~# make all && make install && make clean

This will finish the job. You need to build trusting versions of the card utilities if you want non-root users to be able to suspend and resume pcmcia cards, reset cards, and change the current configuration scheme. The 32-bit CardBus support is only necessary for using 32-bit CardBus cards, such as the current combo a/b/g cards, as well as many recent 802.11a and 802.11b cards that support proprietary 22 Mbps or 108 Mbps speed enhancements. It is not needed for older 16-bit PC cards. Prism chipset card drivers such as prism2_cs and p80211 are not included within the wireless subdirectory of PCMCIA-cs: They have to come with the

kernel, or be built and installed when compiling linux-wlan-ng. Installing PCMCIA-cs creates the /etc/pcmcia directory, which can be modified later when you

compile other wireless card drivers like linux-wlan-ng or HostAP. If you use

multiple wireless cards with different chipsets on the same laptop, we recommend keeping /etc/pcmcia configs for each chipset card separately. Then you will be able to switch between different chipset cards easily. For example, if your current card is Orinoco and you want to change it to Prism, a good option is this:

arhontus:/#rm -rf /etc/pcmcia && cp -r /usr/local/wireless/pcmcia-wlan-ng /etc/pcmcia &&

/etc/init.d/pcmcia restart

Make sure you have a backup for all of the configuration files. For your

convenience we have included samples of PCMCIA configuration files for Wlan-ng, Hermes, HostAP, and Ark chipset cards on the http://www.wi-foo.com Web site.

The given PCMCIA Ark configuration files also support Wlan-ng. As long as airo_cs and airo modules are correctly installed, the Cisco Aironet cards are unaffected by the peculiarities of /etc/pcmcia config files and will work with all config files without any need to restart PCMCIA services. You can always check the status of the card by using the cardctl:

arhontus:~# cardctl config && cardctl info && cardctl status

or even using the graphical cardinfo (Figure 4-2) utility, which lets you control the card in the same way /etc/init.d/pcmcia script does.