[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