First of all, I have installed BT2 my IBM T42 on a triple boot setup with XP and Ubuntu using the XP boot loader to boot into XP itself or grub (which is installed on the boot partition of the Ubuntu install) which then gives the choice of Ubuntu or BackTrack2 (which resides on two partitions, one for '/boot' and the other for '/', the swap partition is shared with the Ubuntu install).

The onboard ethernet is an Intel PRO/1000MT and I have installed a 400mw Atheros AR5006XS wireless card to replace the junk that was in there to start with and I have a 500mw Alpha Network AWUS036H usb wifi dongle for those extra long range connections. The Alpha has the rtl8187 chipset which is now supported on BT2 Final.

I have kismet and the aircrack suite running ok. Everything appears to work as I would expect. Injection is working and I have successfully cracked a test networks wep key that I set up without any clients connected - two seperate attacks using the Atheros card and then the Alpha. Now comes the "but". I am having problems with my Alpha Network AWUS036H (wlan0) usb wifi dongle in managed mode. There are various failures on setting parameters with iwconfig:

iwconfig wlan0 essid testlan

would set the essid of wlan0 to "testla" - ie, missing the last character and obviously the connection fails because of the incorrect essid. This can be bodged by making the essid "testlan1" then iwconfig wlan0 reports it as "testlan" and I can then connect (when the network is open).

if I try to set a wep key:

iwconfig wlan0 key 0011223344

I get

Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlan0; Operation not permitted.

with a dmesg output of:

rtl8187: Setting SW wep key
wlan0: could not initialize WEP: load module ieee80211_crypt_wep

Most of the other iwconfig commands: nwid, nick, freq, txpower etc. also fail with their corresponding error codes.

Some thoughts:

From dmesg:

wlan0: could not initialize WEP: load module ieee80211_crypt_wep

Is this module being loaded by iwconfig? Should it be loading ieee80211_crypt_wep-rtl.ko instead?

When I plug in the Alpha, the r8187, ieee80211_rtl and ieee80211_crypt_rtl modules are loaded into the kernel and when I issue the 'iwconfig wlan0 key 1122334455' command the ieee80211_crypt and ieee80211_crypt_wep modules are loaded as well.

I replaced all the ieee80211 files in

/lib/modules/2.6.20-BT-PwnSauce-NOSMP/kernel/net/ieee80211/

with renamed ieee80211-rtl files from

/lib/modules/2.6.20-BT-PwnSauce-NOSMP/kernel/drivers/net/wireless/rtl8187/

and now ONLY ieee80211_crypt_wep_rtl gets loaded and the 'iwconfig wlan0 key 1122334455' works fine. I can now (with the essid last character bodge) connect to a WEP encrypted access point with the Alpha. My guess is that iwconfig gets the key command and looks to see if ieee80211_crypt.ko is loaded and if not it loads it and then same with ieee80211_crypt_wep.ko I would assume it reads the .ko file for the module name since sometimes the .ko file on disk has a different name to the module name when the .ko file is loaded. So I do think iwconfig is looking for and then loading the wrong ieee80211_crypt modules.

The missing last char problem is alledgedly: 'related to the version of the wireless extensions in the kernel and the wireless_tools version used to configure the interface. The method for sending the essid to the kernel has changed recently'.
Apparently it needs to be updated to handle the case that no '\0' character has to be present anymore. I've upgraded wireless tools from version 28 to 29-pre17 (beta) but it still loses the last character of the essid. It must be the rtl8187 driver not interpretting the essid being passed to it correctly (even though all the 'iwconfig --version' numbers now match - they didn't before the upgrade) as iwconfig returns the right essid with the atheros card in the same machine.

This is as far as I have got so far. Am I on the right track with the iwconifg loading the wrong modules and also the last char problem being down to the rtl8187 driver itself. Any help or thoughts greatly appreciated.

<EDIT>

Ubuntu removed and Slackware installed instead, makes a tad more sense