"SIOCSIFFLAGS: Operation not possible due to RF-kill"?

Soft-blocking

The output to sudo rfkill list shows that your network card is "soft-blocked".

This could happen when the wireless card has been signalled to switch-off via the kernel.

Try the following steps:

  1. run in a terminal:

    sudo rfkill unblock wifi; sudo rfkill unblock all

  2. rerun sudo rfkill list to confirm that the card has been unblocked.

  3. reboot

  4. rerun sudo rfkill list again to confirm unblocking as been retained.

  5. rerun sudo lshw -class network - you should now see that the kernel has recognised (or not) the wireless card.

If the wireless kernel module has been recognised (it should not say "unclaimed"), Network Manager should now be able to see wireless networks that are available in your vacinity.


Diagnose the kernel issue

If the network card is not recognised - and you have confirmed sudo rfkill list shows no blocking (i.e. both soft blocked and hard blocked are "no") then add the following to your question:

sudo modprobe -r iwl3945
sudo modprobe iwl3945
dmesg | tail -n 50

Hopefully this will point out the error - for example a firmware issue not loading.

Loading new firmware

If it is a firmware issue then you can try maybe one of the following:

  • install the backports wireless drivers:

i.e.

sudo apt-get install linux-backports-modules-cw-2.6.39-generic

Then reboot - test for software blocking etc.

  • get the latest firmware as follows:

i.e.

wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-15.32.2.9.tgz

tar xzf iwlwifi-3945-ucode-15.32.2.9.tgz

cd iwlwifi-3945-ucode-15.32.2.9

sudo cp iwlwifi-3945-2.ucode /lib/firmware

Then reboot - test for software blocking etc.

N.B. your dmesg trace should indicate what the name of the firmware it is having an issue with. Possibly you need to rename "iwlwifi-3945-2.ucode" to whatever the name of the firmware it was expecting.


Check if bluetooth and wireless are not switching badly; verify that you must have this situation:

$ sudo rfkill list all
0: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

I solved my problem with:

$sudo rfkill block bluetooth
$sudo rfkill unblock wifi

I confirm this problem with the Asus X75VD laptop using rt2600pci driver. None of the above suggestions helped me, but on the French forum(1), there is a work-around that does work. Simply suspend the session (close the lid) and reactivate it and the wifi works.

I'm posting this because the other thread specifically for Asus X75VD was marked as a duplicate, and this model doesn't have a physical on/off switch for the wifi, and the fn key sequence doesn't work in this case.

It also appears to be a regression introduced by a bot(2)?

Hopefully there'll be a patch coming soon.

Sam

  1. http://forum.ubuntu-fr.org/viewtopic.php?id=1258361
  2. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1176812