Pcmcia Wireless configuration ----------------------------- One of the most exciting things having happen after release 20 is the addition of Wireless Tools support in the Pcmcia init scripts. Here is a quick intro on the subject... Pre-requisite : ------------- o Pcmcia package with Wireless Extension support : 3.1.15 onward o A driver with Wireless Extension support o The tools (iwconfig and co.) installed in the /usr/local/sbin or /usr/sbin Raylink driver : -------------- The Raylink driver as of 1.70 doesn't support writable Wireless Extensions, so enabling wireless.opts on this driver will make things worse. On the other hand, the latest version of the Raylink driver accepts Wireless Extensions at boot time, so the procedure described below will work. Distribution specific notes : --------------------------- Most modern distributions don't use wireless.opts and have their own procedure for wireless configuration, which is usually compatible with their configuration tools and work for non-Pcmcia devices. This is documented in DISTRIBUTIONS.txt. The procedure described here will work only with the original Pcmcia configuration scripts. If you use a precompiled package part of a distributions, this is usually not the case (see above). On the other hand, if you install the Pcmcia package in source form from the official Linux-Pcmcia web site, it will install the proper init scripts and those instructions will apply. Basic support : ------------- The file /etc/pcmcia/wireless.opts contains some templates for the most common drivers. Just fill in your card configuration in the template corresponding to your driver configuration. Then, to activate it, you just need to remove or comment the 4 lines at the top of wireless.opts and restart the Pcmcia package. Things to take care of : The options of wireless.opts will be used directly as arguments of iwconfig. So, you need iwconfig, and you need to check the man page of iwconfig to know how to format them. A quick way to determine the correct options without restarting Pcmcia is to play a bit with iwconfig directly to see what is possible and what is the proper setup of the card and to copy that in wireless.opts. At the end of wireless.opts, there is also a generic template containing all the possible options and explaining their meaning. Not all of them are supported by all cards (actually, most cards support a limited subset of it). The current card templates are designed to match the MAC address of the card. Please check that this matches with your card. Also, sample describe the most common/useful options available with the card, for more advance option, borrow options from the template. You can also remove some options, the card will usually initialise with a sane value. Alternatively, you can also discard the current wireless.opts and replace it with a file looking like this : ----------- wireless.opts --------------------- case "$ADDRESS" in *,*,*,*) ESSID="MY_ESSID" MODE="Managed" ;; esac ----------------------------------------------- Scheme support : -------------- The file wireless.opts fully supports schemes. This allow you to define different configurations (home, work...) and to switch on the fly between them. The best way to explain it is to show an example. Let's say you have an infrastructured setup at work (MY_WORK) and an Ad-Hoc network at home (MY_HOME). Moreover, when a specific card is inserted, you want it to be in Ad-Hoc mode (TEST). The work setup will be the default... Each Wireless LAN will have the following configuration : --------- wireless.opts -------------------- # Lucent Wavelan IEEE - Ad-Hoc mode for test card *,*,*,00:60:1D:03:9F:2D) ESSID="TEST" MODE="Ad-Hoc" FREQ="10" RATE="1M" ;; # Lucent Wavelan IEEE - Ad-Hoc mode at home home,*,*,00:60:1D:*|home,*,*,00:02:2D:*) ESSID="MY_HOME" MODE="Ad-Hoc" FREQ="5" ;; # Lucent Wavelan IEEE - infrastructured mode at work *,*,*,00:60:1D:*|*,*,*,00:02:2D:*) ESSID="MY_WORK" MODE="Managed" KEY="s:verysecurekey" ;; -------------------------------------------- Don't forget the IP configuration : --------- network.opts --------------------- # Wavelan IEEE : ad-hoc mode for test card *,*,*,00:60:1D:03:9F:2D) DHCP="n" IPADDR="10.0.0.1" NETMASK="255.255.255.0" NETWORK="10.0.0.0" BROADCAST="10.0.0.255" ;; # Wavelan IEEE : ad-hoc mode at home home,*,*,00:60:1D:*|home,*,*,00:02:2D:*) DHCP="n" IPADDR="10.0.1.19" NETMASK="255.255.255.0" NETWORK="10.0.1.0" BROADCAST="10.0.1.255" GATEWAY="15.0.1.1" ;; # Wavelan IEEE : infrastructured mode at work *,*,*,00:60:1D:*|*,*,*,00:02:2D:*) DHCP="y" ;; -------------------------------------------- Now, when you are at work you do : > cardctl scheme default And at home, you do : > cardctl scheme home I guess you get the idea ;-) More elaborated configurations : ------------------------------ Some people may need some more complex configurations. For example, you might want to do one of the following thing : o cycle through a set of schemes o autodetect the proper scheme There is currently no support to do that. However, the Wireless Tools package contains a tool called "iwgetid" that can help in this job. The source code contains some hints on how to achieve the above thing. If you ever write such a package, please send me the URL. Good luck ! Jean <jt@hpl.hp.com>