On Tue, 28 Nov 2006, xiaoxin liu wrote: > Hi, Currently I got a philips webcam (type 740), which can be driven by > pwc in Linux. > > Now I want to write my own program to test the isochronus transfer > function of the device, not using the pwc driver. > > So I found out the device node in /proc/bus/usb/* and open it, then use > such an ioctl(fd, USBDEVFS_SUBMITURB, struct userspace_urb...) call to > send a isoc urb to the device. > > My urb includes fields like below: > > type = 0 (ISOC transfer) > endpoint = 0x85 (ISOC IN endpoint) > status = 0; > flags = 2 (USBDEVFS_URB_ISO_ASAP) > buffer = isoc_buf (isoc_buf was defined as char isoc_buf[9600]) > buffer_length = sizeof (isoc_buf) > actual_length = 0; > start_frame = 0; > number_of_packets = 10 > error_count = 0; > signr = 0 > usercontext = the address of urb structure > > The wMaxPacketSize of the isoc endpoint is 960. > > while I send out this urb, I hope to receive some data from the webcam > device. but I receive nothing, the actual_length = 0. > > Could anybody tell me why?
Did you fill in the contents of urb->iso_frame_desc[]? What was the return code from the USBDEVFS_SUBMITURB ioctl call? Did you remember to make a USBDEVFS_REAPURB ioctl call? Are you certain the camera was trying to send ISO data? Alan Stern ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
