Wireless LAN

The Toshiba has an inbuilt 802.11b wireless card. "cardctl ident" shows it as

  product info: "TOSHIBA", "Wireless LAN Card", "Version 01.01", ""
  manfid: 0x0156, 0x0002
  function: 6 (network)

The PCMCIA driver picks it up and loads modules (see lsmod)

wvlan_cs               23616   0
ds                      7280   3  [wvlan_cs]
yenta_socket           11440   3
pcmcia_core            43072   0  [wvlan_cs ds yenta_socket]

/var/lib/pcmcia/stab should contain something like

Socket 0: Intersil PRISM2 11 Mbps Wireless Adapter
          0       network wvlan_cs        0       eth1
Socket 1: empty
Socket 2: empty

So Linux (Redhat 7.1, 2.4.2 kernel) recognises it as a Wavelan card and maps it onto eth1, without you having to do anything. You get a driver for the card, and only need to configure network parameters.

To configure the card you need "iwconfig". It is on Redhat 7.1 under /sbin. If you don't have it, it is part of the "wireless_tools" package from http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html. It doesn't build cleanly on a 2.4 kernel - you have to comment out "#include <linux/in.h>" from "iwcommon.h".

The card appears as network interface "eth1". You need to know the (case sensitive) "essid" and other wireless node parameters. e.g. on one network I need to run

        iwconfig eth1 essid WirelessNode rate 11M key off

You get it right when you have a signal above -102dBm (e.g. -50dBm) and invalid Rx packets is zero. You should also be able to ping the wireless node, if nothing else.

Now you need to set IP number, netmask, etc. If the network you are connecting to uses DHCP, pick up all of these by acting as a DHCP client

        pump -i eth1

If pump succeeds, you should be able to query what it has found e.g.

pump -i eth1 --status
Device eth1
        IP: 203.11.221.185
        Netmask: 255.255.255.0
        Broadcast: 203.11.221.255
        Network: 203.11.221.0
        Boot server 203.11.221.6
        Next server 203.11.221.6
        Gateway: 203.11.221.1
        Domain: auug.org.au
        Nameservers: 203.11.221.6
        Renewal time: Mon Oct  1 05:02:36 2001
        Expiration time: Mon Oct  1 06:32:36 2001

If the network doesn't have a DHCP server, then you have to set the values yourself using "ifconfig" and "route" e.g.

        ifconfig eth1 netmask 255.255.255.0 130.194.57.30
        route eth1 add 130.194.227.254

You can configure these at boot time by modifying the files

        /etc/sysconfig/network-scripts/eth1
        /etc/sysconfig/network
        /etc/resolv.conf

Then your wireless card should be working, and you can throw away the cables!

Problems: if you don't have your "wired" ethernet card connected to the local LAN, then sometimes the PCMCIA driver loses it, and the wireless card appears as eth0 instead of eth1. This happens quite often after awakening the laptop after sending it to sleep by "apm -s". Sometimes the PCMCIA driver loses both devices after this, and you have to restart the PCMCIA driver by "/etc/rc.d/init.d/pcmcia restart" (Redhat). Find out what is going on by "iwconfig eth1" - it says "No wireless extensions" if that device doesn't work any more. I use simple scripts to modify file names and contents when these happen.


Copyright © 2001 Jan Newmarch, School of Network Computing
Monash University
Email: jan.newmarch@infotech.monash.edu.au
WWW: http://jan.netcomp.monash.edu.au

Document provided by Horst Meyerdierks <hme@roe.ac.uk>
United Kingdom Astronomy Technology Centre
$Id: wless.html,v 1.1 2001/12/13 10:38:37 hme Exp $