Cooking with UNIX/Linux
Cooking with UNIX/Linux > Wireless (OLD - linux-wlan-ng)

Wireless (OLD - linux-wlan-ng)

LINUX-WLAN-NG RECIPE by Frederik Dannemare

# This recipe deals with setting up a PCMCIA card (16-bit)
# and not the newer 32-bit CardBus cards (which are in fact
# PCI cards and thereby handled by the hotplug package and not
# the pcmcia-cs package). This recipe also specifically deals
# with setting up a Prism-based PCMCIA card. The Prism-based
# PCMCIA cards use the linux-wlan-ng driver which is currently
# not included in the linux kernel source tree.

# First install some essential packages (listed packages may not be a complete list).
sudo apt-get install linux-wlan-ng pcmcia-cs apt-src kernel-package fakeroot debhelper debmake

# Configure a kernel with support for PCMCIA, kernel hotplug support, etc.
cd /usr/src/linux
make mrproper
make menuconfig
fakeroot make-kpkg --revision 5:vanilla.1.0 --append-to-version -frda kernel_image
sudo dpkg -i ../kernel-image-2.4.24-frda_vanilla.1.0_i386.deb


## Install option 1 (using make-kpkg).
# Build and install linux-wlan-ng module using make-kpkg.
cd /usr/src
sudo apt-get source linux-wlan-ng
chown -R frederik:src linux-wlan-ng-0.2.0
cp -pR linux-wlan-ng-0.2.0 modules/linux-wlan-ng

cd /usr/src/linux
fakeroot make-kpkg --revision 5:vanilla.1.0 --append-to-version -frda modules_image
sudo dpkg -i ../linux-wlan-ng-modules-2.4.24-frda_vanilla.1.0


## Install option 2 (using apt-src).
# Build and install linux-wlan-ng module using apt-src (clever tool by Joey Hess).

# Tell apt-src where your kernel sources are located.
sudo apt-src import kernel --location=/usr/src/linux --version=2.4.24

# Build and install the linux-wlan-ng package.
cd /usr/src
sudo apt-src --installdebs install linux-wlan-ng

# And it is easy to upgrade when a new linux-wlan-ng package is released.
sudo apt-src update
sudo apt-src upgrade -i linux-wlan-ng


## Configure linux-wlan-ng

# Edit /etc/modutils/linux-wlan-ng and uncomment the line
# corresponding to the type (choose _cs) of prism device you have.

# Update modules.
update-modules

# Edit /etc/pcmcia/network.opts and make sure to say 'n' to
# BOOTP and DHCP. Also, don't specify your network settings
# in this file, as we will instead use /etc/network/interfaces
# (and ifup/ifdown) handle configuration of the wireless interfaces.

# Edit /etc/network/interfaces and add an entry for your wireless
# interface, similar to this (or you may choose to use dhcp).

auto wlan0
iface wlan0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1
        broadcast 192.168.1.255

# Edit /etc/wlan/wlan.conf to suit your needs. At the bottom of the file
# you should specify the SSID of the access point, you intend to connect
# to. Also read the comments in wlan.conf regarding the SSID setup,
# including info about what to do with the wlancfg-DEFAULT file.

# Now up the interface
ifup wlan0


# Now it should all work (try ping or anything else). If, however, you
# cannot get your NIC to establish a connection with your access point.
# This was actually the case for me on a host and I wasn't able to
# figure out why (maybe I fsck'ed something up in the process of setting
# things up, but I just couldn't identify the problem even after hours of
# troubleshooting). Therefore, I cooked up a script myself which takes
# care of everything, including the connection itself, settings the SSID
# of the access point and connection type (WEP or non-WEP).
# Have a look at this script and feel free to use it. You should really
# change the WEP keys, of course, and make the script chmod 700).
# Script: http://sentinel.dk/cookbook/wlanctl-ng-script.sh