Appendix C. Simple Scheme Management

This is a simple method for managing your network schemes on Linux. You will need sudo installed. Use sudo privileges to run /sbin/cardctl, then create the following shell script called scheme:

#!/bin/sh

SCHEME=`/usr/bin/basename $0`

if [ "$SCHEME" == "scheme" ]; then
  unset SCHEME
fi

/usr/bin/sudo /sbin/cardctl scheme $SCHEME

Install the script somewhere in your PATH (I put mine in ~/bin). Then make symlinks to the script with the names of schemes you want to access quickly, in the same directory:

rob@entropy:~/bin$ ln -s scheme home
rob@entropy:~/bin$ ln -s scheme oreilly
rob@entropy:~/bin$ ln -s scheme nocat
rob@entropy:~/bin$ ln -s scheme any

Now make matching entries in your /etc/pcmcia/wireless.opts:

home,*,*,*)
	INFO="IBSS net at Home"
	ESSID="HomeNet"
	MODE="Ad-Hoc"
	KEY="1234-5678-90"
	RATE="11M"
	;;

oreilly,*,*,*)
	INFO="Work"
	ESSID="OReillyNet"
	MODE="Managed"
	KEY="s:sHHHH"
	IWCONFIG="power unicast"
	;;

nocat,*,*,*)
	INFO="NoCat Community net"
	ESSID="NoCat"
	MODE="Managed"
	;;

any,*,*,*)
	INFO="Default configuration"
	ESSID="ANY"
	MODE="Managed"
	;;

When you want to change schemes quickly, just type home or any to instantly change all of your wireless and network settings. As an added bonus, typing scheme shows the current scheme. Keep in mind that sudo will prompt you for your password—you need to be root to change the scheme.

Get Building Wireless Community Networks, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.