Web lists-archives.com

[Spca50x-devs] Questions about implementing PAC7311 driver

I've been working on implementing support for the PAC7311 with
significant help from Joerg Schummer's "Webcam Development Kit" on
Thomas Kaiser's page
(http://www.kaiser-linux.li/index.php?title=PAC7311).  It seems to be
working to some extent (it recognizes the camera and sets the initial
register values without
crashing), but the URBs it's sending back are all empty
(urb->iso_frame_desc[i].actual_length and urb->actual_length are
always 0).

I compared the URBs received by the GSPCA driver and those received by
Joerg's development kit and here's what I've found (excuse the horrible

                                    GSPCA     dev kit
transfer_flags                6             2
transfer_buffer_length   16368     65472
actual_length                 0             <variable>
status                            0             0
interval                          1             1
number_of_packets       16           32
error_count                    0             0

The transfer_flags are URB_ISO_ASAP | URB_NO_TRANSFER_DMA_MAP (for
GSPCA) and URB_ISO_ASAP (for the dev kit).

It doesn't seem like any of the above differences should have an
effect on whether the webcam sends packets properly (all the other
GSPCA cameras work fine with those settings), but perhaps I'm missing
something.  I've double-checked the initialization work I've done to
setup the correct register values and that seems to be fine (assuming
that the control messages aren't ordered in reverse or something
strange like that).

You can check out the work I've done so far on the PAC7311 for the
GPSCA driver at http://ossguy.com/linux/webcam/pac7311/pac7311_v1.patch.  It
should apply cleanly to the 20070110 version of GSPCA.

Any help would be appreciated.  Thanks.


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
Spca50x-devs mailing list