# ipw2200 radio off (after baselayout upgrade?)  [SOLVED]

## MetalWarrior

Hi,

I'm running a 2.6.15-gentoo-r1 kernel (I can not upgrade at the moment for various reasons) with ipw2200-1.1.3 and everything always worked fine.. I didn't use the integrated wireless last days and today I noticed that I have some problems with the wireless radio.. If the wireless switch is ON when I boot into Gentoo, then iwconfig says radio is OFF and moving the switch doesn't change anything.. I rebooted with the switch OFF and then I switched the radio ON after the boot and everything worked fine by configuring the wireless "by hand".. then I tried to configure it with the "/etc/init.d/net.eth0 start" command, which failed because of a wrong entry in the /etc/conf.d/wireless file and the radio became off again (I could not switch it ON anymore).. The only important thing that I've upgraded in these last days is baselayout (moved from the "old" 1.11.* to 1.12.4-r6).. could my problem be related to this upgrade?

PS: just another simple question about configuring the wep key in the "wireless" file.. if my essid is "home-wifi", how should be the correct entry in that file? I can not use key_home-wifi="...", since the "-" can not be used in a variable name.. should I use key_home_wifi="..." ?

Thank you for any suggestion.

----------

## MetalWarrior

I think the problem is related to the fact that when the interface "/etc/net.eth0" is stopped, the following sysfs entry is set to 1, which means (as you can see below, from the snippet taken from README.ipw2200) that SW based RF_KILL is active and the hardware switch does nothing:

```

1.4.2 Device Level Sysfs Helper Files

-----------------------------------------------

For the device level files, look in

        /sys/bus/pci/drivers/ipw2200/{PCI-ID}/

For example:

        /sys/bus/pci/drivers/ipw2200/0000:02:01.0

For the device level files, see /sys/bus/pci/drivers/ipw2200:

  rf_kill

        read -

        0 = RF kill not enabled (radio on)

        1 = SW based RF kill active (radio off)

        2 = HW based RF kill active (radio off)

        3 = Both HW and SW RF kill active (radio off)

        write -

        0 = If SW based RF kill active, turn the radio back on

        1 = If radio is on, activate SW based RF kill

        NOTE: If you enable the SW based RF kill and then toggle the HW

        based RF kill from ON -> OFF -> ON, the radio will NOT come back on

```

So, I think that the errors in my wireless config file forced the net.eth0 interface to stay down, with the SW RF_KILL enabled.. I think I can consider this SOLVED, but I wait for some other opinions, so I keep PROBLEM in the topic title for a while.

BTW, can someone tell me if this sysfs entry started being set in net.lo (I suppose it is being set there..) only in the 1.12 baselayout?

----------

## UberLord

 *MetalWarrior wrote:*   

> BTW, can someone tell me if this sysfs entry started being set in net.lo (I suppose it is being set there..) only in the 1.12 baselayout?

 

Sure.

We switch radio off when the interface is stopped unless IN_BACKGROUND=true.

wpa_cli sets IN_BACKGROUND=true when stopping net.$iface from a disconnect even from wpa_supplicant.

This means something else called stop - maybe you?

----------

## MetalWarrior

 *UberLord wrote:*   

> 
> 
> We switch radio off when the interface is stopped unless IN_BACKGROUND=true.
> 
> wpa_cli sets IN_BACKGROUND=true when stopping net.$iface from a disconnect even from wpa_supplicant.
> ...

 

Sure, the interface net.eth0 was stopped and I had my own scripts to start the wireless in different modes (master, ad-hoc and managed) and with different essids.. I didn't know about the possibility of switching the radio off "via software" so I thought there were some problems with my wireless card hardware  :Smile:  Fortunately that wasn't true  :Smile:  BTW, the configuration mechanism you have implemented through /etc/conf.d/{net,wireless} is  very good and powerful (I was still using different /etc/init.d/net.* files instead of symlinks toward net.lo).. Good work!  :Smile: 

PS: where should IN_BACKGROUND be set? In the "wireless" configuration file?

----------

## UberLord

 *MetalWarrior wrote:*   

> PS: where should IN_BACKGROUND be set? In the "wireless" configuration file?

 

You don't set it as only daemons should.

----------

## maiku

I had this problem with the in-portage drivers and when I got gentoo-sources-2.6.18-r2 I said "what the hell" and compiled it as modules.  However, when I try to bring the card up using /etc/init.d/net.wlan0 start I get *Quote:*   

>  * Starting wlan0
> 
>  *   Wireless radio has been killed for interface wlan0                   [ !! ]

 And dmesg | tail says *Quote:*   

> ipw2200: No space for Tx
> 
> ipw2200: Failed to send TX_POWER: Reason -16
> 
> 

 I thought if I updated wireless-tools to the highest (and unstable version) I'd have something but no.

