Hi,

Bugs section of ugen(4) up to date? or does devel/libusb1
support reads from isochronous endpoints by mistake?
In my tests with cheap chinese video capture usb-stick,
for which the userland code
using libusb supposedly works on other platforms, it never
seems to return from read() in _sync_gen_transfer() within
openbsd backend of libusb.

I added more debug messages into ugen.c, while trying to find out
where it fails, only to find out that the code _seems_ to work as
supposed (with minimal knowledge about everything related),
just that usbd_get_xfer_status does always return 0 count.
I see that the bugs section hasn't been touched since the initial
commit about 13years ago.

Comparing uvideo(4) code in relevant parts for isoc transfers
gave me no obvious clues as to what might still be wrong with ugen.c.
I think going deeper to find out more is too much for me, without
reading specs etc..



Totally off-topic:

Index: ehci.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/ehci.c,v
retrieving revision 1.125
diff -u -p -r1.125 ehci.c
--- ehci.c      7 Aug 2012 23:51:36 -0000       1.125
+++ ehci.c      15 Aug 2012 17:36:17 -0000
@@ -3884,7 +3884,7 @@ ehci_device_isoc_start(usbd_xfer_handle
        splx(s);

        if (sc->sc_bus.use_polling) {
-               DPRINTF(("Starting ohci isoc xfer with polling. Bad idea?\n"));
+               DPRINTF(("Starting ehci isoc xfer with polling. Bad idea?\n"));
                ehci_waitintr(sc, xfer);
        }

Reply via email to