Bug 11741 - Webcam: Logitech QuickCam Communicate won't work with 2.6.27
Summary: Webcam: Logitech QuickCam Communicate won't work with 2.6.27
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 high
Assignee: Hans de Goede
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-11 10:13 UTC by Michael Letzgus
Modified: 2008-10-11 13:13 UTC (History)
0 users

See Also:
Kernel Version: 2.6.27
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Michael Letzgus 2008-10-11 10:13:34 UTC
Latest working kernel version: 2.6.26.2 + additional GSPCA
Earliest failing kernel version: 2.6.27 (with internal GSPCA)
Distribution: Debian lenny
Hardware Environment: AMD64, Core2Duo

Problem Description:

Camera does not work!
Trying "camstream":
 VDLinux::run() VIDIOCMCAPTURE failed (Invalid argument)
 run(): VIDIOCSYNC(1) failed (Invalid argument)

Skype:
 No error message but colorful noise instead of input signal

Steps to reproduce:
 Get a "Logitech QuickCam Communicate" an plug it into a 2.6.27 Kernel.


Log from a working 2.6.26.2:

Oct 11 16:16:57 heros kernel: usb 2-2: new full speed USB device using uhci_hcd and address 2
Oct 11 16:16:57 heros kernel: usb 2-2: configuration #1 chosen from 1 choice
Oct 11 16:16:57 heros kernel: Linux video capture interface: v2.00
Oct 11 16:16:58 heros kernel: gspca: USB GSPCA camera found.(ZC3XX)
Oct 11 16:16:58 heros kernel: gspca: [spca5xx_probe:4275] Camera type JPEG
Oct 11 16:16:58 heros kernel: gspca: [zc3xx_config:669] Find Sensor HV7131R(c)
Oct 11 16:16:58 heros kernel: gspca: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
Oct 11 16:16:58 heros kernel: usbcore: registered new interface driver gspca
Oct 11 16:16:58 heros kernel: gspca: gspca driver 01.00.20 registered
Oct 11 16:16:58 heros kernel: usbcore: registered new interface driver snd-usb-audio
Oct 11 16:16:58 heros kernel: gspca: [spca5xx_set_light_freq:1932] Sensor currently not support light frequency banding filters.
Oct 11 16:16:58 heros kernel: gspca: [gspca_set_isoc_ep:945] ISO EndPoint found 0x81 AlternateSet 7
Oct 11 16:20:00 heros kernel: usb 2-2: USB disconnect, address 2

Log from a nonworking 2.6.27:
Oct 11 16:26:15 heros kernel: usb 7-1: new full speed USB device using uhci_hcd and address 2
Oct 11 16:26:15 heros kernel: usb 7-1: configuration #1 chosen from 1 choice
Oct 11 16:26:15 heros kernel: Linux video capture interface: v2.00
Oct 11 16:26:15 heros kernel: gspca: main v2.2.0 registered
Oct 11 16:26:15 heros kernel: gspca: probing 0ac8:0302
Oct 11 16:26:17 heros kernel: zc3xx: probe 2wr ov vga 0x0000
Oct 11 16:26:17 heros kernel: zc3xx: probe sensor -> 11
Oct 11 16:26:17 heros kernel: zc3xx: Find Sensor HV7131R(c)
Oct 11 16:26:17 heros kernel: gspca: probe ok
Oct 11 16:26:17 heros kernel: gspca: probing 0ac8:0302
Oct 11 16:26:17 heros kernel: gspca: probing 0ac8:0302
Oct 11 16:26:17 heros kernel: usbcore: registered new interface driver zc3xx
Oct 11 16:26:17 heros kernel: zc3xx: registered
Oct 11 16:26:17 heros kernel: usbcore: registered new interface driver snd-usb-audio
Oct 11 16:27:58 heros kernel: zc3xx: probe 2wr ov vga 0x0000
Oct 11 16:28:03 heros kernel: zc3xx: probe 2wr ov vga 0x0000
Oct 11 16:28:19 heros kernel: usb 7-1: USB disconnect, address 2
Oct 11 16:28:19 heros kernel: gspca: disconnect complete
Comment 1 Anonymous Emailer 2008-10-11 10:36:14 UTC
Reply-To: akpm@linux-foundation.org


