ipw2200: Radio Frequency Kill Switch is On:

Hello.

T box is a siemens amilo 1310g.

I am trying to use an intel wireless card. Relevent part of lspci is;


02:01.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
        Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64 (750ns min, 6000ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 23
        Region 0: Memory at d0208000 (32-bit, non-prefetchable) [size=4]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
        Kernel driver in use: ipw2200

I am using the compat-wireless drivers.


AKUPAKKU:/home/aku # modinfo ipw2200
filename:       /lib/modules/3.4.28-2.20-desktop/updates/drivers/net/wireless/ipw2x00/ipw2200.ko
firmware:       ipw2200-bss.fw
firmware:       ipw2200-sniffer.fw
firmware:       ipw2200-ibss.fw
license:        GPL
author:         Copyright(c) 2003-2006 Intel Corporation
version:        1.2.2kdmprq
description:    Intel(R) PRO/Wireless 2200/2915 Network Driver
srcversion:     3D6408BD0FE8ADB25B34692
alias:          pci:v00008086d00004224sv*sd*bc*sc*i*
alias:          pci:v00008086d00004223sv*sd*bc*sc*i*
alias:          pci:v00008086d00004221sv*sd*bc*sc*i*
alias:          pci:v00008086d00004220sv*sd*bc*sc*i*
alias:          pci:v00008086d0000104Fsv*sd*bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002762bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002761bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002754bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002753bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002752bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002751bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002742bc*sc*i*
alias:          pci:v00008086d00001043sv0000103Csd00002741bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002741bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002732bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002731bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002722bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002721bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002712bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002711bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002702bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002701bc*sc*i*
depends:        cfg80211,libipw,compat
vermagic:       3.4.28-2.20-desktop SMP preempt mod_unload modversions 686 
parm:           disable:manually disable the radio (default 0 [radio on]) (int)
parm:           associate:auto associate when scanning (default off) (int)
parm:           auto_create:auto create adhoc network (default on) (int)
parm:           led:enable led control on some systems (default 1 on) (int)
parm:           debug:debug output mask (int)
parm:           channel:channel to limit associate to (default 0 [ANY]) (int)
parm:           rtap_iface:create the rtap interface (1 - create, default 0) (int)
parm:           qos_enable:enable all QoS functionalitis (int)
parm:           qos_burst_enable:enable QoS burst mode (int)
parm:           qos_no_ack_mask:mask Tx_Queue to no ack (int)
parm:           burst_duration_CCK:set CCK burst value (int)
parm:           burst_duration_OFDM:set OFDM burst value (int)
parm:           mode:network mode (0=BSS,1=IBSS,2=Monitor) (int)
parm:           bt_coexist:enable bluetooth coexistence (default off) (int)
parm:           hwcrypto:enable hardware crypto (default off) (int)
parm:           cmdlog:allocate a ring buffer for logging firmware commands (int)
parm:           roaming:enable roaming support (default on) (int)
parm:           antenna:select antenna 1=Main, 3=Aux, default 0 [both], 2=slow_diversity (choose the one with lower background noise) (int)

The card is hard locked during the boot process.


dmesg|egrep ipw2200
   24.143861] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kdmprq
   24.143966] ipw2200: Copyright(c) 2003-2006 Intel Corporation
   24.144293] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
   24.651828] ipw2200: Radio Frequency Kill Switch is On:
   24.652851] ipw2200: Detected geography ZZR (14 802.11bg channels, 0 802.11a channels)
   47.574063] ipw2200: Failed to send POWER_MODE: Command timed out.
   67.702048] ipw2200: Failed to send POWER_MODE: Command timed out.

Is the POWER_MODE timeout due to the RF kill switch being on?


AKUPAKKU:/home/aku # rfkill list
0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: yes


The box has a wireless button on it but it doesn’t work. If I press it, I saw in the log that it was an unrecognised key (6d). I then did setkeycodes 6d 246.

