iwl4965: Radio Frequency Kill Switch is On

I just struggled to get wireless working again after a reload of Debian Lenny 5.0 after testing Fedora 11 beta on my Asus U3S laptop. I noticed these messages in dmesg output:

[ 731.855177] iwl4965: Radio Frequency Kill Switch is On:
[  731.855177] Kill switch must be turned off for wireless networking to work.
[  780.507448] iwl4965: Error sending REPLY_STATISTICS_CMD: enqueue_hcmd failed: -5
[  893.786560] iwl4965: Radio Frequency Kill Switch is On:
[  893.786560] Kill switch must be turned off for wireless networking to work.
[  893.793209] iwl4965: WARNING: Requesting MAC access during RFKILL wakes up NIC
[ 1005.863767] iwl4965: Radio disabled by HW RF Kill switch

okay seems pretty straight forward right? There is a bluetooth on/off switch on the left side of the U3S which only controls bluetooth even though it has the bluetooth symbol and wifi symbol on it. As it turns out I had been messing with the function keys on my laptop the night before. I actually had to pull out the manual and look at the section on switches and function keys before I realized I had probably inadvertantly turned off the wireless when playing with the function keys on Fedora 11 beta the night before. So now I realized FN + F2 would toggle the wireless RF.. However when I did this it would turn on the wireless light indicator for just a short bit.. a fraction of a second. I got it to stay on for a few seconds one time.

After messing with a bunch of stuff I wondered if the asus laptop specific modules loaded to support the specific features of my laptop (function keys in particular) might have something to do with this issue.

# lsmod | grep asus
asus_acpi 13852 0

so I removed that module
# modprobe asus_acpi -r
hit the FN + F2 and it stayed on and restarted network manager and i can get on wireless. I reloaded the module afterward and wireless kept working. I'm honestly not sure what exactly is going on but that fixed it. Normally the kernel module asus-laptop would be loaded as well but it wasn't. This might be part of the problem. Either way I hope this helps someone.