http://bugzilla.opensuse.org/show_bug.cgi?id=1180117
Bug ID: 1180117 Summary: Regression in uvcvideo: Webcam (1f3a:100e) stopped working as of 5.3.18-lp152.50-default Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.2 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: doerges@pre-sense.de QA Contact: qa-bugs@suse.de Found By: --- Blocker: ---
The webcam in question is Renkforce RF AC4K 300 Action Cam 4K
https://www.conrad.de/de/p/action-cam-renkforce-rf-ac-4k-webcam-4k-wlan-wass...
It identifies as: [34367.545510] uvcvideo: Found UVC 1.00 device Android (1f3a:100e)
Everything was working fine with openSUSE Leap 15.2 and Kernel 5.3.18-lp152.47-default (RPM kernel-default-5.3.18-lp152.47.2.x86_64) and earlier versions.
After updating to kernel-default-5.3.18-lp152.50.1.x86_64 the webcam stopped working. This is also true for later Kernel versions.
With Kernel 5.3.18-lp152.47-default I can capture the videostream, e.g. via:
--- snip --- user@box:~> luvcview -d /dev/video2 luvcview version 0.2.1 Video driver: x11 A window manager is available video /dev/video2 format asked unavailable get width 1280 height 720 Clean Up done Quit --- snap ---
With Kernel 5.3.18-lp152.50-default I get no stream and this error:
--- snip --- user@box:~> luvcview -d /dev/video2 luvcview version 0.2.1 Video driver: x11 A window manager is available video /dev/video2 Unable to set format: 22. Init v4L2 failed !! exit fatal --- snap ---
On a related note: In order for the device to work I have to disable USB autosuspend (as suggested under https://www.ideasonboard.org/uvc/faq/):
--- snip --- echo -1 > /sys/module/usbcore/parameters/autosuspend --- snap ---
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c2
--- Comment #2 from Till D�rges doerges@pre-sense.de --- Created attachment 844561 --> http://bugzilla.opensuse.org/attachment.cgi?id=844561&action=edit Plugging in the device with non-working Kernel
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c3
--- Comment #3 from Till D�rges doerges@pre-sense.de --- Created attachment 844562 --> http://bugzilla.opensuse.org/attachment.cgi?id=844562&action=edit Plugging in the device with working Kernel
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c4
--- Comment #4 from Till D�rges doerges@pre-sense.de --- Created attachment 844563 --> http://bugzilla.opensuse.org/attachment.cgi?id=844563&action=edit Streaming with non-working Kernel
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c5
--- Comment #5 from Till D�rges doerges@pre-sense.de --- Created attachment 844564 --> http://bugzilla.opensuse.org/attachment.cgi?id=844564&action=edit Streaming with working Kernel
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c6
Till D�rges doerges@pre-sense.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(doerges@pre-sense | |.de) |
--- Comment #6 from Till D�rges doerges@pre-sense.de --- (In reply to Takashi Iwai from comment #1)
Could you give the dmesg outputs from both working and non-working kernels?
Please see attachments.
My current workaround is to manually compile the Kernel module uvcvideo from 5.3.18-lp152.47. Inserting it via insmod while running 5.3.18-lp152.57-default works fine.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c8
--- Comment #8 from Till D�rges doerges@pre-sense.de --- (In reply to Takashi Iwai from comment #7)
Thanks. So it sounds like a regression in uvcvideo driver, if replacing the uvcvideo module fixes the problem.
There were three upstream backport fixes wrt uvcvideo: patches.suse/media-uvcvideo-Fix-uvc_ctrl_fixup_xu_info-not-having.patch patches.suse/media-uvcvideo-Fix-dereference-of-out-of-bound-list-.patch patches.suse/media-uvcvideo-Ensure-all-probed-info-is-returned-to.patch
Could you try to revert those and identify which one actually breaks? The patches are found in kernel-source.git, either in SLE15-SP2 or openSUSE-15.2 branch: https://github.com/SUSE/kernel-source/tree/openSUSE-15.2
I now tested against 5.3.18-lp152.57.
W/o changes the described problem occurred.
Reverting media-uvcvideo-Ensure-all-probed-info-is-returned-to.patch solved the problem. Capturing worked.
Didn't check the other patches. Is that sufficient?
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c10
--- Comment #10 from Till D�rges doerges@pre-sense.de --- (In reply to Takashi Iwai from comment #9)
Thanks! That's enough for testing Leap 15.2. I'll drop the patch from git branch.
Meanwhile, it's interesting to see whether the problem is seen with the latest upstream kernel. Care to check the 5.10.x kernel from OBS Kernel:stable as well? If the same problem is seen there, we should report it to upstream, too.
Checked against 5.10.1-2.g8f3d468-default from http://download.opensuse.org/repositories/Kernel:/stable/standard
Problem occurs there, too:
user@box:~> luvcview -w luvcview version 0.2.1 Video driver: x11 A window manager is available video /dev/video0 Unable to set format: 22. Init v4L2 failed !! exit fatal
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c11
--- Comment #11 from Takashi Iwai tiwai@suse.com --- Thanks, it's a good news -- it's at least consistent, and a bad news that it's broken in multiple versions now :)
It'd be appreciated if you report this to the upstream, e.g. bugzilla.kernel.org. Feel free to put me (tiwai@suse.de) to Cc in case you need the assistance from distro side.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180117 http://bugzilla.opensuse.org/show_bug.cgi?id=1180117#c12
--- Comment #12 from Till D�rges doerges@pre-sense.de --- (In reply to Takashi Iwai from comment #11)
Thanks, it's a good news -- it's at least consistent, and a bad news that it's broken in multiple versions now :)
I checked and it's the same patch that breaks the device with an upstream Kernel.
It'd be appreciated if you report this to the upstream, e.g. bugzilla.kernel.org. Feel free to put me (tiwai@suse.de) to Cc in case you need the assistance from distro side.
https://bugzilla.kernel.org/show_bug.cgi?id=210767
@Takashi: Thanks for your quick help! Much appreciated!
kernel-bugs@lists.opensuse.org