I chose 246 because xmodmap -pke showed me “keycode 246 = XF86WLAN NoSymbol XF86WLAN”.

Can anybody help me to clearthis up so that I can move on to configure the wlan?

TIA

Cheers - AK[/size]

It happens that I have the same card as you on a Sony Vaio laptop.
The only differences I can see out of running the same commands as you are:

bonaire:/home/dan # modinfo ipw2200
depends:        cfg80211,libipw
intree:         Y

bonaire:/home/dan # dmesg|egrep ipw2200
   21.744164] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kdmprq
   21.744172] ipw2200: Copyright(c) 2003-2006 Intel Corporation
   21.744399] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
   22.328268] ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)

bonaire:/home/dan # rfkill list
0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

I hope this will help you. If you have any other things that you would like to compare let me know. I don’t have any solutions so I hope this will help. good luck!

On 02/23/2013 09:36 AM, antttikutoja wrote:
>
> Hello.
>
> T box is a siemens amilo 1310g.

–snip–
>
> I am using the compat-wireless drivers.

This device is quite old, and I doubt that the driver is changed between kernel
3.4.28 and the latest one. Using compat-wireless likely will not help.

–snip–

> dmesg|egrep ipw2200
> 24.143861] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kdmprq
> 24.143966] ipw2200: Copyright(c) 2003-2006 Intel Corporation
> 24.144293] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
> 24.651828] ipw2200: Radio Frequency Kill Switch is On:
> 24.652851] ipw2200: Detected geography ZZR (14 802.11bg channels, 0 802.11a channels)
> 47.574063] ipw2200: Failed to send POWER_MODE: Command timed out.
> 67.702048] ipw2200: Failed to send POWER_MODE: Command timed out.

Those POWER_MODE messages can likely be ignored.

> AKUPAKKU:/home/aku # rfkill list
> 0: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: yes

> The box has a wireless button on it but it doesn’t work. If I press it,
> I saw in the log that it was an unrecognised key (6d). I then did
> setkeycodes 6d 246.
>
> I chose 246 because xmodmap -pke showed me “keycode 246 = XF86WLAN
> NoSymbol XF86WLAN”.

You might try 238, which is what the wmi drivers (see below) use.

> Can anybody help me to clearthis up so that I can move on to configure
> the wlan?

On those laptops that have a key that controls the wireless, a wmi (for Windows
Management Interface) is needed. Unless the Siemens laptop is a rebranded model
from one of the other manufacturers, there is no routine for it.

lwfinger.

I tried 238 but still no joy. Your final comment gives me the impression that it is not going to be possible to use the wlan card on this laptop. Is that right?

lwfinger.

Do you recall this thread that you were so kindly helping me with?

https://forums.opensuse.org/english/get-technical-help-here/wireless/483356-authentication-regulatory-domain-issues-ath5k-12-2-a.html

This is the same box, just a different wireless card. With the previous card, I didn’t get any RF Kill Switch message at boot up and the only time rfkill showed the hard lock was after I had removed the ath5k driver.

If the driver is the one who reports the block, maybe there is a bug in ath5k. Maybe it’s allowing a receive but not a send or something.

I will have to try using a usb dongle instead.

Cheers - AK

On 02/25/2013 12:06 PM, antttikutoja wrote:
>
> lwfinger.
>
> Do you recall this thread that you were so kindly helping me with?
>
> http://tinyurl.com/ah7opnh
>
> This is the same box, just a different wireless card. With the previous
> card, I didn’t get any RF Kill Switch message at boot up and the only
> time rfkill showed the hard lock was after I had removed the ath5k
> driver.
>
> If the driver is the one who reports the block, maybe there is a bug in
> ath5k. Maybe it’s allowing a receive but not a send or something.
>
> I will have to try using a usb dongle instead.

Is ath5k still loaded? If not, it should have no effect. Can you unload rfkill?

I do not know anything of this vendor’s equipment. Perhaps there is a forum in
some other distro that has some info on the device.

