Hi Laurent,
> sorry for the late reply. > Thats fine. > > On Wednesday 11 November 2009 12:43:38 Ramesh Rajagopal wrote: > > Hi Laurent, > > > > 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. > > > 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. > > > 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. > > -- > Regards, > > Laurent Pinchart > Regards, Ramesh.
_______________________________________________ Linux-uvc-devel mailing list Linux-uvc-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/linux-uvc-devel