# iwl3945 problem

## ddebecke

Hi all, 

I want to use my wireless network controller on my laptop.

lspci tells me that I have the following controller:

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

I configured my kernel (which is 2.6.27-gentoo-r7) with the following options:

IWLCORE=y

IWLWIFI_RFKILL=y

IWL3945=m

IWL3945_RFKILL=y

IWL3945_SPECTRUM_MEASUREMENT=y

IWL3945_LEDS=y

IWL3945_DEBUG=y

I get the following lines regarding iwl3945 in my dmesg output:

iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.2.26kds

iwl3945: Copyright(c) 2003-2008 Intel Corporation

iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

iwl3945 0000:0c:00.0: setting latency timer to 64

iwl3945: Detected Intel Wireless WiFi Link 3945ABG

iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels

phy1: Selected rate control algorithm 'iwl-3945-rs'

iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

firmware: requesting iwlwifi-3945-1.ucode

iwl3945: Radio disabled by HW RF Kill switch

iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

iwl3945: Radio disabled by HW RF Kill switch

iwconfig tells me that I have a wireless device that is called wlan0

However, if I try to scan for access points, I get the following:

> iwlist wlan0 scan

wlan0     Interface doesn't support scanning : Network is down

If I try to switch my wlan0 on, I get the following:

> ifconfig wlan0 up

SIOCSIFFLAGS: No such device

Can anyone give me a hint on how to make my wireless network work?

Thanks a lot  in advance, 

Dirk

----------

## Etal

Try turning the device on   :Wink: 

 *Quote:*   

> iwl3945: Radio disabled by HW RF Kill switch

 

It could either be an Fn-key combination or an actual switch or button somewhere on your laptop.

----------

## ziggysquatch

I know on the Acer laptops if you used the HW switch to turn off wireless in Windows it would be off and unable to be turned back on in Linux.  I would have to boot back to Windows then move the switch then boot back to linux and it would be fine.

That was back when it was ipw3945.  The iwl3945 may be different.

----------

## szczerb

I had that problem on older kernels (like .25 and .26) now on 2.6.28 the switch on my Lenovo N200 works fine ;]

----------

## ziggysquatch

I still use that laptop but I haven't touched the switch since I hosed the windows partition.  I might have to test it out again now that the newer kernel is on there.  Hope I don't end up wireless-less.

----------

## Etal

Relatively recent kernels have the rfkill switch in /sys. For example, I have /sys/class/rfkill/rfkill0/state, which is set to 1 if wireless is on, 0 turns it off, and if I turn it off with the Fn-key it goes into 2 and can not be changed (but I would guess that it because it was physically disabled). So if you don't have the button, try changing the value.

----------

## d2_racing

Maybe you should try to disable this option : 

```
IWLWIFI_RFKILL=y 
```

And also remove the RF_KILL switch inside the Wireless section I think.

----------

## szczerb

Why would he want to choose NOT to have support for the switch?

----------

## d2_racing

If he disables the switch, then the kernel will think that the switch is always at on.

----------

## kernelOfTruth

 *d2_racing wrote:*   

> If he disables the switch, then the kernel will think that the switch is always at on.

 

interesting, didn't know that,

thanks   :Smile: 

----------

## d2_racing

I solved a problem last week or in the beginning of 2009.

He had a very weird bug and the main reason was his laptop, a HP that the ACPI and other stuff didn't work completely well on Linux.

----------

## ddebecke

Thanks d2_racing. 

Disabling the RF kill switch option in the kernel, enables me to use my wireless, and strangely enough, Fn-F2 even toggles the wireless network state on my Dell Inspiron 9400.

Dirk

----------

## d2_racing

Nice to know, but I don't like this hack, maybe there a bugzilla that is open for that.

----------

## Etal

So if you do have support for the switch, can't you toggle the power with sysfs? Or does it get stuck at some value or not work? (Just curious)

----------

## d2_racing

In fact, you can tweak it with some command, but you have 50% to been able to do that.

----------

## milomak

 *d2_racing wrote:*   

> Maybe you should try to disable this option : 
> 
> ```
> IWLWIFI_RFKILL=y 
> ```
> ...

 

So should I set both CONFIG_IWLWIFI_RFKILL and CONFIG_IWL3945_RFKILL to No.

```

localhost ~ # cat /usr/src/linux/.config | grep RFKILL

CONFIG_RFKILL=m

CONFIG_RFKILL_INPUT=m

CONFIG_RFKILL_LEDS=y

# CONFIG_IWLWIFI_RFKILL is not set

# CONFIG_IWL3945_RFKILL is not set

CONFIG_B43_RFKILL=y

CONFIG_B43LEGACY_RFKILL=y

CONFIG_RT2X00_LIB_RFKILL=y

CONFIG_RT2400PCI_RFKILL=y

CONFIG_RT2500PCI_RFKILL=y

CONFIG_RT61PCI_RFKILL=y

```

----------

