# Intel Wireless 4965AGN problem with RFKILL bit

## geloo

Hello,

can somebody help me with the wifi problem in my laptop.

i have tried to modprobe -r iwl4965, than load it again, than rfkill unblock, but still withou success. 

I load some live CD, there its working fine. The modules from live CD /bodhi linux some version/ has same name as i have in my lsmod output. Every output are below.

When i am trying to up my wifi system informe me the SIOCSFLAGS: Operation not possible due to RF-KILL

Problem is that when i set rfkill ublock wifi system enable and than immediatly disable again

I very pleassed you to help. Google didnt help me there. 

DMESG 

```

[    7.333705] iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:d

[    7.333708] iwl4965: Copyright(c) 2003-2011 Intel Corporation

[    7.333796] iwl4965 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    7.333827] iwl4965 0000:0c:00.0: setting latency timer to 64

[    7.333968] iwl4965 0000:0c:00.0: Detected Intel(R) Wireless WiFi Link 4965AGN, REV=0x4

[    7.377737] iwl4965 0000:0c:00.0: device EEPROM VER=0x36, CALIB=0x5

[    7.377756] iwl4965 0000:0c:00.0: Tunable channels: 13 802.11bg, 19 802.11a channels

[    7.377894] iwl4965 0000:0c:00.0: irq 46 for MSI/MSI-X

[    7.590625] iwl4965 0000:0c:00.0: loaded firmware version 228.61.2.24

[    7.590924] ieee80211 phy0: Selected rate control algorithm 'iwl-4965-rs'

[   12.284371] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

[  294.443590] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio.

[  294.446161] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

[  772.339638] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio.

[  772.341162] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

[  956.561315] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio.

[  956.563846] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

```

Every time i tried to rfkill unblock wlan it change to enable but immediatly changes it back to disable.

kernel log

```

Mar 27 11:26:38 niika kernel: [  772.339638] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio.

Mar 27 11:26:38 niika kernel: [  772.341162] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

Mar 27 11:29:42 niika kernel: [  956.561315] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio.

Mar 27 11:29:42 niika kernel: [  956.563846] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

```

my lsmod 

```

ac                      2357  0 

battery                 8439  0 

bluetooth             104176  1 btusb

btusb                   8169  0 

cfg80211              119558  3 iwl4965,iwl_legacy,mac80211

dell_laptop             7200  0 

dell_wmi                1081  0 

ehci_hcd               28993  0 

firewire_core          34964  1 firewire_ohci

firewire_ohci          22999  0 

fuse                   48184  3 

i2c_i801                6082  0 

ipv6                  214326  14 

iTCO_vendor_support     1332  1 iTCO_wdt

iTCO_wdt                9225  0 

iwl4965               152748  0 

iwl_legacy             67141  1 iwl4965

joydev                  6523  0 

mac80211              141541  2 iwl4965,iwl_legacy

Module                  Size  Used by

nvidia              10719279  34 

pcmcia                 25077  0 

rfkill                 10278  4 bluetooth,cfg80211,dell_laptop

sparse_keymap           1968  1 dell_wmi

tg3                   105659  0 

uhci_hcd               15908  0 

video                   9467  0 

yenta_socket           16271  0 

```

and everytime i still has Soft blocked, permanently    - Soft blocked: yes

```

0: dell-wifi: Wireless LAN

   Soft blocked: yes

   Hard blocked: no

1: dell-bluetooth: Bluetooth

   Soft blocked: yes

   Hard blocked: no

2: phy0: Wireless LAN

   Soft blocked: yes

   Hard blocked: yes

```

kernel - 3.2.1 gentoo 32bit

Very appreciate for any ideas 

cheers

update: 

firmware 

```

iwl4965   version 228.61.2.24

```

----------

## 6thgenA34

Have you tried "sudo rfkill list" then "sudo rfkill unblock x" x will be the number from the list.. Also "sudo rfkill unblock all" The last one command works for my iwl3945 card. I was reading online that some people had success using wicd with "RF_KILL bit toggled to enable radio. " error for some reason. Also have sure wlan is enabled in BIOS and if the wifi card uses a switch turn it on.

----------

## geloo

hello, 

yep, i did that, but everytime i type rfkill unblock X 

system enabled and than automatically disabled radio again - see output from kernel log

```

Mar 27 11:26:38 niika kernel: [  772.339638] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio. 

Mar 27 11:26:38 niika kernel: [  772.341162] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio. 

Mar 27 11:29:42 niika kernel: [  956.561315] iwl4965 0000:0c:00.0: RF_KILL bit toggled to enable radio. 

Mar 27 11:29:42 niika kernel: [  956.563846] iwl4965 0000:0c:00.0: RF_KILL bit toggled to disable radio.

```

BIOS setting is fine.

----------

## 6thgenA34

I might know a little trick that might work but will be a pain in the ass every time you want to load your wifi. 1st get something with Windows PE like Hirens Boot CD or Bart's PE. Load the CD then run PENetwork Manager. Make sure the light on your wifi turns on..You must reboot and not poweroff system into linux. Then hopefully the card should work.

----------

## geloo

 :Smile:  i know this trick but with wire connection  :Smile: 

but this doesnt help me now. 

Any other ideas please ?

----------

## derk

are you loading the microcode that the card requires? also requires a kernel setting to autoload the code at boot.

net-wireless/iwl4965-ucode

or

sys-kernel/linux-firmware

card will not work without it

also  rfkill  needs to be activated in the kernel as well

----------

