linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: video: USB webcam fails since kernel 3.2
       [not found]     ` <20120616044137.GB4076@burratino>
@ 2012-06-17 11:23       ` Martin-Éric Racine
  2012-06-17 17:11         ` Jonathan Nieder
  2012-07-08 13:01         ` Martin-Éric Racine
  0 siblings, 2 replies; 9+ messages in thread
From: Martin-Éric Racine @ 2012-06-17 11:23 UTC (permalink / raw)
  To: Jean-François Moine; +Cc: 677533, linux-media, linux-kernel

pe, 2012-06-15 kello 23:41 -0500, Jonathan Nieder kirjoitti:
> Martin-Éric Racine wrote:
> > usb 1-7: new high-speed USB device number 3 using ehci_hcd
> [...]
> > usb 1-7: New USB device found, idVendor=0ac8, idProduct=0321
> > usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> > usb 1-7: Product: USB2.0 Web Camera
> > usb 1-7: Manufacturer: Vimicro Corp.
> [...]
> > Linux media interface: v0.10
> > Linux video capture interface: v2.00
> > gspca_main: v2.14.0 registered
> > gspca_main: vc032x-2.14.0 probing 0ac8:0321
> > usbcore: registered new interface driver vc032x
> 
> The device of interest is discovered.
> 
> > gspca_main: ISOC data error: [36] len=0, status=-71
> > gspca_main: ISOC data error: [65] len=0, status=-71
> [...]
> > gspca_main: ISOC data error: [48] len=0, status=-71
> > video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14 in cheese[8048000+21000]
> > gspca_main: ISOC data error: [17] len=0, status=-71
> 
> (The above data error spew starts around t=121 seconds and continues
> at a rate of about 15 messages per second.  The segfault is around
> t=154.)
 
> The vc032x code hasn't changed since 3.4.1, so please report your
> symptoms to Jean-François Moine <moinejf@free.fr>, cc-ing
> linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, and either
> me or this bug log so we can track it.  Be sure to mention:
> 
>  - steps to reproduce, expected result, actual result, and how the
>    difference indicates a bug (should be simple enough in this case)

1. Ensure that user 'myself' is a member of the 'video' group.
2. Launch the webcam application Cheese from the GNOME desktop.

Expected result: Cheese displays whatever this laptop's camera sees.

Actual result: Cheese crashes while attempting to access the camera.

>  - how reproducible the bug is (100%?)

100%

>  - which kernel versions you have tested and result with each (what is
>    the newest kernel version that worked?)

It probably was 3.1.0 or some earlier 3.2 release (the upcoming Debian
will release with 3.2.x; 3.4 was only used here for testing purposes),
but I wouldn't know for sure since I don't use my webcam too often.

>  - a log from booting and reproducing the bug, or a link to one

See http://bugs.debian.org/677533 

>  - any other weird symptoms or observations

When testing the camera using the closed-source Skype 4.x compiled for
Debian, the video preferences dialog shows that a USB 2.0 camera is
found at /dev/video0. However, no image is shown. This would confirm the
assumption that the issue lies with the kernel video driver, rather than
with the Gstreamer framework that Cheese uses to access the camera.

> Hopefully someone upstream will have ideas for commands to run or
> patches to apply to further track down the cause.

Let's indeed hope so. Thanks for providing these instructions!

Regards,
Martin-Éric


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-06-17 11:23       ` video: USB webcam fails since kernel 3.2 Martin-Éric Racine
@ 2012-06-17 17:11         ` Jonathan Nieder
  2012-06-17 17:12           ` Jonathan Nieder
  2012-07-08 13:01         ` Martin-Éric Racine
  1 sibling, 1 reply; 9+ messages in thread
From: Jonathan Nieder @ 2012-06-17 17:11 UTC (permalink / raw)
  To: Martin-Éric Racine
  Cc: Jean-François Moine, linux-media, linux-kernel

(cc-ing Hans de Goede, the new gspca maintainer.  Sorry I missed that before.)

