Re: Linux logs error `Failed to query (GET_CUR) UVC control X on unit Y: -75 (exp. 1).` (75 == EOVERFLOW?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



#regzbot ^introduced: b2b5fcb1c5b645d5177ef3e3f41c7a706fc2688d

Dear Laurent, dear Greg, dear Ricardo,


Am 19.07.24 um 13:33 schrieb Paul Menzel:


Am 19.07.24 um 11:38 schrieb Laurent Pinchart:
(CC'ing Ricardo)

On Fri, Jul 19, 2024 at 08:05:35AM +0200, Greg KH wrote:
On Fri, Jul 19, 2024 at 07:22:54AM +0200, Paul Menzel wrote:

Today, starting the Intel Kaby Lake laptop Dell XPS 13 9360/0596KF, BIOS
2.21.0 06/02/2022 with

     Bus 001 Device 004: ID 0c45:670c Microdia Integrated Webcam HD

Linux “6.11-rc0” (v6.10-8070-gcb273eb7c839) logged UVC errors:

Does 6.10-final have the same issue?

No, it does not. Linux 6.10-04829-ge2f710f97f35 (Merge tag 'ata-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux) does also not show this, and 6.10-rc3-00148-g8676a5e796fa (media: uvcvideo: Fix integer overflow calculating timestamp) neither.

If not, can you use 'git bisect' to track down the offending commit?

I am on it. I tried to pass the USB device through to a VM and try to reproduce there. Thank you for the comment, that reloading the module is (of course) also possible. That avoids rebooting the system.

The hard way found commit:

commit b2b5fcb1c5b645d5177ef3e3f41c7a706fc2688d
Author: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
Date:   Mon Jun 10 23:09:54 2024 +0000

    media: uvcvideo: Probe the PLF characteristics

    The UVC 1.5 standard defines 4 values for the PLF control: Off, 50Hz,
    60Hz and Auto. But it does not clearly define if all the values must be
    implemented or not.

    Instead of just using the UVC version to determine what the PLF control
    can do, probe it.

    Reviewed-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>
    Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Reviewed-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>

Looking at it, it’s plausible as new `uvc_query_ctrl()` calls are added.

There have not been any USB changes in Linus's tree yet, but there have
been a bunch of media changes, so perhaps something in the uvc driver is
causing this?

We've merged quite a few changes for the uvcvideo driver recently.
Bisecting the problem would help greatly. It could also be helpful to
set the uvcvideo module 'trace' parameter to 0xffff (e.g. add
`uvcvideo.trace=0xffff` to the kernel command line, or unload and reload
the uvcvideo module with the parameter set to 0xffff) and give us the
additional messages printed to the kernel log.

```
[   10.688580] usb 1-5: Adding mapping 'Brightness' to control 00000000-0000-0000-0000-000000000101/2
[   10.689134] usb 1-5: Failed to query (GET_CUR) UVC control 2 on unit 2: -75 (exp. 1).
[   10.689209] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/3 to device 5 entity 2
[   10.691085] usb 1-5: Adding mapping 'Contrast' to control 00000000-0000-0000-0000-000000000101/3
[   10.691645] usb 1-5: Failed to query (GET_CUR) UVC control 3 on unit 2: -75 (exp. 1).
[   10.691709] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/6 to device 5 entity 2
[   10.692729] usb 1-5: Adding mapping 'Hue' to control 00000000-0000-0000-0000-000000000101/6
[   10.693530] usb 1-5: Failed to query (GET_CUR) UVC control 6 on unit 2: -75 (exp. 1).
[   10.693604] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/7 to device 5 entity 2
[   10.698164] usb 1-5: Adding mapping 'Saturation' to control 00000000-0000-0000-0000-000000000101/7
[   10.699621] usb 1-5: Failed to query (GET_CUR) UVC control 7 on unit 2: -75 (exp. 1).
[   10.699708] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/8 to device 5 entity 2
[   10.700676] usb 1-5: Adding mapping 'Sharpness' to control 00000000-0000-0000-0000-000000000101/8
[   10.701263] usb 1-5: Failed to query (GET_CUR) UVC control 8 on unit 2: -75 (exp. 1).
[   10.701325] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/9 to device 5 entity 2
[   10.702991] usb 1-5: Adding mapping 'Gamma' to control 00000000-0000-0000-0000-000000000101/9
[   10.705787] usb 1-5: Failed to query (GET_CUR) UVC control 9 on unit 2: -75 (exp. 1).
[   10.705860] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/10 to device 5 entity 2
[   10.707036] usb 1-5: Adding mapping 'White Balance Temperature' to control 00000000-0000-0000-0000-000000000101/10
[   10.708098] usb 1-5: Failed to query (GET_CUR) UVC control 10 on unit 2: -75 (exp. 1).
[   10.708150] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/1 to device 5 entity 2
[   10.709279] usb 1-5: Adding mapping 'Backlight Compensation' to control 00000000-0000-0000-0000-000000000101/1
[   10.710748] usb 1-5: Failed to query (GET_CUR) UVC control 1 on unit 2: -75 (exp. 1).
[   10.711147] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/4 to device 5 entity 2
[   10.713670] usb 1-5: Adding mapping 'Gain' to control 00000000-0000-0000-0000-000000000101/4
[   10.714623] usb 1-5: Failed to query (GET_CUR) UVC control 4 on unit 2: -75 (exp. 1).
[   10.715104] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/5 to device 5 entity 2
[   10.803567] usb 1-5: Adding mapping 'Power Line Frequency' to control 00000000-0000-0000-0000-000000000101/5
[   10.803573] usb 1-5: Added control 00000000-0000-0000-0000-000000000101/11 to device 5 entity 2
[   10.804683] usb 1-5: Adding mapping 'White Balance, Automatic' to control 00000000-0000-0000-0000-000000000101/11
```

Full log attached.

Could you also provide the output of `lsusb -v -d 0c45:670c` (running as
root if possible) ?

Attached.


Kind regards,

Paul


[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b2b5fcb1c5b645d5177ef3e3f41c7a706fc2688d




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux