From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Cc: Greg KH <greg@kroah.com>,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
linux-usb@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, libusb-devel@lists.sourceforge.net,
Alexander Graf <agraf@suse.de>, Gerd Hoffmann <kraxel@redhat.com>,
hector@marcansoft.com, Jan Kiszka <jan.kiszka@siemens.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
pbonzini@redhat.com, Anthony Liguori <aliguori@us.ibm.com>,
Jes Sorensen <Jes.Sorensen@redhat.com>,
Alan Stern <stern@rowland.harvard.edu>,
Oliver Neukum <oliver@neukum.org>, Felipe Balbi <balbi@ti.com>,
Clemens Ladisch <clemens@ladisch.de>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Hans de Goede <hdegoede@redhat.com>,
Theodore Kilgore <kilgota@banach.math.auburn.edu>,
Adam Baker <linux@baker-net.org.uk>
Subject: Re: USB mini-summit at LinuxCon Vancouver
Date: Thu, 04 Aug 2011 21:33:16 -0300 [thread overview]
Message-ID: <4E3B3A4C.9010700@infradead.org> (raw)
In-Reply-To: <CAA6KcBBZv7bvVxvEWOYL83igpNZHyzh=bcGxh6Dr5aKsvJK5Cg@mail.gmail.com>
Em 04-08-2011 20:22, Matthew Dharm escreveu:
> On Thu, Aug 4, 2011 at 3:56 PM, Greg KH <greg@kroah.com <mailto:greg@kroah.com>> wrote:
>
> On Thu, Aug 04, 2011 at 07:21:47PM -0300, Mauro Carvalho Chehab wrote:
> > I know that this problem were somewhat solved for 3G modems, with the usage
> > of the userspace problem usb_modeswitch, and with some quirks for the USB
> > storage driver, but I'm not sure if such tricks will scale forever, as more
> > functions are seen on some USB devices.
>
> Well, no matter how it "scales" it needs to be done in userspace, like
> usb_modeswitch does. We made that decision a while ago, and it is
> working out very well. I see no reason why you can't do it in userspace
> as well as that is the easiest place to control this type of thing.
>
> I thought we had a long discussion about this topic a while ago and came
> to this very conclusion. Or am I mistaken?
>
>
> We keep having the discussion over and over again. But, you are correct: the conclusion was that this all needs to live in userspace.
In the case of 3G modem x USB storage only, it is possible to handle it on userspace.
However, when there are more functions added, an they're not (completely) mutually exclusive,
then I don't see an easy way (if is there a way) for doing it at userspace.
Several devices offer more than one function at the same time, but some
resources are mutually exclusive. A TV stick with just one tuner, and
both analog and digital demods offer both analog and digital TV at the
same time. So, both analog and digital parts of the driver will offer
the device to userspace. However, unpredictable results will happen if
userspace tries to use both at the same time.
The Digital camera devices that offer PTP transfers and V4L support also
fall at the same type of trouble. Some of those devices just delete
all pictures from the memory, if streaming is started. So, receiving
an automatic Skype video call may delete all pictures you took.
Worse than that, currently, the PTP protocol is handled via libusb, while
streaming is done via V4L2 API.
The best technical approach, IMO, is to implement the PTP protocol in
kernelspace, and do some sort of inter-subsystem locking to prevent such
troubles.
Regards,
Mauro
next prev parent reply other threads:[~2011-08-05 0:34 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-10 0:21 USB mini-summit at LinuxCon Vancouver Sarah Sharp
2011-06-10 3:18 ` Greg KH
2011-06-10 6:59 ` Gerd Hoffmann
2011-06-10 19:48 ` Sarah Sharp
2011-06-10 20:50 ` Greg KH
2011-06-13 10:44 ` Alexander Graf
2011-06-13 16:29 ` Greg KH
2011-06-13 17:11 ` Alexander Graf
2011-06-10 7:19 ` Hans de Goede
2011-06-10 7:55 ` Improving kernel -> userspace (usbfs) usb device hand off Hans de Goede
2011-06-10 8:22 ` Felipe Balbi
2011-06-10 8:36 ` Hans de Goede
2011-06-10 8:42 ` Felipe Balbi
2011-06-10 12:19 ` Hans de Goede
2011-06-10 12:28 ` Felipe Balbi
2011-06-10 14:48 ` Alan Stern
2011-06-10 15:07 ` Mauro Carvalho Chehab
2011-06-10 15:21 ` Alan Stern
2011-06-11 9:15 ` Hans de Goede
2011-06-11 16:19 ` Theodore Kilgore
2011-06-12 11:43 ` Hans de Goede
2011-06-12 21:20 ` Theodore Kilgore
2011-06-13 2:03 ` Xiaofan Chen
2011-06-13 2:27 ` [Libusb-devel] " Michael Bender
2011-06-11 16:57 ` Alan Stern
2011-06-10 18:16 ` Theodore Kilgore
2011-06-10 18:34 ` Felipe Balbi
2011-06-10 21:18 ` Alan Stern
2011-06-10 21:46 ` Felipe Balbi
2011-06-10 22:46 ` Theodore Kilgore
2011-06-10 22:43 ` Theodore Kilgore
2011-06-11 1:30 ` Xiaofan Chen
2011-06-11 4:17 ` Theodore Kilgore
2011-06-13 9:05 ` Felipe Balbi
2011-06-13 13:06 ` Mauro Carvalho Chehab
2011-06-13 13:12 ` Felipe Balbi
2011-08-04 22:21 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-04 22:56 ` Greg KH
[not found] ` <CAA6KcBBZv7bvVxvEWOYL83igpNZHyzh=bcGxh6Dr5aKsvJK5Cg@mail.gmail.com>
2011-08-05 0:33 ` Mauro Carvalho Chehab [this message]
2011-08-05 2:56 ` Theodore Kilgore
2011-08-05 6:57 ` Oliver Neukum
2011-08-05 17:38 ` Theodore Kilgore
2011-08-05 7:45 ` Hans de Goede
2011-08-05 7:59 ` USB mini-summit at LinuxCon Vancouveroliver Oliver Neukum
2011-08-05 8:18 ` Hans de Goede
2011-08-05 13:07 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-08 17:58 ` Sarah Sharp
2011-08-08 18:23 ` Theodore Kilgore
2011-08-08 18:32 ` Sarah Sharp
2011-08-08 19:37 ` Mauro Carvalho Chehab
2011-08-09 7:52 ` Hans de Goede
2011-08-09 14:19 ` Alan Stern
2011-08-09 15:03 ` Marko Ristola
2011-08-09 19:57 ` Hans de Goede
2011-08-09 20:31 ` Adam Baker
2011-08-09 20:57 ` Hans de Goede
2011-08-10 2:05 ` Xiaofan Chen
2011-08-10 23:04 ` Adam Baker
2011-08-11 8:14 ` Hans de Goede
2011-08-09 23:05 ` Theodore Kilgore
2011-08-10 14:19 ` Alan Stern
2011-08-10 15:03 ` Theodore Kilgore
2011-08-10 16:09 ` Alan Stern
2011-08-10 18:33 ` Theodore Kilgore
2011-08-10 19:39 ` Hans Verkuil
2011-08-10 19:43 ` Greg KH
2011-08-10 20:34 ` Theodore Kilgore
2011-08-10 20:14 ` Mauro Carvalho Chehab
2011-08-10 20:39 ` Theodore Kilgore
2011-08-11 8:14 ` Hans de Goede
2011-08-11 14:56 ` Alan Stern
2011-08-11 15:13 ` Mauro Carvalho Chehab
2011-08-11 15:25 ` Alan Cox
2011-08-11 15:49 ` Alan Stern
2011-08-11 20:01 ` Theodore Kilgore
2011-08-11 20:32 ` Mauro Carvalho Chehab
2011-08-11 23:13 ` Theodore Kilgore
2011-08-12 7:16 ` Hans de Goede
2011-08-12 10:11 ` Alan Cox
2011-08-12 1:07 ` Alan Stern
2011-08-12 2:38 ` Theodore Kilgore
2011-08-11 15:44 ` Alan Stern
2011-08-12 7:26 ` Hans de Goede
2011-08-12 15:36 ` Alan Stern
2011-08-09 17:10 ` Sarah Sharp
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=4E3B3A4C.9010700@infradead.org \
--to=mchehab@infradead.org \
--cc=Jes.Sorensen@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@us.ibm.com \
--cc=balbi@ti.com \
--cc=clemens@ladisch.de \
--cc=greg@kroah.com \
--cc=hdegoede@redhat.com \
--cc=hector@marcansoft.com \
--cc=jan.kiszka@siemens.com \
--cc=kilgota@banach.math.auburn.edu \
--cc=kraxel@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=libusb-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@baker-net.org.uk \
--cc=mdharm-usb@one-eyed-alien.net \
--cc=oliver@neukum.org \
--cc=pbonzini@redhat.com \
--cc=perex@perex.cz \
--cc=sarah.a.sharp@linux.intel.com \
--cc=stefanha@linux.vnet.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=tiwai@suse.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