iwconfig confirms it exists but also confirms the radio is off *Quote:*   

> wlan0     radio off  ESSID:off/any  
> 
>           Mode:Managed  Channel:0  Access Point: Not-Associated   
> 
>           Bit Rate:0 kb/s   Tx-Power=off   Sensitivity=8/0  
> ...

 And turning the radio on results in failure. *Quote:*   

> mike-gentoo-1 linux # iwconfig wlan0 txpower on
> 
> Error for wireless request "Set Tx Power" (8B26) :
> 
>     SET failed on device wlan0 ; Input/output error.

 Has anybody has a similar issue and fix thereof?

----------

## TrapperGreg

Same problem here at first. I´m using baselayout-1.12.6 with the ipw3945-1.1.0-r1 driver and gentoo-sources-2.6.18-r3 btw.

after starting the system iwconfig says radio off.

After setting  /sys/bus/pci/drivers/ipw3945/0000\:03\:00.0/rf_kill to '0' manually, i get following output after 

```

/etc/init.d/net.eth1 start

 * Starting eth1

 *   Configuring wireless network for eth1

 *   WEP key is not set for "Nepomuk" - not connecting

 *   WEP key is not set for "Larifari-Wlan" - not connecting

 *   WEP key is not set for "Markus-Netz" - not connecting

 *   WEP key is not set for "WLAN-00150CE77B69" - not connecting

 *   WEP key is not set for "Elke" - not connecting

 *   Couldn't associate with any access points on eth1

 *   Failed to configure wireless for eth1                                [ !! ]

```

Very strange is doing again:

```
/etc/init.d/net.eth1 start  

 * Starting eth1

 *   Configuring wireless network for eth1

eth1      no wireless extensions.

 *   WEP key is not set for "Nepomuk" - not connecting

 *   WEP key is not set for "Larifari-Wlan" - not connecting

 *   WEP key is not set for "Markus-Netz" - not connecting

 *   WEP key is not set for "WLAN-00150CE77B69" - not connecting

 *   WEP key is not set for "Elke" - not connecting

 *   Couldn't associate with any access points on eth1

 *   Failed to configure wireless for eth1

```

I use wpa_supplicant, in /etc/conf.d/net, but it seems not to be used by the init script for eth1.

The correct module is loaded, as you can see.

```

lsmod | grep ipw

ipw3945               102560  1

ieee80211              29512  1 ipw3945

firmware_class         10112  1 ipw3945

```

I have tried an older version of baselayout (1.11.15-r3) and I was able to get a connection trough wpa_supplicant, but it was not stable anyway, so I upgraded again. If somebody has a hint about the wpa_supplicant-baselayout thing or even the standard rf-killed issue, please post  :Wink: 

----------

## maiku

I forgot to say that my issue was solved by pressing the wireless card button on my laptop.  I failed to notice that it started working with the latest ipw2200 drivers.  Go figure.

----------

## hellknight

I've got a similar problem with my wireless connection.

Since I changed from the suspend2-sources-2.22.* kernel to the tuxonice-sources-2.23.*, my wireless switch isn't working anymore. I know that the wireless works, because I can activate it through software, using acerhk module. I've seen in another post that maybe I should build in the kernel the rfkill support, but it still doesn't work.

Here is my dmesg | grep iwp

```

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kd

ipw2200: Copyright(c) 2003-2006 Intel Corporation

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

ipw2200: Radio Frequency Kill Switch is On:

ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)

```

Here is my dmesg | grep switch

```

Kill switch must be turned off for wireless networking to work.

```

If I cat /sys/bus/pci/drivers/ipw2200/0000:02:04.0/rf_kill, it returns 2. If I echo 1 to the same location, the cat returns 3, and if I echo 0 it returns 2.

If I try to activate the wireless using iwconfig eth1 txpower on

```

Error for wireless request "Set Tx Power" (8B26) :

    SET failed on device eth1 ; Input/output error.

```

----------

## techuser

exactly same problem that hellknight.

"if I cat /sys/bus/pci/drivers/ipw2200/0000:02:04.0/rf_kill, it returns 2. If I echo 1 to the same location, the cat returns 3, and if I echo 0 it returns 2. "

but no way to turn radio on.

this is a ipw2200 bg inside a nec versa m300, that has not wireless button, then I must do it via software or find a wireless button, or create it.

I wrote nec support , but I do not think they can give a a solution..

Any ideas?

I tried almost with everything, even I installed win xp, but no way..

I tried with acerhk

pbe5

fsam7440

and so on...

----------

## techuser

I managed to solve it this way:

https://forums.gentoo.org/viewtopic-p-5095651.html

----------

