I have configured wireless using the /etc/init.d/network and /etc/sysconfig/networking/devices/* -- with mods to my /etc/init.d/network script that do an 'iwlist wlan0 scanning', look for my home and work networks, and automagically bring up the interface(s) corresponding to each network if they are present.
Nifty, and works at any runlevel where wireless is present. I know that this is not exactly what you are trying to accomplish, but you may be able to adapt my technique for your purposes.
Do things in this order if you want to duplicate my setup (a 'work' and 'home' auto-start ability for your wireless card):
1. Before making any changes to /etc/init.d/network use the system-config-network GUI tool to create/recognize your wireless adapter. This should create the scripts under /etc/sysconfig that allow you to type 'ifup wlan0' (replacing 'wlan0' with whatever your interface name ends up being) and have everything work. Do not proceed if you cannot easily bring your wireless connection up and down with 'ifup wlan0' and 'ifdown wlan0'.
2. Make sure you read the last sentence of step 1. Nothing else will work unless you follow this.
3.
Code:
[ddenardo@cylon ~] su - root
Password: ******
[root@cylon ~] cd /etc/sysconfig/networking/devices
[root@cylon devices ] cp ifcfg-wlan0 ifcfg-home
[root@cylon devices ] cp ifcfg-wlan0 ifcfg-work
4. Edit the 'ifcfg-home' and 'ifcfg-work' files making the following changes:
4a. Modify the ESSID= line as appropriate for home and work
4b.
IMPORTANT Change the ONBOOT= setting to (no quotes) 'No'. It
must be a mixed-case version of the word 'no'. Okay, 'nO' would work too, but that looks extra silly. This is the magic glue that makes this whole thing work -- the /etc/init.d/network script looks for "no" in a case-insensitive manner, the /sbin/ifup script looks for 'no' and 'NO' only.
5. If either of your home or work networks are secured with WEP create (or copy) keys-home and/or keys-work as needed.
6. Save a copy of your /etc/init.d/network script in case this doesn't work for you.
7. Grab the attached 'network' file that has my changes in it and put it in /etc/init.d/ with 755 permissions.
8. Edit the new /etc/init.d/network file:
8a. Line 135 -- replace (no quotes) 'HomeESSID' with your home ESSID. Replace (no quotes) 'wlan0' with your physical interface name.
8b. Line 136 -- replace (no quotes) 'WorkESSID' with your work ESSID. Replace (no quotes) 'wlan0' with your physical interface name.
8c. Line 138 -- make the same ESSID replacement as 8a, and if you used your own interface names in step 3 (instead of ifcfg-home) you have to change the "home" argument inside of the first set of parenthesis to match whatever follows the dash after 'ifcfg'.
8d. Line 141 -- make the same ESSID replacement as 8b, and if you used your own interface names in step 3 (instead of ifcfg-work) you have to change the "work" argument inside of the first set of parenthesis to match whatever follows the dash after 'ifcfg'.
I've attached network (/etc/init.d/network), network-orig (/etc/init.d/network prior to my customizations so you can do a diff). It is important that all of the ifcfg-* and keys-* files from /etc/sysconfig/networking/devices are also in /etc/sysconfig/network-scripts.
Warning: here is where I reveal a chilling degree of ignorance. On my machine when I create or edit a file in /etc/sysconfig/networking/devices the change usually magically appears in /etc/sysconfig/network-scripts, but not always. I haven't tried very hard to figure out why, so at this point I'm assuming magic gnomes or fairies or something like that.