On Tue Dec 27, 2022 at 6:30 PM CET, Bodie wrote:
> 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?
>

You may find this interesting:

https://www.usb.org/documents?search=video&category%5B%5D=49&type%5B%5D=55&items_per_page=50

4.3.1.1 Video Probe and Commit Controls
The streaming parameters selection process is based on a shared negotiation 
model between the
host and the video streaming interface, taking into account the following 
features:
-  shared nature of the USB
-  interdependency of streaming parameters
-  payload independence
-  modification of streaming parameters during streaming
This negotiation model is supported by the Video Probe and Commit controls. The 
Probe control
allows retrieval and negotiation of streaming parameters. When an acceptable 
combination of
streaming parameters has been obtained, the Commit control is used to configure 
the hardware
with the negotiated parameters from the Probe control.

Based on issues reported in Linux with various camera often pointing
to too big bandwith and fixing the problem with setting up
different stream size you may try to play with settings over
video(1) to set different formats for your stream as Chrome-based
browsers are probably trying to set camera differently then FF
(but is just my guess really based on info so far plus those
specs documents describing STALL protocol as well)

> > 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

Reply via email to