Hi Felix, On Sunday 07 October 2007, Felix Möller wrote: > Hi, > > > On Thursday 04 October 2007 16:33, Stefan Schweizer wrote: [snip] > > I can't apply the patch as-is. It must be ported to the SVN head first, > > and some hardcoded assumptions must be removed. If someone wants to do > > the job, and if we can find a way to integrate the patch without > > disturbing too much the driver (other UVC devices must still work :-) ), > > I could apply it. > > Laruent: That sounds good but unfortunately I am not a C programmer. The > attached patch certainly is nothing to apply as is. > > Could you please comment on this oops. Is it a bug in the patch or in > the uvcvideo svn as "if (intf->cur_altsetting->desc.bInterfaceSubClass > != SC_VIDEOSTREAMING)" is never hit? To fix it I commented out > "continue" around line 854.
It's definitely a bug in the patch. You can't comment lines at random and expect everything to work :-) [snip] > How should the occurrences of "if > (intf->cur_altsetting->desc.bInterfaceSubClass == SC_VIDEOSTREAMING)" be > modified? For a UVC device bInterfaceSubclass should be either SC_VIDEOCONTROL or SC_VIDEOSTREAMING. The driver uses that field to differentiate between the control interface and the streaming interface(s). If I remember well, the iSight sets bInterfaceSubclass to 0xff for all interfaces. This makes the Linux UVC probe fail. You commented the related tests to stop the probe from failing, but that confuses the driver. A proper fix would be to change the iSight descriptors :-) This could actually be done by locating the descriptors in the firmware and patching them. Not sure if that's a viable long-term solution though, as next firmware versions won't work out of the box. On the other hand, newer firmwares might be even less UVC compatible... Best regards, Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
