Here's how I setup my wireless on Debian.
Firstly, create a script in /usr/local/bin called wireless-mapping or something similar. Make sure the dialog package is installed.
#!/bin/bash if [ -f /etc/default/wireless ] ; then . /etc/default/wireless else echo Please setup /etc/default/wireless fi for profile in $WIRELESS_PROFILES do LOCATION_NAME=$profile\_NAME LOCATION_DESCR=$profile\_DESCR DIALOG_ARGS="$DIALOG_ARGS \"${!LOCATION_NAME}\" \"${!LOCATION_DESCR}\"" done LOCATION=`eval dialog --stdout --menu \"Select your wireless location\" 10 50 5 $DIALOG_ARGS` echo eth2-$LOCATION
Then create a file /etc/default/wireless where you put descriptions of your wireless networks. Put each of your networks in WIRELESS_PROFILES and then setup a name and a description, like below.
#WIRELESS OPTIONS WIRELESS_PROFILES="home keg nicta" home_NAME="home" home_DESCR="At home" keg_NAME="keg" keg_DESCR="keg private" nicta_NAME="nicta" nicta_DESCR="nicta (hack)"
Finally, you need to make the mapping in /etc/network/interfaces for each network. It should look something like this.
mapping eth2 script /usr/local/bin/wireless-mapping iface eth2-keg inet dhcp wireless-essid keg wireless-key [key] iface eth2-home inet dhcp wireless-essid wienand wireless-key [key] iface eth2-nicta inet dhcp wireless-essid nicta_wireless
Notice how the mapping for your ethernet card is the script, and then you have a bunch of interfaces defined as interface-name, where name is the name you chose in the /etc/defaults/wireless script.
All going well, next time you ifup eth2 you should see something like this