>> Martin-Éric Racine wrote:
>>> usb 1-7: new high-speed USB device number 3 using ehci_hcd
[...]
>>> usb 1-7: Product: USB2.0 Web Camera
>>> usb 1-7: Manufacturer: Vimicro Corp.
[...]
>>> gspca_main: v2.14.0 registered
>>> gspca_main: vc032x-2.14.0 probing 0ac8:0321
[...]
>>> gspca_main: ISOC data error: [36] len=0, status=-71
>>> gspca_main: ISOC data error: [65] len=0, status=-71
[...]
>>> gspca_main: ISOC data error: [48] len=0, status=-71
>>> video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14 in cheese[8048000+21000]
>>> gspca_main: ISOC data error: [17] len=0, status=-71

Thanks again.

If you get a chance to test Hans's media-for_v3.5 branch, that would
be interesting.  It works like so:

 0. prerequisites:

	apt-get install git build-essential

 1. get the kernel history, if you don't already have it:

	git clone \
	  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

 2. fetch gspca updates:

	cd linux
	git remote add gspca \
	  git://linuxtv.org/hgoede/gspca.git
	git fetch gspca

 3. configure, build, test:

	git checkout gspca/media-for_v3.5
	cp /boot/config-$(uname -r) .config; # current configuration
	scripts/config --disable DEBUG_INFO
	make localmodconfig; # optional: minimize configuration
	make deb-pkg; # optionally with -j<num> for parallel build
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

I ask because there have been some gspca core fixes cooking that are
not part of the 3.4.y tree, though none of them looks especially
relevant.

Hope that helps,
Jonathan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-06-17 17:11         ` Jonathan Nieder
@ 2012-06-17 17:12           ` Jonathan Nieder
  0 siblings, 0 replies; 9+ messages in thread
From: Jonathan Nieder @ 2012-06-17 17:12 UTC (permalink / raw)
  To: Martin-Éric Racine
  Cc: Jean-François Moine, linux-media, linux-kernel, Hans de Goede

Jonathan Nieder wrote:

> (cc-ing Hans de Goede, the new gspca maintainer.  Sorry I missed
> that before.)

Actually cc-ing this time.  Sorry for the noise.

>> Martin-Éric Racine wrote:
>>> usb 1-7: new high-speed USB device number 3 using ehci_hcd
[...]
>>> usb 1-7: Product: USB2.0 Web Camera
>>> usb 1-7: Manufacturer: Vimicro Corp.
[...]
>>> gspca_main: v2.14.0 registered
>>> gspca_main: vc032x-2.14.0 probing 0ac8:0321
[...]
>>> gspca_main: ISOC data error: [36] len=0, status=-71
>>> gspca_main: ISOC data error: [65] len=0, status=-71
[...]
>>> gspca_main: ISOC data error: [48] len=0, status=-71
>>> video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14 in cheese[8048000+21000]
>>> gspca_main: ISOC data error: [17] len=0, status=-71

Thanks again.

If you get a chance to test Hans's media-for_v3.5 branch, that would
be interesting.  It works like so:

 0. prerequisites:

	apt-get install git build-essential

 1. get the kernel history, if you don't already have it:

	git clone \
	  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

 2. fetch gspca updates:

	cd linux
	git remote add gspca \
	  git://linuxtv.org/hgoede/gspca.git
	git fetch gspca

 3. configure, build, test:

	git checkout gspca/media-for_v3.5
	cp /boot/config-$(uname -r) .config; # current configuration
	scripts/config --disable DEBUG_INFO
	make localmodconfig; # optional: minimize configuration
	make deb-pkg; # optionally with -j<num> for parallel build
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

I ask because there have been some gspca core fixes cooking that are
not part of the 3.4.y tree, though none of them looks especially
relevant.

Hope that helps,
Jonathan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-06-17 11:23       ` video: USB webcam fails since kernel 3.2 Martin-Éric Racine
  2012-06-17 17:11         ` Jonathan Nieder
@ 2012-07-08 13:01         ` Martin-Éric Racine
  2012-07-08 17:58           ` Hans de Goede
  1 sibling, 1 reply; 9+ messages in thread
From: Martin-Éric Racine @ 2012-07-08 13:01 UTC (permalink / raw)
  To: Jean-François Moine; +Cc: 677533, linux-media, linux-kernel

