Unfortunately I am not familiar wit hwaveselct program. How exactly do you specify the key, in hex or ascii form? Why do you need the key if it works without it?
I had a bit similar issues. Wifi worked without key but not with key (in a different network). I found out that I must not try to bring up net in the encrypted network without key -- it kind of confuses the module. However, after rmmod ipw2200 (this is a centrino laptop) It worked again. I used command-line
Code:
/sbin/iwconfig eth2 essid vikerkaar \
key [1] e5:35...
key [2] 9c:ee...
key [3] 47:0e...
key [4] fd:06...
/sbin/ifup eth2
But, if you really restart the computer, then removing/reloading the kernel module (prism54 I guess in your case) does not matter.
Dou see any related kernel messages (dmesg command)?
Best,
Ott