Re: howto ignore rfkill switch



On Fri, 2010-04-23 at 10:12 +0100, Marc Herbert wrote:
> Le 21/04/2010 23:09, Jim Cromie wrote :
> > The switch disables all WIFI;
> > not just the built-in one, but also pcmcia and usb wlan devices Ive plugged in.
> 
> Do you know how Windows handles this?

Normally there are vendor-provided rfkill tools that run on startup, and
appear when you press the button.  But remember, Windows still has to
deal with the same types of rfkill switches including soft-kill and
hardkill.

So on my HP laptop with a hardswitch (not a rocker, but a pushbutton)
BIOS keeps the state internally.  When you press it to disable wireless,
*all* devices (WWAN, BT, WLAN) go away, and a notification window shows
up on your desktop telling you the state of all devices.  When you
enable it, same thing happens in reverse.  You can click the 'HP
Wireless' icon in the system tray to bring up the rfkill app which
allows you to selectively enable/disable the different classes of device
(BT, WWAN, WLAN) if you like.

On Thinkpads with Fn+F5 rfkill, it's just a keycode and this launches an
applet in which you manually select which devices you want to rfkill and
which you want to leave enabled.

On a Sony Vaio which a hard rocker switch, the WLAN and BT just die when
the switch is slid to off; these models don't appear to have a central
applet of any sort.

Windows avoids the problem we have where we can't tell which switch goes
with which wifi adapter because OEMs do a ridiculous amount of custom
engineering and driver work per-laptop.  Often their applications will
check the USB IDs of devices or DMI data and refuse to touch anything
else.  But of course on Linux where you can swap out your internal wifi
card and do pretty much whatever you want, this doesn't work.

This isn't an easy problem to solve on the Linux side because, like I
said, we dont' have a great way to match up rfkill switches with the
hardware they actually affect.  I've got some thoughts on this but it'll
take a while to implement.

Dan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]