On 02/25/2013 12:06 PM, antttikutoja wrote:
>
> I will have to try using a usb dongle instead.

If rfkill is blocking, that won’t help either.

Try blacklisting rfkill.

I have been digging the web for the last couple of hours particularly trying to find out if the physical switch is “electric” or is a “signal generator”.

Came across a post whilst looking at udev stuff where the poster used udevadm to see what happened when the wifi switch was pressed. This is what was shown:


KERNEL[1294783738.161613] change   /devices/pci0000:00/0000:00:09.0/ieee80211/phy0/rfkill0 (rfkill)
UDEV  [1294783738.167524] change   /devices/pci0000:00/0000:00:09.0/ieee80211/phy0/rfkill0 (rfkill)
KERNEL[1294783738.168651] change   /devices/platform/regulatory.0 (platform)
UDEV  [1294783738.185560] change   /devices/platform/regulatory.0 (platform)
KERNEL[1294783763.168145] change   /devices/pci0000:00/0000:00:09.0/ieee80211/phy0/rfkill0 (rfkill)
UDEV  [1294783763.171692] change   /devices/pci0000:00/0000:00:09.0/ieee80211/phy0/rfkill0 (rfkill)

This would suggest that the switch is a signaller right?

Later on in the post, they say that they had re-compiled the kernel without rfkill support and the result was that the wireless switch was being ignored.

I just tried udevadm monitor on that box and pressed the wireless key. Nothing.

dumpkeys shows "keycode238 = " That is, nothing else on the line.

Unless I can get an event generated, I guess I’m at a cul-de-sac.

Any thoughts?

Cheers - AK

On 02/25/2013 02:46 PM, antttikutoja wrote:
>
> I just tried udevadm monitor on that box and pressed the wireless key.
> Nothing.
>
> dumpkeys shows "keycode238 = " That is, nothing else on the line.
>
> Unless I can get an event generated, I guess I’m at a cul-de-sac.
>
> Any thoughts?

Did you try blacklisting rfkill?

Sorry lwfinger. Only just saw your message. Will try that out later when I get my hands on the box again.

Re: ath5k. Well, the module is still installed but isn’t being loaded any more. I physically swapped the Atheros card for an Intel one.

On 02/26/2013 04:46 AM, antttikutoja wrote:
>
> Sorry lwfinger. Only just saw your message. Will try that out later when
> I get my hands on the box again.
>
> Re: ath5k. Well, the module is still installed but isn’t being loaded
> any more. I physically swapped the Atheros card for an Intel one.

If the module is not loaded, then it is of no concern. A standard distribution
has roughly 2000 modules that are available, but only about 100 are actually
loaded. The loading is mostly triggered by detecting the USB or PCI ID.

Is there a “solved” button somewhere?

First off, I would like to offer my sincerest thanks to all who have tried to help me out with this problem. Especially Larry - lwfinger. On this journey, I have been given the opportunity to read and learn more aboutthis wireless stuff and how it works. Priceless.

During yet another foray into googleland, I came across a post that said that the amilo L1310G was not recommended for Linux on account of the radio switch being software-controlled and there was no software under Linux. At that point, I was about to give it up and go buy a USB stick having previously installed the acerhk package and tried several module combinations without any success at all…

Then, I came across this wee genius: fsaa1655g - Fujitsu Siemens Amilo A1655G, L1310G WLAN switch for Linux

Built the module and installed with options fsaa1655g radio=1 which, incidently, seems to be the opposite of what it says in the readme file that comes with the download.

Brilliant! It works fine, in fact, I am posting this from that laptop via the wireless.

Once again, thank you all. Now to set up the rest of the box.

Cheers - AK

