Date: Tue, 30 Oct 2012 00:06:48 +0900 (JST) From: SAITOU Toshihide <toshi@ruby.ocn.ne.jp> To: freebsd-usb@freebsd.org Subject: Re: isochronous transfer for UVC camera Message-ID: <20121030.000648.193690728.toshi@ruby.ocn.ne.jp> In-Reply-To: <201210291436.08940.hselasky@c2i.net> References: <20121029.215434.122618874.toshi@ruby.ocn.ne.jp> <201210291436.08940.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <201210291436.08940.hselasky@c2i.net> Hans Petter Selasky <hselasky@c2i.net> writes: > On Monday 29 October 2012 13:54:34 SAITOU Toshihide wrote: >> #define PKT_LEN 0x1400 > > The packet length is not this value I think. > > The 0x1000 is part of the packet multiplier for High-Speed USB's > wMaxPacketSize. > > It is (1+2) * 0x400. Try that and see what happens. Thank you for your quick response. I can't use the FreeBSD now so I will try this tomorrow. But Mac OS X 10.6.8 with libus 1.0.9, callback is not invoked too with some combination of the value below: #define PKT_LEN 0x400 #define PKTS_PER_XFER 8 $ ./ex10 libusb: 0.000000 info [darwin_open] device open for access libusb: 0.285678 info [darwin_async_io_callback] an async io operation has completed libusb: 0.286030 info [op_handle_events] checking fd 4 with revents = 0 libusb: 0.286187 info [op_handle_events] checking fd 6 with revents = 1 libusb: 0.286343 info [darwin_handle_callback] handling control completion with kernel status 0 1 0 1 1 40 4b 4c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 libusb: 0.287708 info [darwin_async_io_callback] an async io operation has completed libusb: 0.287751 info [op_handle_events] checking fd 4 with revents = 0 libusb: 0.287761 info [op_handle_events] checking fd 6 with revents = 1 libusb: 0.287775 info [darwin_handle_callback] handling control completion with kernel status 0 1 0 1 1 d0 12 13 0 0 0 0 0 0 0 0 0 0 0 0 60 9 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 libusb: 0.288714 info [darwin_async_io_callback] an async io operation has completed libusb: 0.288770 info [op_handle_events] checking fd 4 with revents = 0 libusb: 0.288781 info [op_handle_events] checking fd 6 with revents = 1 libusb: 0.288799 info [darwin_handle_callback] handling control completion with kernel status 0 1 0 1 1 d0 12 13 0 0 0 0 0 0 0 0 0 0 0 0 60 9 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 libusb: 0.289960 info [get_endpoints] building table of endpoints. libusb: 0.290151 info [darwin_claim_interface] interface opened libusb: 0.292436 info [get_endpoints] building table of endpoints. libusb: 0.292459 info [get_endpoints] interface: 1 pipe 1: dir: 1 number: 2 libusb: 0.292478 info [ep_to_pipeRef] converting ep address 0x82 to pipeRef and interface libusb: 0.292484 info [ep_to_pipeRef] pipe 1 on interface 1 matches libusb: 0.297929 info [darwin_async_io_callback] an async io operation has completed libusb: 30.289159 error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know libusb: 30.289196 error [do_close] A cancellation hasn't even been scheduled on the transfer for which the device is closing libusb: 30.290970 info [event_thread_main] thread exiting --- SAITOU Toshihide
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121030.000648.193690728.toshi>