linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tim Jansen <ml@tjansen.de>
To: linux-hotplug@vger.kernel.org
Subject: Re: BoF on hotplugging - summary
Date: Mon, 23 Sep 2002 23:15:27 +0000	[thread overview]
Message-ID: <marc-linux-hotplug-103282298932679@msgid-missing> (raw)
In-Reply-To: <marc-linux-hotplug-103281861328682@msgid-missing>

On Tuesday 24 September 2002 00:00, Oliver Neukum wrote:
> Information needed by user space:
> Items of consensus:
> - physical path and all available device ids must be delivered
> - groupings of devices must be delivered
> - most crucial item: user space needs a mapping between physical and
> logical device - user space wants a device _name_
> - driverfs and the input layer must be documented

To go a step back, I think there are three four things that need to be done:

1. get a list of all device that implement an interface (eg. OSS, ALSA or V4L) 
and get information about the devices that can be presented to the user 
(name, manufacturer, bus). In an ideal world, the information could be 
retrieved without using the (OSS|V4l...) interface, so desktop environments 
can have a single dialog/widget for displaying all devices of a type. And it 
must be possible to get the path to the /dev node(s) that represent the 
device.

Use case:
- user wants to record sound
- app presents user all devices that can record sound (for example on-board 
sound, sound card, USB headset, webcams with build-in microphone - my 
computer has 4 OSS devices)
- user selects one of them
- application uses the selected sound device


2. identify a device.  An application should be able to 'remember' which 
device a user selected. When the user turns the computer off, the application 
should be able to find the device that the user has selected before. Even if 
it is in a different port or the user added a second device of the same type. 
This is not always possible, as many devices do not have a unique serial 
number, but the system should try to guess as well as possible. So if there 
is a serial number, use it. If there is no other information available, try 
to guess it using the port or the hub the device is/was connected to.

Use case:
- a user has two USB printers and selects one of them
- the user turns off the computer and the printers
- the next day, the user turns the computer the printer on again. Note that 
the user may or may not turn on the printers in the same order. If the user 
chooses a different order, the device nodes of the printers have changed
- when the user prints, he should print using the printer he selected 
yesterday


3. id for application-level drivers. For some devices you need an 
'application-level' driver. Examples are 'snapshot' buttons on webcams, the 
'scan' and 'copy' buttons on scanners and dozens of useless USB devices that 
can indicate that you have got an email (like this one: 
http://www.dytoy.com/e638.html). Most of them use a HID driver on the 
kernel-side. But they are completely useless unless there is a integration 
with the actual application, so the DE can start a scanner application when 
the user presses the 'scan' button, or a mail program can raise the flag of 
the email indicator. To do this, it is neccessary that you can get an 
identifier of the device (for a USB device, such an identifier would be bus 
identifier + vendor id + model id). Using the identifier and the /dev node 
path an 'application-level' driver could then do the functionality that the 
user expects

Use case:
- user has a scanner with a 'copy' button
- user presses the 'copy' button
- the desktop environment starts an application that scans a page and prints 
it on the default printer


4. Identify sub-devices of a compound device. Many devices have several 
sub-devices with independent drivers. For example the Philips ToUCam is a USB 
device that has a camera (V4L), microphone (OSS) and a 'snapshot' button 
(HID). It is often important for an application to know which sub-devices 
share the same physical device.

Use case:
- User has two ToUCams
- user presses the 'snapshot' button
- the camera, whose button the user pressed, makes a snapshot


bye...









-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2002-09-23 23:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-23 22:00 BoF on hotplugging - summary Oliver Neukum
2002-09-23 22:14 ` Brad Hards
2002-09-23 22:58 ` Greg KH
2002-09-23 23:00 ` Greg KH
2002-09-23 23:15 ` Tim Jansen [this message]
2002-11-06 18:49 ` David Brownell

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=marc-linux-hotplug-103282298932679@msgid-missing \
    --to=ml@tjansen.de \
    --cc=linux-hotplug@vger.kernel.org \
    /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).