(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Sat, 11 Oct 2008 10:13:36 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=11741
> 
>            Summary: Webcam: Logitech QuickCam Communicate won't work with
>                     2.6.27
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.27
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: high
>           Priority: P1
>          Component: Other
>         AssignedTo: drivers_other@kernel-bugs.osdl.org
>         ReportedBy: michael.letzgus@uni-bielefeld.de
> 
> 
> Latest working kernel version: 2.6.26.2 + additional GSPCA
> Earliest failing kernel version: 2.6.27 (with internal GSPCA)

It's a regression.

> Distribution: Debian lenny
> Hardware Environment: AMD64, Core2Duo
> 
> Problem Description:
> 
> Camera does not work!

Is it due to DVB or to USB?

> Trying "camstream":
>  VDLinux::run() VIDIOCMCAPTURE failed (Invalid argument)
>  run(): VIDIOCSYNC(1) failed (Invalid argument)
> 
> Skype:
>  No error message but colorful noise instead of input signal
> 
> Steps to reproduce:
>  Get a "Logitech QuickCam Communicate" an plug it into a 2.6.27 Kernel.
> 
> 
> Log from a working 2.6.26.2:
> 
> Oct 11 16:16:57 heros kernel: usb 2-2: new full speed USB device using
> uhci_hcd
> and address 2
> Oct 11 16:16:57 heros kernel: usb 2-2: configuration #1 chosen from 1 choice
> Oct 11 16:16:57 heros kernel: Linux video capture interface: v2.00
> Oct 11 16:16:58 heros kernel: gspca: USB GSPCA camera found.(ZC3XX)
> Oct 11 16:16:58 heros kernel: gspca: [spca5xx_probe:4275] Camera type JPEG
> Oct 11 16:16:58 heros kernel: gspca: [zc3xx_config:669] Find Sensor
> HV7131R(c)
> Oct 11 16:16:58 heros kernel: gspca: [spca5xx_getcapability:1249] maxw 640
> maxh
> 480 minw 160 minh 120
> Oct 11 16:16:58 heros kernel: usbcore: registered new interface driver gspca
> Oct 11 16:16:58 heros kernel: gspca: gspca driver 01.00.20 registered
> Oct 11 16:16:58 heros kernel: usbcore: registered new interface driver
> snd-usb-audio
> Oct 11 16:16:58 heros kernel: gspca: [spca5xx_set_light_freq:1932] Sensor
> currently not support light frequency banding filters.
> Oct 11 16:16:58 heros kernel: gspca: [gspca_set_isoc_ep:945] ISO EndPoint
> found
> 0x81 AlternateSet 7
> Oct 11 16:20:00 heros kernel: usb 2-2: USB disconnect, address 2
> 
> Log from a nonworking 2.6.27:
> Oct 11 16:26:15 heros kernel: usb 7-1: new full speed USB device using
> uhci_hcd
> and address 2
> Oct 11 16:26:15 heros kernel: usb 7-1: configuration #1 chosen from 1 choice
> Oct 11 16:26:15 heros kernel: Linux video capture interface: v2.00
> Oct 11 16:26:15 heros kernel: gspca: main v2.2.0 registered
> Oct 11 16:26:15 heros kernel: gspca: probing 0ac8:0302
> Oct 11 16:26:17 heros kernel: zc3xx: probe 2wr ov vga 0x0000
> Oct 11 16:26:17 heros kernel: zc3xx: probe sensor -> 11
> Oct 11 16:26:17 heros kernel: zc3xx: Find Sensor HV7131R(c)
> Oct 11 16:26:17 heros kernel: gspca: probe ok
> Oct 11 16:26:17 heros kernel: gspca: probing 0ac8:0302
> Oct 11 16:26:17 heros kernel: gspca: probing 0ac8:0302
> Oct 11 16:26:17 heros kernel: usbcore: registered new interface driver zc3xx
> Oct 11 16:26:17 heros kernel: zc3xx: registered
> Oct 11 16:26:17 heros kernel: usbcore: registered new interface driver
> snd-usb-audio
> Oct 11 16:27:58 heros kernel: zc3xx: probe 2wr ov vga 0x0000
> Oct 11 16:28:03 heros kernel: zc3xx: probe 2wr ov vga 0x0000
> Oct 11 16:28:19 heros kernel: usb 7-1: USB disconnect, address 2
> Oct 11 16:28:19 heros kernel: gspca: disconnect complete
> 
> 
Comment 2 Anonymous Emailer 2008-10-11 11:12:50 UTC
Reply-To: j.w.r.degoede@hhs.nl

Andrew Morton wrote:
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 
> On Sat, 11 Oct 2008 10:13:36 -0700 (PDT) bugme-daemon@bugzilla.kernel.org
> wrote:
> 
>> http://bugzilla.kernel.org/show_bug.cgi?id=11741
>>
>>            Summary: Webcam: Logitech QuickCam Communicate won't work with
>>                     2.6.27
>>            Product: Drivers
>>            Version: 2.5
>>      KernelVersion: 2.6.27
>>           Platform: All
>>         OS/Version: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: high
>>           Priority: P1
>>          Component: Other
>>         AssignedTo: drivers_other@kernel-bugs.osdl.org
>>         ReportedBy: michael.letzgus@uni-bielefeld.de
>>
>>
>> Latest working kernel version: 2.6.26.2 + additional GSPCA
>> Earliest failing kernel version: 2.6.27 (with internal GSPCA)
> 
> It's a regression.
> 

Nack, GSPCAv1 was never part of the official kernel, so the cam did not work 
*at all* with the previous official kernel, this is not a regression. Also see 
below about features which gscpa as in kernel misses compared to the old one, 
where the missing of this features actually is a feature.

>> Distribution: Debian lenny
>> Hardware Environment: AMD64, Core2Duo
>>
>> Problem Description:
>>
>> Camera does not work!
> 
> Is it due to DVB or to USB?
> 

??

Its a USB cam.

>> Trying "camstream":
>>  VDLinux::run() VIDIOCMCAPTURE failed (Invalid argument)
>>  run(): VIDIOCSYNC(1) failed (Invalid argument)
>>

That is because camstream is a v4l1 application and the new gspca is a v4l2 
driver. Besides that camstream does not support the JPEG image format produced 
by zc3xxx cam's such as yours. gspcav1 (the out of tree version) used to do 
JPEG decompression in kernelspace and happily offer RGB format data to 
applications, even though the cam does not, doing in kernel format conversion 
and esp. decompression is completely unacceptable, this clearly belongs in 
userspace.

I've written a userspace library which handles the format conversion in 
userspace, and which can be used as a libc library wrapper to transparently do 
format conversion for apps which need this. As an added bonus it can also 
emulate the v4l1 API on top of v4l2 devices, see:
http://hansdegoede.livejournal.com/3636.html
Download the latest version here:
http://people.atrpms.net/~hdegoede/libv4l-0.5.0.tar.gz
And see the README for installation instructions, then LD_PRELOAD v4l1compat.so 
and camstream should work fine. Note that work is underway to write patches for 
all FOSS v4l using apps to use libv4l directly so that LD_PRELOAD wont be 
necessary, see:
http://linuxtv.org/v4lwiki/index.php/Libv4l_Progress

Also note that the Ubuntu devs are aware they need to patch all their apps to 
use libv4l to work seamlessly with cams supported by the new gspca when moving 
to 2.6.27. I'm very certain they know this as I personally told their 
kerneldevs this at the Plumbers conference.

>> Skype:
>>  No error message but colorful noise instead of input signal
>>

I don't know what skype does at it is closed source, I do know many people have 
successfully used it with the new gspca in combination with LD_PRELOAD 
v4l1compat.so

Regards,

Hans
Comment 3 Michael Letzgus 2008-10-11 11:31:02 UTC
Hans de Goede schrieb:


> That is because camstream is a v4l1 application and the new gspca is a
> v4l2 driver. Besides that camstream does not support the JPEG image

Ok, I totally missed the v4l/v4l2-problem. Of course the cam works with
a simple
mplayer tv:// -tv  driver=v4l2:device=/dev/v4l/video0


> format produced by zc3xxx cam's such as yours. gspcav1 (the out of tree
> version) used to do JPEG decompression in kernelspace and happily offer
> RGB format data to applications, even though the cam does not, doing in
> kernel format conversion and esp. decompression is completely
> unacceptable, this clearly belongs in userspace.

Full ACK!


> I don't know what skype does at it is closed source, I do know many
> people have successfully used it with the new gspca in combination with
> LD_PRELOAD v4l1compat.so

Good point, I'll try that.



Best regards,
 Michael



-- 

Dr. Michael Letzgus

Physikalische Chemie I
Universit
Comment 4 Anonymous Emailer 2008-10-11 13:12:53 UTC
Reply-To: hdegoede@redhat.com



Michael Letzgus wrote:
> Hans de Goede schrieb:
> 
> 
>> That is because camstream is a v4l1 application and the new gspca is a
>> v4l2 driver. Besides that camstream does not support the JPEG image
> 
> Ok, I totally missed the v4l/v4l2-problem. Of course the cam works with
> a simple
> mplayer tv:// -tv  driver=v4l2:device=/dev/v4l/video0
> 

Note to all: Closing the corresponding ticket as not a bug then.

Regards,

Hans

Note You need to log in before you can comment on or make changes to this bug.