Distribution specific notes on Wireless Configuration ----------------------------------------------------- ***** HELP ***** If people send me information about the specifics of each distribution, I'll try to collect that here. Don't forget to mention to which distribution those instructions apply, the tool used (if any) and the files modified. Actually, the people packaging my tools for a specific distribution have a moral obligation to send me the exact detailed instructions of what they have done. I will list in the wireless.7 man page only distributions that give me an official answer. ***** HELP ***** ----- INTRODUCTION ------------ The tools enable users to change the card settings at run time (when running iwconfig, for example). However, most users want the card to be configured either at boot time or when the card is activated in the system. Each distribution has its own configuration scripts, and therefore is slightly different. Some distributions even add some graphical setup tool (nice). This file describe the procedure for a few of them. Note : if you install the Pcmcia package in source form from the official Linux-Pcmcia web site (as opposed to precompiled by a distribution, please use the PCMCIA method). Please remember : I don't use your distribution, and I have absolutely no clue about how your distribution works. I'm just collecting random information here without beeing able to verify it. ----- WIRELESS DRIVERS ---------------- Most Linux wireless drivers support Wireless Extensions, and therefore may be configure via Wireless Tools and the methods described in this file. However, a few drivers have no support or limited support for Wireless Extensions (like read only). In those cases, these are your options : o read the driver documentation. o use the driver specific interface or tools to configure the card, and try to integrate that in your distribution. o implement Wireless Extension support in the driver. In some cases, there are easier workaround. Different version of the driver may add Wireless Extension (often alongside the proprietary method). In some other case, there may be another driver supporting the same card and with support for Wireless Extensions. Some Linux wireless drivers don't export all wireless settings via Wireless Extensions, not even through iwpriv. Those setting may be available through the driver specific interface. Refer to previous section for workarounds. --------------------------------------------------------------------- PCMCIA METHOD ------------- (Contributed by Jean Tourrilhes <jt@hpl.hp.com>) This method work for *all* distributions. For Pcmcia cards, it is possible to overwrite the Pcmcia configuration files of the distribution with the original Pcmcia configuration files from the Pcmcia package (/etc/pcmcia/*). If you install the Pcmcia package in source form from the official Linux-Pcmcia web site, this will be done automatically. Once this is done, you can no longer use the specific tools and configuration files of the distribution, and are required to use Pcmcia style of configuration (see Pcmcia Howto). In such a case, Wireless configuration is done through wireless.opts, and documented in the file PCMCIA.txt. --------------------------------------------------------------------- DEBIAN 2.2 (and earlier) ---------- (Contributed by Jean Tourrilhes <jt@hpl.hp.com>) Debian 2.2 (and earlier) doesn't support any Wireless Configuration. You are required to use the Pcmcia method. Also, the Wireless Tools package is not part of the standard packages. --------------------------------------------------------------------- DEBIAN 3.0 (and later) ---------- (Contributed by Guus Sliepen <guus@sliepen.eu.org>) Debian also has another way of configuring network devices, controlled by /etc/network/interfaces. Users can add a wireless interface to /etc/network/interfaces, using the standard options to set the address and such, but the wireless-tools package adds new option statements that can be used to configure keys, channel, etcetera. From the README.Debian script that comes with wireless-tools: /etc/network/interfaces ----------------------- You can now add extra statements to the iface sections of the files in /etc/network/interfaces that are specific for wireless interfaces. They are of the form: wireless-<function> <value> Before the interface is brought up, such a statement will result in the execution of the following command: iwconfig <interface> <function> <value> Example: iface eth0 inet static address 192.168.1.2 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 wireless-essid Home wireless-mode ad-hoc The current Debian script support all arguments present in wireless.opts apart from Nickname. You can check this in the script /etc/network/if-pre-up.d/wireless-tool. You will need of course to install the Wireless Tools package if it's not already done, which is part of the standard package list (use dselect, dpkg, apt or anything you like to get it). ----- (Contributed by Joey Hess <joey@dragon.kitenet.net>) /etc/network/interfaces is much more flexible than it appears. It can probably do everything pcmcia schemes can do, and more. Here is part of mine: auto wlan0 mapping wlan0 script /usr/local/bin/ifscheme-mapping iface wlan0-home inet static address 192.168.1.5 gateway 192.168.1.1 netmask 255.255.255.0 wireless-mode ad-hoc wireless-essid wortroot wireless-nick dragon wireless-channel 1 iface wlan0-away inet dhcp wireless-mode managed Now I can type 'ifscheme -s away' when I leave home, rather like cardctl scheme. The ifscheme script is at http://bugs.debian.org/154444. If the request in bug #154442 is implemented, it will become very flexible indeed.. Debian will hopefully be using this same file eventually for pcmcia network devices too. It's already doable but takes a little work. This is all rather rough and badly documented so far. You can also do mapping based on the MAC address, if you want specific configuration on specific card. See /usr/share/doc/ifupdown/examples/get-mac-address.sh and the stanza in /usr/share/doc/ifupdown/examples/network-interfaces.gz that uses it. This comes back to the problem I alluded to with mapping scripts not being "nestable" yet, and bug #154442. You can do what you want today, but you may need to write your own mapping script which uses a combination of MAC address and scheme info to return a stanza name to ifupdown. ----- (Contributed by Jean Tourrilhes <jt@hpl.hp.com>) The 'ifscheme' scripts mentionned above are now available in Debian Sarge, in the 'ifscheme' package. The MAC address based mapping mentioned above is deprecated, you should use 'ifrename' to assign a consistent interface name to each of your network interface. This is documented in HOTPLUG.txt. This enable the combination of MAC address identification of interfaces with scheme multi-configuration. ----- If you need automatic wireless configuration, you can look at the following packages : o ifupdown-roaming : http://panopticon.csustan.edu/thood/ifupdown-roaming.html o waproamd http://0pointer.de/lennart/projects/waproamd/ --------------------------------------------------------------------- SuSE 8.0 and later -------- (Contributed by Christian Zoz <zoz@suse.de>) All network configuration is done in the directory /etc/sysconfig/network. It does not matter if it's a build in NIC or PCMCIA, USB, etc. The files network.opts and wireless.opts in /etc/pcmcia are not used any longer. There is /sbin/ifup to set up all kind of network interface. There is a file /etc/sysconfig/network/wireless where you may set most of the options of iwconfig in seperate variables (they are named like the options). Additionally you may use WIRELESS_IWCONFIG_OPTIONS e.g. for setting key 2, 3 or 4 or unsupported iwconfig commands. This file is documented and its settings are used for any wlan NIC. Configuration of wireless variable looks like : WIRELESS_ESSID="<essid>" Every variable from file wireless may be used in the interface configuration files /etc/sysconfig/network/ifcfg-* as well. As expectable this overwrites the global setting in wireless. For sophisticated use of the ifcfg-* files read 'man ifup'. Hint for PCMCIA and USB users: You need not to use the iterface name for the configuration as this may vary from one plugin to another. You may use a description of your hardware instead (ifcfg-<MACADDRESS> or ifcfg-pcmcia-1 for card in Slot 1) Some of the variables can be set with YaST2 as well. If you miss the 'schemes' functionality from the pcmcia-cs packages use the tool SCPM (System Configuration Profile Management) instead. This extends the pcmcia schemes to the whole system configuration. Read 'info scpm'. Since SuSE 8.1 there also is a YaST2 modul for SCPM. --------------------------------------------------------------------- RED-HAT 7.2 ----------- (Grabbed from various source - Google is your friend) Configuration is done in the file : /etc/sysconfig/network-scripts/ifcfg-ethN Where 'ethN' is the name of the wireless interface (such as eth0, eth1, ...). The following lines may be added in this file : MODE=<mode> ESSID="<essid>" RATE=<rate> TXPOWER=<txpower> KEY="<key>" The full list of configuration can be found in the file : /etc/sysconfig/network-scripts/ifup-wireless Note that Brad Allison has other tips for 7.2 : http://jackal.dnsalias.com:8080/public/misc/wireless/wireless.html --------------------------------------------------------------------- RED-HAT 7.3 and later ----------- (Cut'n'pasted from Brad Allison web page) http://jackal.dnsalias.com:8080/public/misc/wireless/wireless.html If you are running RedHat 7.3, I would tell you to simply run /usr/bin/redhat-config-network and click "Devices", Click "Add", then select "Wireless Connection". You can find the full instructions in RedHat's Customization Guide for RH7.3 in Chapter 6, Network Configuration: Wireless Connection. http://www.redhat.com/docs/manuals/linux/ http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-network-config-wireless.html However, according to the Errata: The version of the Red Hat Network Administration Tool that shipped with Red Hat Linux 7.3 did not include wireless connection in the configuration wizard. An enhancement errata will be released soon with this feature. You can download the newest version of redhat-config-network from rpmfind.net. http://www.redhat.com/docs/errata/RHL-7.3-Manual/ http://www.rpmfind.net/linux/rpm2html/search.php?query=redhat-config-network&submit=Search+... ----- (Grabbed from various source - Google is your friend) The current graphical user interface support : ESSID, Mode, Freq, Channel, Rate, Key Compared to Red-Hat 7.2, the Wireless Setting in the configuration file have change to include the WIRELESS_ prefix : WIRELESS_MODE=<mode> WIRELESS_ESSID='<essid>' WIRELESS_ENC_KEY='<key>' The underlying configuration files and configurations options seems to be indentical to what is done in Mandrake 8.2 (or vice versa), so please check the section below. This allow configuration of additional wireless settings not available in the GUI. ----- (Extrapolated from web page of Martin Pot <m.t.pot@ieee.org>) http://ii.net/~mpot/wireless/router.cgi Red-Hat 7.3 also seem to support configuration in wireless.opts to some extent. But for compatibility with the network admin tools, I would still recommend to use the above method. Red-Hat 7.3 seems to load wvlan_cs for Orinoco cards and friends. The above web page explain how to switch it to orinoco_cs. --------------------------------------------------------------------- RED-HAT 9.0 and later ----------- (Cut'n'pasted from Dax Kelson web page) http://www.gurulabs.com/RedHatLinux9-review.html A little known fact is that newer versions of RHL support multiple network profiles. This is useful for machines that commonly plug into different networks (think laptops). The easy way to create network profiles is to use the redhat-config-network command. The question then becomes, what happens when you type "ifup eth0"? The behavior wasn't defined in previous versions, however, now in RHL 9 the following behavior is defined; search path for: # ifup $DEV is: /etc/sysconfig/networking/profiles/$CURRENT_PROFILE/ifcfg-$DEV /etc/sysconfig/networking/profiles/default/ifcfg-$DEV /etc/sysconfig/network-scripts/ifcfg-$DEV A cool trick is to boot your RHL box directly into a profile from the GRUB boot screen. To do this, create a separate /etc/boot/grub.conf entry for each network profile, and in each entry add the kernel argument netprofile=profilename. ----- I'm pretty certain the profile scheme above also apply to wireless settings, which is good news... --------------------------------------------------------------------- MANDRAKE 8.2 and later ------------ (Grabbed from various source - Google is your friend) Configuration is done in the file : /etc/sysconfig/network-scripts/ifcfg-ethN Where 'ethN' is the name of the wireless interface (such as eth0, eth1, ...). The following lines may be added in this file : WIRELESS_MODE=<mode> WIRELESS_ESSID=<essid> WIRELESS_NWID=<nwid> WIRELESS_FREQ=<freq/channel> WIRELESS_SENS=<sensitivity> WIRELESS_RATE=<rate> WIRELESS_ENC_KEY=<keys> WIRELESS_RTS=<rts> WIRELESS_FRAG=<frag> WIRELESS_IWCONFIG=<iwconfig command> WIRELESS_IWSPY=<iwspy command> WIRELESS_IWPRIV=<iwpriv command> Most likely, you only need to add a few of those lines and not all of them. The script doing the configuration and where you can check the details is : /etc/network/network-scripts/ifup-wireless You will of course need the Wireless Tools package : rpm -Uvh wireless-tools-XX-Xmdk.XXX.rpm Mandrake can also have wireless setting added to its Auto-Install procedure : http://members.shaw.ca/mandrake/drakx/8.2/HTML/section4-13.html ----- (in e-mail from Thierry Vignaud <tvignaud@mandrakesoft.com>) You may use the following tool : o drakconnect You may read the following documentation : o ifcfg --------------------------------------------------------------------- Have fun... Jean