netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vojtech Pavlik <vojtech@suse.cz>
To: Jiri Benc <jbenc@suse.cz>
Cc: Ivo van Doorn <ivdoorn@gmail.com>,
	Stefan Rompf <stefan@loplof.de>,
	Francois Romieu <romieu@fr.zoreil.com>,
	netdev@vger.kernel.org
Subject: Re: [RFC PATCH 1/2] Hardware button support for Wireless cards: radiobtn
Date: Fri, 23 Jun 2006 13:08:19 +0200	[thread overview]
Message-ID: <20060623110819.GA29574@suse.cz> (raw)
In-Reply-To: <20060622175546.7eebebb4@griffin.suse.cz>

On Thu, Jun 22, 2006 at 05:55:46PM +0200, Jiri Benc wrote:

> On Sat, 17 Jun 2006 17:05:55 +0200, Ivo van Doorn wrote:
> > With this approach more buttons can be registered,
> > it includes the optional field to report an update of the key status
> > to the driver that registered it, and it supports for non-polling keys.
> 
> I think this is not specific to networking anymore, so it should go to
> lkml. Please be sure to Cc: input devices maintainer, Dmitry Torokhov.
> 
> Regarding rfkill button, I talked about that with Vojtech Pavlik (Cc:ed)
> and he suggests this solution:
> 
> - driver is responsible for turning on/off radio when the input device
>   is not opened;
> - when something opens the input device, it receives input events and 
>   gets responsible to turn on/off the radio (by ioctl or putting the 
>   network interfaces up/down).
> 
> This is of course not possible for all hardware, but it gives the most
> flexibility while keeping the possibility to switch of the radio without
> userspace support.
 
Let me elaborate a little bit on the possible implementation:

	1) 802.11 card drivers will implement an input device for each card in
	the system that has a user-controlled RF-Kill button or switch.

	2) 802.11 card drivers will implement an interface to enable/disable the
	radio, be it through a call, ioctl, or whatever, that is accessible from
	both the kernel and userspace.

	3) ACPI buttons drivers, and keyboard drivers will generate KEY_RFKILL
	on machines where RF-Kill keys are reported using ACPI events or
	keyboard scancodes.

	3) A rfkill.ko input handler module will be implemented, that listens to
	the SW_RFKILL and KEY_RFKILL events from all devices in the system, and
	will enable/disable radios on all 802.11 devices in the system.

The above will make the RF-Kill button work under all real scenarios as
user expects - it will enable/disable the radio. In the case where a
user has an additional PCMCIA card, both the radios will be disabled by
presing the RF-Kill button, which is arguably what the user expects.
Even BlueTooth or other RF technologies (CDMA, EDGE) can hook into this
mechanism.

	4) When userspace wants to take over the control over RF-Kill, and start
	additional services based on that, it can open the input devices to get
	the state of the buttons/switches, AND it can issue the EVIOCGRAB
	ioctl() to prevent the rfkill.ko and any other handlers from getting the
	events.

This allows simple implementation of dbus notifications and
NetworkManager-style configuration of network interfaces.

-- 
Vojtech Pavlik
Director SuSE Labs

  reply	other threads:[~2006-06-23 11:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-25 15:16 [RFC PATCH 1/2] Hardware button support for Wireless cards: radiobtn Ivo van Doorn
2006-05-29 15:58 ` Ivo van Doorn
2006-05-30 21:43   ` Francois Romieu
2006-05-31 17:31     ` Ivo van Doorn
2006-05-31 18:05       ` Ivo van Doorn
2006-06-02 14:30         ` Ivo van Doorn
2006-06-03  8:45           ` Stefan Rompf
2006-06-04  8:02             ` Ivo van Doorn
2006-06-04 10:14               ` Stefan Rompf
2006-06-04 11:44                 ` Ivo van Doorn
2006-06-17 15:05                 ` Ivo van Doorn
2006-06-22 15:55                   ` Jiri Benc
2006-06-23 11:08                     ` Vojtech Pavlik [this message]
2006-06-23 18:51                       ` Ivo van Doorn
2006-06-23 19:32                         ` Vojtech Pavlik
2006-06-23 21:35                           ` Ivo van Doorn
2006-06-23 18:53                     ` Ivo van Doorn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060623110819.GA29574@suse.cz \
    --to=vojtech@suse.cz \
    --cc=ivdoorn@gmail.com \
    --cc=jbenc@suse.cz \
    --cc=netdev@vger.kernel.org \
    --cc=romieu@fr.zoreil.com \
    --cc=stefan@loplof.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).