Tuesday, December 27, 2022

Re: /bsd: uvideo0: could not SET probe request: STALLED

On Tue Dec 27, 2022 at 5:07 PM CET, Robert Alessi wrote:
> Hi,
>
> This is a follow-up of
> https://marc.info/?l=openbsd-misc&m=167188879329774&w=2
>
> My camera device is listed as follows:
>
> $ video -q -f /dev/video0
> video device /dev/video0:
> encodings: yuy2
> frame sizes (width x height, in pixels) and rates (in frames per second):
> 640x360: 30, 15, 10
> 640x480: 30, 15, 10
> 960x540: 15, 10
> 1024x768: 10
> 1280x720: 10
> controls: brightness, contrast, saturation, hue, gamma, sharpness,
> white_balance_temperature, backlight_compensation
>

What does it say in usbdevs(8) output? (with multiple -v)
I suppose over video(1) it works correctly, right?

> When plugged in:
>
> # tail -f /var/log/messages
> Dec 27 16:40:19 localhost /bsd: uvideo0 at uhub0 port 2 configuration 1 interface 0 " 4K Document Camera" rev 2.00/1.33 addr 2
> Dec 27 16:40:19 localhost /bsd: video0 at uvideo0
> Dec 27 16:40:19 localhost /bsd: uaudio0 at uhub0 port 2 configuration 1 interface 3 " 4K Document Camera" rev 2.00/1.33 addr 2
> Dec 27 16:40:19 localhost /bsd: uaudio0: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls
> Dec 27 16:40:19 localhost /bsd: audio1 at uaudio0
>
> Even so, I can't access it from some browsers, such as iridium,
> chromium, otter-browser or qutebrowser. As soon as I allow sharing
> the device, I get an error message saying that the device is
> inaccessible and may be used by another application. Here is what I
> get in /var/log/messages:
>
> # tail -f /var/log/messages
> Dec 27 16:59:10 localhost /bsd: uvideo0: could not SET probe request: STALLED
>
> I would add that firefox-esr can access it.
>
> I tried hard so far to understand what this message could mean. Could
anynone give me some pointer?
If you take a look in /usr/src/sys/dev/usb on files uvideo.{c,h} you
will find aroudn the line 1628 your error:

error = usbd_do_request(sc->sc_udev, &req, probe_data);
if (error) {
printf("%s: could not SET probe request: %s\n",
DEVNAME(sc), usbd_errstr(error));
return (USBD_INVAL);
}

in uvideo.h is defined table 4.47 for Video probe and commit controls

You may take a look at Linux issues for some ideas too
https://bbs.archlinux.org/viewtopic.php?id=263649

But maybe your camera is not exactly UVC standard or maybe it needs
firmware which is not available for you under OpenBSD?

> I would be very grateful.
>
> -- Robert

No comments:

Post a Comment