2012/6/17 Martin-Éric Racine <martin-eric.racine@iki.fi>:
> pe, 2012-06-15 kello 23:41 -0500, Jonathan Nieder kirjoitti:
>> Martin-Éric Racine wrote:
>> > usb 1-7: new high-speed USB device number 3 using ehci_hcd
>> [...]
>> > usb 1-7: New USB device found, idVendor=0ac8, idProduct=0321
>> > usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
>> > usb 1-7: Product: USB2.0 Web Camera
>> > usb 1-7: Manufacturer: Vimicro Corp.
>> [...]
>> > Linux media interface: v0.10
>> > Linux video capture interface: v2.00
>> > gspca_main: v2.14.0 registered
>> > gspca_main: vc032x-2.14.0 probing 0ac8:0321
>> > usbcore: registered new interface driver vc032x
>>
>> The device of interest is discovered.
>>
>> > gspca_main: ISOC data error: [36] len=0, status=-71
>> > gspca_main: ISOC data error: [65] len=0, status=-71
>> [...]
>> > gspca_main: ISOC data error: [48] len=0, status=-71
>> > video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14 in cheese[8048000+21000]
>> > gspca_main: ISOC data error: [17] len=0, status=-71
>>
>> (The above data error spew starts around t=121 seconds and continues
>> at a rate of about 15 messages per second.  The segfault is around
>> t=154.)
>
>> The vc032x code hasn't changed since 3.4.1, so please report your
>> symptoms to Jean-François Moine <moinejf@free.fr>, cc-ing
>> linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, and either
>> me or this bug log so we can track it.  Be sure to mention:
>>
>>  - steps to reproduce, expected result, actual result, and how the
>>    difference indicates a bug (should be simple enough in this case)
>
> 1. Ensure that user 'myself' is a member of the 'video' group.
> 2. Launch the webcam application Cheese from the GNOME desktop.
>
> Expected result: Cheese displays whatever this laptop's camera sees.
>
> Actual result: Cheese crashes while attempting to access the camera.
>
>>  - how reproducible the bug is (100%?)
>
> 100%
>
>>  - which kernel versions you have tested and result with each (what is
>>    the newest kernel version that worked?)
>
> It probably was 3.1.0 or some earlier 3.2 release (the upcoming Debian
> will release with 3.2.x; 3.4 was only used here for testing purposes),
> but I wouldn't know for sure since I don't use my webcam too often.

