Re: wireless hardware disable switch forbids the use of external wifi cards



On Fri, 2009-02-13 at 17:11 +0000, Robert Lazzurs wrote:
> On Fri, Feb 13, 2009 at 16:47, Dan Williams <dcbw redhat com> wrote:
> > On Thu, 2009-02-12 at 19:53 -0500, Mikhail Zakharov wrote:
> >> Hi, I have a really bad internal wireless card. If I disable it and try
> >> to use an external PCIMCA card, the network manager will not let me do
> >> this since wireless option is automatically disabled based on the switch
> >> state. I was wondering whether anyone has noted this, since imho this is
> >> a serious issue. Why can't we have a per device control like in windows,
> >> where each network adaptor has its own set of enable/disable controls. A
> >> quick solution to this problem would be I think to revert to Nm 0.6
> >> behaviour, where hardware switch did not affect the software state and
> >> everything worked fine. If anyone has worked on a patch that does this,
> >> please let me know. Thanks, Mikhail
> >
> > For a number of reasons, NetworkManager does not support per-device
> > rfkill.  For starters, "rfkill" means "turn the radio off", and that's
> > exactly what NetworkManager does.  It turns off the radios.
> >
> > Second, it's not really possible to match up rfkill switches with
> > specific wireless devices.  On some machines they are tied to the
> > specific card, but these days most of them are implemented through BIOS
> > or via keyboard softkeys, and you simply cannot figure out which device
> > the rfkill switch is intended for, if that's even a valid assumption
> > that an rfkill switch is paired with a specific device.
> >
> > The option Windows uses is to bring up huge vendor-specific "Laptop
> > control" panels every time you hit a killswitch, which are ugly, require
> > many more clicks to disable things, and not something we should be doing
> > here.  We should be making the 90% use-cases easy, enabling the next 5%
> > with some effort on the part of the user, and usually ignoring the other
> > 5% completely (for good reason; if you try do everything, you succeed at
> > nothing).
> 
> Without repeating my self does it not make sense then to allow
> NetworkManager to re-enable cards on a per card basis after the rfkill
> switch has been activated.

A per-card basis would require UI to pop up and ask you which cards you
wanted to un-kill when you flipped the switch back, right?  What if you
want rfkill to work on all devices?

> I agree once that switch has been turned off it should by default kill
> all radio signals from the device however it would be nice to be able
> to then turn on a selected device if required without turning them all
> on again, for me this seems to be a win for everyone.

Depends; again, its a tradeoff between functionality and usability.  Now
I'd agree that we may be able to do better here and show such UI only if
there's more than one device on the system.  However, as I stated a bit
before, that's not something we can reliably do until we have (a) a
better way to detect what killswitches apply to which devices, and (b)
better rfkill support in HAL.

The problem is that some devices are tied to specific cards, others are
not.  There's no way to detect which devices are which.  So in the case
of, say, Intel 3945 cards, which are in millions of laptops, the switch
actually kills the intel radio directly.  Thus when the switch is turned
off, we don't always know which radios can be un-killed by software, and
which can be unkilled by hardware.

Dan



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