## geloo

 *derk wrote:*   

> are you loading the microcode that the card requires? also requires a kernel setting to autoload the code at boot.
> 
> net-wireless/iwl4965-ucode
> 
> or
> ...

 

hello,

yes, microcode is loading. it doesnt work at all without them 

RF KILL also active in kernel. Its listing in my output from lsmod /first post in topic/

:/

i have finished in trying to update kernel from 3.2.1 to 3.3. in believe that maybe something gonna change but nope. still same problem. 

need help  :Smile:  please

----------

## derk

I had an issue that may have been similar ..  I previously used the iwllegacy/iwl4965 driver (built -in) with the net-wireless/iwl5100-ucode 

but when the new iwlwifi driver was introduced as the newest standard .. the older had difficulties working .. I still had a working network as i had made the new driver as a module .. as I was checking something else I found it was loaded and working .. so if your card is new enough you might be forced to use the newer driver .. 

lspci       .... may tell you enough info ..

there may be other discussions on this elsewhere as I remember others having issues ..  that is all the help I can offer .. sorry

----------

## 6thgenA34

Since iwl driver is not working for that card have you tried to blacklist it and using ndiswrapper instead? Also instead of using the lastest firmware try lower versions to see if it loads up properly. Try  *Quote:*   

> sudo rmmod -f dell_wmi

 

Fn+F2 to toggle wifi on or off on some systems

----------

## joheirba

Hello,

Found something about this http://www.geekmind.net/2011/01/linux-wifi-operation-not-possible-due.html

On my iwl3945, following solved the problem:

# rfkill list all

0: phy0: Wireless LAN

        Soft blocked: no

        Hard blocked: yes

# rmmod iwl3945

# rfkill unblock all

# modprobe iwl3945

# rfkill list

1: phy1: Wireless LAN

        Soft blocked: no

        Hard blocked: no

Problem started about a month ago, after pulling in a new udev with emerge -NuD.

Can it be that the new udev loads the iwl3945 module before the firmware becomes accessible ? Maybe because I am not using an initramfs when booting. Just guessing, I hope this will get solved in a more convenient way soon.

----------

## derk

one possible fix is to route around udev issues by building your ucode into the kernel 

copy your microcode block from /lib/firmware/whatever..it..is.ucode into /usr/src/your-kernel-sources/firmware/ 

it may not be suffixed with ".ucode" but ".bin" or something else use the exact same file name as found in /lib/firmware/  for your device.

probably is: iwlwifi-3945-1.ucode or something close to that .. 

under Generic Drivers Options set: () External firmware blobs to build into kernel binary

i.e.

CONFIG_EXTRA_FIRMWARE="whatever..it..is.ucode"

I know it works as I've been playing around with a udev free system configuration and had to do this to add the proper microcode for the intel wireless built into my laptop.   Of course build the wireless module(ie iwl3945) into the kernel as well  or it will probably not work.

----------

## joheirba

Appartently, the firmware isn't loaded anymore since I installed udev version 182:

[   19.841795] udevd[2889]: starting version 182

[   20.639781] cfg80211: Calling CRDA to update world regulatory domain

[   21.084739] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s

[   21.084745] iwl3945: Copyright(c) 2003-2011 Intel Corporation

[   21.138857] iwl3945 0000:0a:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels

[   21.138864] iwl3945 0000:0a:00.0: Detected Intel Wireless WiFi Link 3945ABG

[   21.139033] iwl3945 0000:0a:00.0: irq 49 for MSI/MSI-X

[   21.139281] Registered led device: phy0-led

If I reload the module with rmmod / modprobe as described above, the firmware is correctly loaded, but the new interface is not detected:

# rmmod iwl3945

# modprobe iwl3945

# dmesg | tail

[96258.205573] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s

[96258.205579] iwl3945: Copyright(c) 2003-2011 Intel Corporation

[96258.246693] iwl3945 0000:0a:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels

[96258.246701] iwl3945 0000:0a:00.0: Detected Intel Wireless WiFi Link 3945ABG

[96258.246927] iwl3945 0000:0a:00.0: irq 49 for MSI/MSI-X

[96258.251152] Registered led device: phy1-led

[96258.251293] ieee80211 phy1: Selected rate control algorithm 'iwl-3945-rs'

[96258.401398] iwl3945 0000:0a:00.0: loaded firmware version 15.32.2.9

[96258.401585] iwl3945 0000:0a:00.0: Radio disabled by HW RF Kill switch

[96259.152935] iwl3945 0000:0a:00.0: Radio disabled by HW RF Kill switch

[96259.153108] iwl3945 0000:0a:00.0: Radio disabled by HW RF Kill switch

# rfkill list

1: phy1: Wireless LAN

        Soft blocked: no

        Hard blocked: no

The phy1 interface however does not "come up" as wlan0 or wlan1. Any ideas ?

Even better would be to have the firmware loaded at startup. Any ideas ? I've tried to include the firmware into the kernel, but without success.

Please help me   :Sad: 

----------

## geloo

hi there. 

trick with kernel and firmware driver build in doesnt help me. same problem. 

tricks with ucode downgrade also didnt help me. 

command "rfkill unblock all" is unblocking Hardware but Software still set to YES <----and this is strange behavior. 

so this command doesnt help me.

moreover, i have installed one more gentoo on same laptop, kernel 3.3.0, amd64, with initramsfs - everything working fine until i have uninstalled DHCP  :Very Happy: 

and this thing confused me completely. 

i have no idea why and what coused this.

----------