I finally found time to perform further testing, using kernel packages
from snapshots.debian.org, and the last one that positively worked (at
least using GNOME's webcam application Cheese) was:

linux-image-3.1.0-1-686-pae          3.1.8-2
 Linux 3.1 for modern PCs

This loaded the following video modules:

gspca_vc032x
gspca_main
videodev
media

Tests using 3.2.1-1 or more recent crashed as described before. This
at least gives us a time frame for when the regression started.

Martin-Éric

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-07-08 13:01         ` Martin-Éric Racine
@ 2012-07-08 17:58           ` Hans de Goede
  2012-07-09 11:33             ` Martin-Éric Racine
  0 siblings, 1 reply; 9+ messages in thread
From: Hans de Goede @ 2012-07-08 17:58 UTC (permalink / raw)
  To: martin-eric.racine
  Cc: Jean-François Moine, 677533, linux-media, linux-kernel

Hi,

On 07/08/2012 03:01 PM, Martin-Éric Racine wrote:
> 2012/6/17 Martin-Éric Racine <martin-eric.racine@iki.fi>:
>> pe, 2012-06-15 kello 23:41 -0500, Jonathan Nieder kirjoitti:
>>> Martin-Éric Racine wrote:
>>>> usb 1-7: new high-speed USB device number 3 using ehci_hcd
>>> [...]
>>>> usb 1-7: New USB device found, idVendor=0ac8, idProduct=0321
>>>> usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
>>>> usb 1-7: Product: USB2.0 Web Camera
>>>> usb 1-7: Manufacturer: Vimicro Corp.
>>> [...]
>>>> Linux media interface: v0.10
>>>> Linux video capture interface: v2.00
>>>> gspca_main: v2.14.0 registered
>>>> gspca_main: vc032x-2.14.0 probing 0ac8:0321
>>>> usbcore: registered new interface driver vc032x
>>>
>>> The device of interest is discovered.
>>>
>>>> gspca_main: ISOC data error: [36] len=0, status=-71
>>>> gspca_main: ISOC data error: [65] len=0, status=-71
>>> [...]
>>>> gspca_main: ISOC data error: [48] len=0, status=-71
>>>> video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14 in cheese[8048000+21000]
>>>> gspca_main: ISOC data error: [17] len=0, status=-71
>>>
>>> (The above data error spew starts around t=121 seconds and continues
>>> at a rate of about 15 messages per second.  The segfault is around
>>> t=154.)
>>
>>> The vc032x code hasn't changed since 3.4.1, so please report your
>>> symptoms to Jean-François Moine <moinejf@free.fr>, cc-ing
>>> linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, and either
>>> me or this bug log so we can track it.  Be sure to mention:
>>>
>>>   - steps to reproduce, expected result, actual result, and how the
>>>     difference indicates a bug (should be simple enough in this case)
>>
>> 1. Ensure that user 'myself' is a member of the 'video' group.
>> 2. Launch the webcam application Cheese from the GNOME desktop.
>>
>> Expected result: Cheese displays whatever this laptop's camera sees.
>>
>> Actual result: Cheese crashes while attempting to access the camera.
>>
>>>   - how reproducible the bug is (100%?)
>>
>> 100%
>>
>>>   - which kernel versions you have tested and result with each (what is
>>>     the newest kernel version that worked?)
>>
>> It probably was 3.1.0 or some earlier 3.2 release (the upcoming Debian
>> will release with 3.2.x; 3.4 was only used here for testing purposes),
>> but I wouldn't know for sure since I don't use my webcam too often.
>
> I finally found time to perform further testing, using kernel packages
> from snapshots.debian.org, and the last one that positively worked (at
> least using GNOME's webcam application Cheese) was:
>
> linux-image-3.1.0-1-686-pae          3.1.8-2
>   Linux 3.1 for modern PCs
>
> This loaded the following video modules:
>
> gspca_vc032x
> gspca_main
> videodev
> media
>
> Tests using 3.2.1-1 or more recent crashed as described before. This
> at least gives us a time frame for when the regression started.

Hmm, this is then likely caused by the new isoc bandwidth negotiation code
in 3.2, unfortunately the vc032x driver is one of the few gspca drivers
for which I don't have a cam to test with. Can you try to build your own
kernel from source?

Boot into your own kernel, and verify the regression is still there,
then edit drivers/media/video/gspca/gspca.c and go to the which_bandwidth
function, and at the beginning of this function add the following line:

return 2000 * 2000 * 120;

Then rebuild and re-install the kernel and try again.

If that helps, remove the added
return 2000 * 2000 * 120;
line, and also remove the following lines from which_bandwidth:

         /* if the image is compressed, estimate its mean size */
         if (!gspca_dev->cam.needs_full_bandwidth &&
             bandwidth < gspca_dev->cam.cam_mode[i].width *
                                 gspca_dev->cam.cam_mode[i].height)
                 bandwidth = bandwidth * 3 / 8;  /* 0.375 */

And try again if things still work this way.

Once you've tested this I can try to write a fix for this.

Regards,

Hans

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-07-08 17:58           ` Hans de Goede
@ 2012-07-09 11:33             ` Martin-Éric Racine
  2012-07-09 13:12               ` Hans de Goede
  0 siblings, 1 reply; 9+ messages in thread
From: Martin-Éric Racine @ 2012-07-09 11:33 UTC (permalink / raw)
  To: Hans de Goede; +Cc: Jean-François Moine, 677533, linux-media, linux-kernel

2012/7/8 Hans de Goede <hdegoede@redhat.com>:
> On 07/08/2012 03:01 PM, Martin-Éric Racine wrote:
>>
>> 2012/6/17 Martin-Éric Racine <martin-eric.racine@iki.fi>:
>>>
>>> pe, 2012-06-15 kello 23:41 -0500, Jonathan Nieder kirjoitti:
>>>>
>>>> Martin-Éric Racine wrote:
>>>>>
>>>>> usb 1-7: new high-speed USB device number 3 using ehci_hcd
>>>>
>>>> [...]
>>>>>
>>>>> usb 1-7: New USB device found, idVendor=0ac8, idProduct=0321
>>>>> usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
>>>>> usb 1-7: Product: USB2.0 Web Camera
>>>>> usb 1-7: Manufacturer: Vimicro Corp.
>>>>
>>>> [...]
>>>>>
>>>>> Linux media interface: v0.10
>>>>> Linux video capture interface: v2.00
>>>>> gspca_main: v2.14.0 registered
>>>>> gspca_main: vc032x-2.14.0 probing 0ac8:0321
>>>>> usbcore: registered new interface driver vc032x
>>>>
>>>>
>>>> The device of interest is discovered.
>>>>
>>>>> gspca_main: ISOC data error: [36] len=0, status=-71
>>>>> gspca_main: ISOC data error: [65] len=0, status=-71
>>>>
>>>> [...]
>>>>>
>>>>> gspca_main: ISOC data error: [48] len=0, status=-71
>>>>> video_source:sr[3246]: segfault at 0 ip   (null) sp ab36de1c error 14
>>>>> in cheese[8048000+21000]
>>>>> gspca_main: ISOC data error: [17] len=0, status=-71
>>>>
>>>>
>>>> (The above data error spew starts around t=121 seconds and continues
>>>> at a rate of about 15 messages per second.  The segfault is around
>>>> t=154.)
>>>
>>>
>>>> The vc032x code hasn't changed since 3.4.1, so please report your
>>>> symptoms to Jean-François Moine <moinejf@free.fr>, cc-ing
>>>> linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, and either
>>>> me or this bug log so we can track it.  Be sure to mention:
>>>>
>>>>   - steps to reproduce, expected result, actual result, and how the
>>>>     difference indicates a bug (should be simple enough in this case)
>>>
>>>
>>> 1. Ensure that user 'myself' is a member of the 'video' group.
>>> 2. Launch the webcam application Cheese from the GNOME desktop.
>>>
>>> Expected result: Cheese displays whatever this laptop's camera sees.
>>>
>>> Actual result: Cheese crashes while attempting to access the camera.
>>>
>>>>   - how reproducible the bug is (100%?)
>>>
>>>
>>> 100%
>>>
>>>>   - which kernel versions you have tested and result with each (what is
>>>>     the newest kernel version that worked?)
>>>
>>>
>>> It probably was 3.1.0 or some earlier 3.2 release (the upcoming Debian
>>> will release with 3.2.x; 3.4 was only used here for testing purposes),
>>> but I wouldn't know for sure since I don't use my webcam too often.
>>
>>
>> I finally found time to perform further testing, using kernel packages
>> from snapshots.debian.org, and the last one that positively worked (at
>> least using GNOME's webcam application Cheese) was:
>>
>> linux-image-3.1.0-1-686-pae          3.1.8-2
>>   Linux 3.1 for modern PCs
>>
>> This loaded the following video modules:
>>
>> gspca_vc032x
>> gspca_main
>> videodev
>> media
>>
>> Tests using 3.2.1-1 or more recent crashed as described before. This
>> at least gives us a time frame for when the regression started.
>
>
> Hmm, this is then likely caused by the new isoc bandwidth negotiation code
> in 3.2, unfortunately the vc032x driver is one of the few gspca drivers
> for which I don't have a cam to test with. Can you try to build your own
> kernel from source?
>
> Boot into your own kernel, and verify the regression is still there,
> then edit drivers/media/video/gspca/gspca.c and go to the which_bandwidth
> function, and at the beginning of this function add the following line:
>
> return 2000 * 2000 * 120;
>
> Then rebuild and re-install the kernel and try again.
>
> If that helps, remove the added
> return 2000 * 2000 * 120;
> line, and also remove the following lines from which_bandwidth:
>
>         /* if the image is compressed, estimate its mean size */
>         if (!gspca_dev->cam.needs_full_bandwidth &&
>             bandwidth < gspca_dev->cam.cam_mode[i].width *
>                                 gspca_dev->cam.cam_mode[i].height)
>                 bandwidth = bandwidth * 3 / 8;  /* 0.375 */
>
> And try again if things still work this way.
>
> Once you've tested this I can try to write a fix for this.

Hans,

Thank you for your reply.

Just to eliminate the possibility of mistakes on my part while trying
to perform the above changes, could you send me a patch against Linux
3.2.21 that I could apply as-is, before building myself a test kernel
package?

Cheers!
Martin-Éric

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-07-09 11:33             ` Martin-Éric Racine
@ 2012-07-09 13:12               ` Hans de Goede
  2012-07-09 20:39                 ` Jonathan Nieder
  0 siblings, 1 reply; 9+ messages in thread
From: Hans de Goede @ 2012-07-09 13:12 UTC (permalink / raw)
  To: martin-eric.racine
  Cc: Jean-François Moine, 677533, linux-media, linux-kernel

Hi,

On 07/09/2012 01:33 PM, Martin-Éric Racine wrote:

<snip>

>> Hmm, this is then likely caused by the new isoc bandwidth negotiation code
>> in 3.2, unfortunately the vc032x driver is one of the few gspca drivers
>> for which I don't have a cam to test with. Can you try to build your own
>> kernel from source?
>>
>> Boot into your own kernel, and verify the regression is still there,
>> then edit drivers/media/video/gspca/gspca.c and go to the which_bandwidth
>> function, and at the beginning of this function add the following line:
>>
>> return 2000 * 2000 * 120;
>>
>> Then rebuild and re-install the kernel and try again.
>>
>> If that helps, remove the added
>> return 2000 * 2000 * 120;
>> line, and also remove the following lines from which_bandwidth:
>>
>>          /* if the image is compressed, estimate its mean size */
>>          if (!gspca_dev->cam.needs_full_bandwidth &&
>>              bandwidth < gspca_dev->cam.cam_mode[i].width *
>>                                  gspca_dev->cam.cam_mode[i].height)
>>                  bandwidth = bandwidth * 3 / 8;  /* 0.375 */
>>
>> And try again if things still work this way.
>>
>> Once you've tested this I can try to write a fix for this.
>
> Hans,
>
> Thank you for your reply.
>
> Just to eliminate the possibility of mistakes on my part while trying
> to perform the above changes, could you send me a patch against Linux
> 3.2.21 that I could apply as-is, before building myself a test kernel
> package?

Erm, that is quite a bit of work from my side for something which you
can easily do yourself, edit gspca.c, search for which_bandwidth
and then under the following lines:
         u32 bandwidth;
         int i;

Add a line like this:
	return 2000 * 2000 * 120;

Regards,

Hans

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-07-09 13:12               ` Hans de Goede
@ 2012-07-09 20:39                 ` Jonathan Nieder
  2012-07-10 12:56                   ` Martin-Éric Racine
  0 siblings, 1 reply; 9+ messages in thread
From: Jonathan Nieder @ 2012-07-09 20:39 UTC (permalink / raw)
  To: martin-eric.racine
  Cc: Hans de Goede, 677533, Jean-François Moine, linux-media,
	linux-kernel

Hi Martin-Éric,

Hans de Goede wrote:

> Erm, that is quite a bit of work from my side for something which you
> can easily do yourself, edit gspca.c, search for which_bandwidth
> and then under the following lines:
>         u32 bandwidth;
>         int i;
>
> Add a line like this:
> 	return 2000 * 2000 * 120;

In case it helps, here are some more complete instructions.

 0. Prerequisites:

	apt-get install git build-essential

 1. Get the kernel history, if you don't already have it:

	git clone \
	  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

 2. Try linus's master:

	cd linux
	git fetch origin
	git reset --hard origin/master
	cp /boot/config-$(uname -r) .config; # current configuration
	scripts/config --disable DEBUG_INFO
	make localmodconfig; # optional: minimize configuration
	make deb-pkg; # optionally with -j<num> for parallel build
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

    Hopefully it reproduces the bug.

 3. Try Hans's first suggested change, as described in the quoted text
    above:

	cd linux
	vi drivers/media/video/gspca/gspca.c
	... make the suggested edits ...
	make deb-pkg; # maybe with -j4
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

 4. Try Hans's second suggested change, as described in a previous
    message:

	cd linux
	vi drivers/media/video/gspca/gspca.c
	... make the suggested edits ...
	make deb-pkg; # maybe with -j4
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

No doubt Jean-François will notice that it is easier to test the
standalone driver because the first build does not have to compile the
whole kernel.  That's fine, too.  The instructions above describe how
to test the in-kernel driver because it's what I'm used to (and
because it means you test the driver against the same version of the
rest of the kernel as would get the fix).

Hope that helps,
Jonathan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: video: USB webcam fails since kernel 3.2
  2012-07-09 20:39                 ` Jonathan Nieder
@ 2012-07-10 12:56                   ` Martin-Éric Racine
  0 siblings, 0 replies; 9+ messages in thread
From: Martin-Éric Racine @ 2012-07-10 12:56 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: Hans de Goede, 677533, Jean-François Moine, linux-media,
	linux-kernel

Hi Jonathan,

Thank you for these detailed instructions. Find the results of my testing below:

2012/7/9 Jonathan Nieder <jrnieder@gmail.com>:
> Hans de Goede wrote:
>
>> Erm, that is quite a bit of work from my side for something which you
>> can easily do yourself, edit gspca.c, search for which_bandwidth
>> and then under the following lines:
>>         u32 bandwidth;
>>         int i;
>>
>> Add a line like this:
>>       return 2000 * 2000 * 120;
>
> In case it helps, here are some more complete instructions.
>
>  0. Prerequisites:
>
>         apt-get install git build-essential
>
>  1. Get the kernel history, if you don't already have it:
>
>         git clone \
>           git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Cloned up to the following commit:

commit 2437fccfbfc83bcb868ccc7fdfe2b5310bf07835
Merge: 6c6ee53 d92d95b6
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Jul 9 13:43:02 2012 -0700

    Merge tag 'regulator-3.5' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

>  2. Try linus's master:
>
>         cd linux
>         git fetch origin
>         git reset --hard origin/master
>         cp /boot/config-$(uname -r) .config; # current configuration
>         scripts/config --disable DEBUG_INFO
>         make localmodconfig; # optional: minimize configuration
>         make deb-pkg; # optionally with -j<num> for parallel build
>         dpkg -i ../<name of package>; # as root
>         reboot
>         ... test test test ...
>
>     Hopefully it reproduces the bug.

Fails as previously.

>  3. Try Hans's first suggested change, as described in the quoted text
>     above:

/* compute the minimum bandwidth for the current transfer */
static u32 which_bandwidth(struct gspca_dev *gspca_dev)
{
        u32 bandwidth;
        int i;

        return 2000 * 2000 * 120;

        /* get the (max) image size */

>         cd linux
>         vi drivers/media/video/gspca/gspca.c
>         ... make the suggested edits ...
>         make deb-pkg; # maybe with -j4
>         dpkg -i ../<name of package>; # as root
>         reboot
>         ... test test test ...

The camera works again in Cheese, at least some of the time. Other
times, launching Cheese immediately crashes GNOME, which restarts the
X.org server.

However, with Skype 4.0.0.7, it only shows a green square, instead of
the camera's output.

>  4. Try Hans's second suggested change, as described in a previous
>     message:
>
>         cd linux
>         vi drivers/media/video/gspca/gspca.c
>         ... make the suggested edits ...
>         make deb-pkg; # maybe with -j4
>         dpkg -i ../<name of package>; # as root
>         reboot
>         ... test test test ...

This produces a severely distorted image for a few seconds, then
Cheese crashes; GNOME itself survives.

Meanwhile, Skype 4.0.0.7 shows a black square, instead of the camera's output.

I hope that the above already provides some usable answers.

Martin-Éric

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-07-10 12:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20120614162609.4613.22122.reportbug@henna.lan>
     [not found] ` <20120614215359.GF3537@burratino>
     [not found]   ` <CAPZXPQd9gNCxn7xGyqj_xymPaF5OxvRtxRFkt+SsLs942te4og@mail.gmail.com>
     [not found]     ` <20120616044137.GB4076@burratino>
2012-06-17 11:23       ` video: USB webcam fails since kernel 3.2 Martin-Éric Racine
2012-06-17 17:11         ` Jonathan Nieder
2012-06-17 17:12           ` Jonathan Nieder
2012-07-08 13:01         ` Martin-Éric Racine
2012-07-08 17:58           ` Hans de Goede
2012-07-09 11:33             ` Martin-Éric Racine
2012-07-09 13:12               ` Hans de Goede
2012-07-09 20:39                 ` Jonathan Nieder
2012-07-10 12:56                   ` Martin-Éric Racine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).