On 02/27/2013 09:46 AM, antttikutoja wrote:
>
> Is there a “solved” button somewhere?
>
> First off, I would like to offer my sincerest thanks to all who have
> tried to help me out with this problem. Especially Larry - lwfinger. On
> this journey, I have been given the opportunity to read and learn more
> aboutthis wireless stuff and how it works. Priceless.
>
> During yet another foray into googleland, I came across a post that
> said that the amilo L1310G was not recommended for Linux on account of
> the radio switch being software-controlled and there was no software
> under Linux. At that point, I was about to give it up and go buy a USB
> stick having previously installed the acerhk package and tried several
> module combinations without any success at all…
>
> Then, I came across this wee genius: ‘fsaa1655g - Fujitsu Siemens Amilo
> A1655G, L1310G WLAN switch for Linux’ (http://www.marvec.org/amilo/)
>
> Built the module and installed with options fsaa1655g radio=1 which,
> incidently, seems to be the opposite of what it says in the readme file
> that comes with the download.
>
> Brilliant! It works fine, in fact, I am posting this from that laptop
> via the wireless.
>
> Once again, thank you all. Now to set up the rest of the box.

Your finding gave me a clue and I searched the kernel source for “1655” and
found a kernel module named amilo-rfkill. It seems to be the one for these
laptops. If you unload fsaa1655g and load amilo-rfkill, your switch might
actually work without having to muck around in /proc.

Lwfinger.

Yes. After I had installed the acerhk package, I saw that it came with a module calle amilo-rfkill. I tried to load it but it failed complaining about some missing symbols.

lwfinger. My memory served me badly. The message I get when I try to load amil-rfkill is “[261]: Failed to insert ‘amilo_rfkill’: No such device”.

I don’t see any module option to tell it what device so I am in the dark.

By using the rfkill module options master_switch_mode=2 and default_state=1, The interface is reported by rfkill list as being unblocked. However, I still cannot access the AP.

On 02/28/2013 09:46 AM, antttikutoja wrote:
>
> lwfinger. My memory served me badly. The message I get when I try to
> load amil-rfkill is “[261]: Failed to insert ‘amilo_rfkill’: No such
> device”.

The module is not correct for your motherboard.

> I don’t see any module option to tell it what device so I am in the
> dark.
>
> By using the rfkill module options master_switch_mode=2 and
> default_state=1, The interface is reported by rfkill list as being
> unblocked. However, I still cannot access the AP.

I don’t have any answers for that. What is the output of ‘sudo /usr/sbin/iwlist
scan’?

“cells”. Mine plus two from my neighbour’s. I am back using the ath5k driver on the original card.

Although the rfkill options seem to have “unblocked” the card, it seems that it is still off somehow and ath5k isn’t able to send. If I use the fsaa module, bingo, it all springs back into life.

The only downside I see with using the fsaa module is if my boy wants to switch on the box in a restricted area. Restricted in the sense that nobody is allowed to transmit radio. Not likely but I will give detailed instructions on how they can cat the 0 to the /proc file.

I did read that the fsaa module had required some hours of debug looking for the right port etc.

Cheers - AK

On 02/28/2013 11:26 AM, antttikutoja wrote:
>
> # “cells”. Mine plus two from my neighbour’s. I am back using the ath5k
> driver on the original card.
>
> Although the rfkill options seem to have “unblocked” the card, it seems
> that it is still off somehow and ath5k isn’t able to send. If I use the
> fsaa module, bingo, it all springs back into life.
>
> The only downside I see with using the fsaa module is if my boy wants
> to switch on the box in a restricted area. Restricted in the sense that
> nobody is allowed to transmit radio. Not likely but I will give detailed
> instructions on how they can cat the 0 to the /proc file.
>
> I did read that the fsaa module had required some hours of debug
> looking for the right port etc.

I would prepare a shell script with one argument (0 or 1). The code should copy
that argument to the right place in /proc. The script will need root privilege,
thus you need to add it to the sudoers file so that it can be run without a
password.

Yeps, I get it. I have already done a wee perl script that is interactive and asks what they want. If I did it as a C program, I could make that suid root so… Am also looking a suid root perl scripting.

Pragmatism ei?

Cheers - AK