"MAC is in deep sleep" is usually an indication the firmware files haven't loaded. The files are:
Code:
$ ls -1 /lib/firmware/$(uname -r)/iwl*
/lib/firmware/2.6.24-21-generic/iwlwifi-3945-1.ucode
/lib/firmware/2.6.24-21-generic/iwlwifi-3945.ucode
/lib/firmware/2.6.24-21-generic/iwlwifi-4965-1.ucode
/lib/firmware/2.6.24-21-generic/iwlwifi-4965.ucode
That issue seems to have been overcome, but the symptoms you describe sound very much like the radio kill-switch is activated. To check the device is present:
Code:
$ lshal | awk '$0 ~ /^udi = .*/ {show=0} $0 ~ /^udi = .*ipw_wlan_switch.*/ { show=1} show == 1 {print $0}'
udi = '/org/freedesktop/Hal/devices/ipw_wlan_switch'
info.capabilities = {'killswitch'} (string list)
info.category = 'killswitch' (string)
info.interfaces = {'org.freedesktop.Hal.Device.KillSwitch'} (string list)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_4222' (string)
info.product = 'Intel PRO/Wireless WLAN Switch' (string)
info.subsystem = 'unknown' (string)
info.udi = '/org/freedesktop/Hal/devices/ipw_wlan_switch' (string)
killswitch.access_method = 'ipw' (string)
killswitch.type = 'wlan' (string)
org.freedesktop.Hal.Device.KillSwitch.method_argnames = {'power', ''} (string list)
org.freedesktop.Hal.Device.KillSwitch.method_execpaths = {'hal-system-killswitch-set-power', 'hal-system-killswitch-get-power'} (string list)
org.freedesktop.Hal.Device.KillSwitch.method_names = {'SetPower', 'GetPower'} (string list)
org.freedesktop.Hal.Device.KillSwitch.method_signatures = {'b', ''} (string list)
Check if the RF Kill-switch is active (radio is off):
Code:
$ find /sys -type f -name 'rf_kill' -exec cat {} \;
0
0 == not killed (radio power on)
1 == killed (radio power off)