Hi Laurent, I had sent you the patch which I modified in the host uvc_driver code? Can you look at and let me know how to fix that problem? After that patch, I started getting some packets from the device.
Thanks, Ramesh. On Tue, Dec 1, 2009 at 6:09 PM, Laurent Pinchart < laurent.pinch...@ideasonboard.com> wrote: > On Wednesday 25 November 2009 05:43:37 Ramesh Rajagopal wrote: > > > On Wednesday 11 November 2009 12:43:38 Ramesh Rajagopal wrote: > > > > > > > > Thank you for the reply. The webcam is linux based and I am using > the > > > > UVC gadget driver of linux kernel 2.6.10. > > > > In this kernel I don't see any example doing UVC bulk transfer. It is > > > > working perfectly with ISOC. > > > > Can you please let me know, if there is any example code that does > UVC > > > > bulk transfer ? I couldn't find it any. > > > > > > The UVC gadget driver I wrote uses isochronous transfers. It should be > > > possible to use bulk transfers by modifying the driver, but there's no > > > code sample that I'm aware of. > > > > Does this mean, I have to change the musb gadget driver code? I changed > my > > driver which registers with musb. I didn't chane anything on the musb > gadget > > driver. > > You shouldn't need to change the musb gadget driver code (unless there's a > bulk-specific bug in the musb gadget driver of course). You will need to > change the UVC gadget driver code though. > > > > > The uvc specification is not clear enough to distinguish ISOC and > BULK > > > > transfer atleast from my understanding. > > > > > > > > While doing ISOC transfer, we have an alternate Interface Setting, > when > > > > we get a SET_INTERFACE we start transferring the UVC header first > alone > > > > to start the transfer. There after each IN token from host will carry > > > > the frames if any, otherwise header alone goes. > > > > > > > > In case of BULK, with alternate settings, the host machine hangs. > > > > SET_INTERFACE (alternateSetting set 1), Why is it like that? > > > > > > According to the UVC specification, streaming interfaces with bulk > > > endpoints don't use alternate settings. > > > > > > This is actually a problem, as the UVC specification doesn't provide > any > > > way for bulk devices to detect when the host starts and stops > streaming. > > > > Do you aware when do I start sending packets to the host? In case of > ISOC, > > we start sending packets when get SET_INTERFACE (enabling the alternate > > setting) request. Please let me know. > > I don't know, and that's the real problem. I think you should start sending > data when you receive the first bulk packet. I'm not sure if there's a way > to > be notified of that though. You could then stop the stream when no bulk > packet > is received for some time. > > > > > So I removed alternate settings and till enumeration it is proper. > Then > > > > After I get VS_PROBE_COMMIT from the host, I start transferring > exactly > > > > same like ISOC, but I don't see any video on the host and no more > > > > proceedings from here. The data is not going from the FIFO, hence I > am > > > > not getting any more TX interrupt from my device. > > > > > > > > I am attaching my devices descriptor as well as host side logs. > Please > > > > find the attachment. Please let me know, is there any link talk about > > > > BULK transfer or example. > > > > > > The descriptors look correct at first glance. The log shows that the > > > driver doesn't receive any bulk packet (assuming the trace parameter > has > > > been set to 255). This seems to indicate a low-level problem, probably > on > > > the device side. > > > My guess is that the device doesn't sent bulk packets. That would be > easy > > > to verify if you have access to a USB analyzer. If the assumption is > > > correct, the problem is on the device side. > > > > I see the packets are on the wire. USB Analyzer shows me the data and > even > > I verified the header data, it looks correct, Now I am not getting back > the > > ACK from the host. Thanks for your Reply. > > You're welcome. > > -- > Regards, > > Laurent Pinchart >
_______________________________________________ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel