[prev in list] [next in list] [prev in thread] [next in thread]
List: gphoto-devel
Subject: Re: [gphoto-devel] Mustek MDC800 port to Gpoto2 / USB interrupt endpoints
From: Marcus Meissner <Marcus.Meissner () caldera ! de>
Date: 2001-11-04 20:23:54
[Download RAW message or body]
On Sun, Nov 04, 2001 at 12:41:10PM -0500, Johannes Erdfelt wrote:
> On Sun, Nov 04, 2001, Marcus Meissner <Marcus.Meissner@caldera.de> wrote:
> > I have started doing a gphoto2 port of the Mustek MDC 800 driver.
> >
> > Everything looks good, except that the userspace USB stuff is acting
> > flaky when reading from the INTERRUPT Endpoint. While gets the 'camera busy'
> > and 'camera ready' packets just fine, and sometimes also the data packets,
> > it sometimes appears to skip datapackets coming from the Interrupt Endpoint.
> >
> > I had a deeper look at the whole thing and it appears that libusb 0.1.4
> > reads data always using the Bulk readmode. This works just fine, but
> > not in all cases.
> >
> > Also further investigations showed that the linux kernel currently does
> > not support reliable reading of Interrupt endpoint data at all, not even
> > by using URBs.
>
> Umm, I beg to differ. I'm using a USB keyboard and mouse right now which
> reliably uses Interrupt endpoints, using URB's (the HUD driver).
>
> That isn't to say you aren't having a problem, but you are definately
> overstating it.
Err. I think I did not correctly expressed my problem.
The in-kernel drivers work just fine.
However I want to use Interrupt Endpoints from USER space, without a
special kernel driver.
gphoto2 (or better, libusb) currently opens /proc/bus/pci/001/00x and
issues USBDEVFS_BULK ioctls to write/read from Bulk and Interrupt endpoints.
So I think what I am observing is that interrupt endpoint access from
userspace is not very reliable.
(I haven't yet booted 2.4.13-ac7 to test the single shot interrupt endpoint
URB reader.)
Ciao, Marcus
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic