Just ignore me, I'm rambling now, and I think I have enough tools in my little mini Linux toolbox now to be able to track down my wireless problem...
Okay, I tried using a totally different and newer wireless card I canabalized off a different device... (Mwahahahahaa... *rubs hands maniacally*) Unfortunately, it uses the default settings as well (for wlan0). Obviously whatever script that goes through and reads
/etc/network/interfaces just doesn't like the syntax.
I dug around some more and I found this little Debian script over in
/etc/network/if-pre-up.d/wireless-tools:
# Detect and do nothing for linux-wlan-ng interfaces;
# which are configured by thier own if-pre-up script.
if [ -n "$IF_WIRELESS_TYPE" -a "$IF_WIRELESS_TYPE" = "wlan-ng" ]; then
exit 0
fi
Well, that probably doesn't help.... It could be that the script is just detecting that I'm trying to use wlan_ng and it just exits as soon as it sees that, and no other script takes over. Frankly, there are no other scripts in
if-pre-up.d and no other pre-up stuff, so I think that there is nothing there to handle wlan-ng that I can see easily. Kay, I don't need to use wlan_ng, I just want it to work and get set properly.
The driver that my current test card uses appears to be
hostap_cs, so that means it's a more advanced version of the
prism2_cs driver. That means that I don't have to use wlan_ng to get it set up.
* * * * *
Update: I have WiFi working with this Linksys card. My conclusion is that:
1) The D-Link DCF-650W, though supported previously (or was just lucky to get set right previously), is not currently supported.
2) You have to manually set the /etc/network/interfaces file to get things right.
3) DON'T use wlan_ng. If the driver uses hostap_cs, then don't. Most cards use hostap over prism2 now, and prism2 is the one that used wlan_ng.
4) The syntax for the wireless is moderately simple. It's pretty much "wireless_<function> <value>" where the function is one of the parameters for iwconfig like essid or key. For a list of iwconfig parameters and valid values, see the
iwconfig man page.
5) You can tell what cards are and aren't supported by looking through the files in /etc/pcmcia. An easy way to check is find the manufacturer of your card like Linksys or D-Link. You can look to see if it's generally supported by typing
cat /etc/pcmcia/config | grep "Linksys", where Linksys is the name of your card's manufaturer (and it's case sensitive.) To see if it's supported by hostap, type
cat /etc/pcmcia/hostap_cs.conf | grep "Linksys". If your exact card shows up on the list, then your card is supported. For example, I have a Linksys card with a model number of WCF12, and I see a line in the output of both commands that says
card "Linksys WCF12 Wireless CompactFlash Card", so it's supported by both the general recognition as well as the hostap driver.
I fixed it! To bad I just didn't know it was because it wasn't supported and the script was broken, then the second script wasn't correct for this enviroment.