webcam fixes and changes in -current

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

webcam fixes and changes in -current

Laurence Tratt
Lots of us have to use webcams more than we used to. There have been some
recent changes in OpenBSD support for webcams that some might find useful.
Most of the hard work was done by Marcus Glocker, with input from Ingo
Feinerer, sc.dying, and myself.

The first change is that MJPEG in cameras now works reliably. In essence,
most webcams can deliver uncompressed video at a low frame rate or
compressed (MJPEG) at a high frame rate. The latter tickled a limitation in
the USB stack, which led to the picture breaking up -- and which is now
fixed! If you want to know what your camera is capable of, my suggestion is
to install ffmpeg and then run:

  $ ffplay -f v4l2 -list_formats all -i /dev/video0

which will output lots of stuff, but at the end has the important bits:

  [video4linux2,v4l2 @ 0x914fbbb6000] Raw       :     yuyv422 :                 YUYV : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536
  [video4linux2,v4l2 @ 0x914fbbb6000] Compressed:       mjpeg :                MJPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080

This shows that my C920s webcam has a maximum MJPEG resolution of 1920x1080.
The "raw" options (yuyv422) might look tempting as they have a max
resolution of 2304x1536, but "video -q" shows they can only achieve low
frame rates:

  $ video -q
  video device /dev/video:
    encodings: yuy2
    frame sizes (width x height, in pixels) and rates (in frames per second):
  160x90: 30, 24, 20, 15, 10, 7, 5
  160x120: 30, 24, 20, 15, 10, 7, 5
  176x144: 30, 24, 20, 15, 10, 7, 5
  320x180: 30, 24, 20, 15, 10, 7, 5
  320x240: 30, 24, 20, 15, 10, 7, 5
  352x288: 30, 24, 20, 15, 10, 7, 5
  432x240: 30, 24, 20, 15, 10, 7, 5
  640x360: 30, 24, 20, 15, 10, 7, 5
  640x480: 30, 24, 20, 15, 10, 7, 5
  800x448: 30, 24, 20, 15, 10, 7, 5
  800x600: 24, 20, 15, 10, 7, 5
  864x480: 24, 20, 15, 10, 7, 5
  960x720: 15, 10, 7, 5
  1024x576: 15, 10, 7, 5
  1280x720: 10, 7, 5
  1600x896: 7, 5
  1920x1080: 5
  2304x1296: 2
  2304x1536: 2
    controls: brightness, contrast, saturation, gain, sharpness, white_balance_temperature

As that suggests, video(1) only easily supports YUY2/YUYV422. The easiest
way to see higher frame rates I know of is to use ffmpeg. Most cameras can
sustain 30fps (or sometimes 60fps) at high resolutions as can be seen with:

  $ ffplay -f v4l2 -input_format mjpeg -video_size 1920x1080 -i /dev/video0

If you use video chat in a browser, you should find that it can now reliably
support higher resolutions without problems.

video(1) has also been extended to allow altering webcam controls from the
command-line. In order to do this, nothing else can be using the webcam;
however, the settings are "sticky" so they effect subsequent programs which
use the webcam. I can see the current settings with:

  $ video -c
  brightness=128
  contrast=128
  saturation=128
  gain=0
  sharpness=128
  white_balance_temperature=auto

and I can reset things back to a known state with:

  $ video -d

I can change e.g. brightness with:

  $ video brightness=200
  brightness: 128 -> 200

Some, though not all, controls have automatic adjustment. If your webcam has
the white_balance_temperature control, it probably defaults to "auto",
meaning that it tries to adjust based on how yellow/white it thinks the
light is. In my experience, the automatic adjustment ends up making
everything look like a Smurfs homage (i.e. too blue). video(1) allows us to
override the automatic setting and specify a temperature manually (in
Kelvin). During the day I might use:

  $ video white_balance_temperature=5000
  white_balance_temperature: auto -> 5000

If you really want, you can use "auto" as a value for such controls instead
of a numeric value. Note further that if you're used to other operating
systems webcam support, you might expect there to be two white balance
temperature controls (one for the manual temperature and a separate auto
boolean): video(1) unifies them.

You can specify multiple controls at once e.g.:

  $ video brightness=50 white_balance_temperature=3000
  brightness: 128 -> 50
  white_balance_temperature: auto -> 3000

Be aware that uvideo doesn't yet support the "camera terminal control
requests" part of the UVC spec so some controls (e.g. zoom, pan, and
exposure) cannot be altered. If and when uvideo gains such support, the
necessary changes to video(1) will be trivial.

Overall, I think this makes webcams much more usable under OpenBSD, and
thanks again to Marcus, because none of this would have happened without
him!


Laurie

Reply | Threaded
Open this post in threaded view
|

Re: webcam fixes and changes in -current

Claudio Correa-2

Thank you very much,
you made a difference in a teacher's life.

Regards

Laurence Tratt <[hidden email]> wrote:

> Lots of us have to use webcams more than we used to. There have been
> some recent changes in OpenBSD support for webcams that some might
> find useful. Most of the hard work was done by Marcus Glocker, with
> input from Ingo Feinerer, sc.dying, and myself.
>
> The first change is that MJPEG in cameras now works reliably. In
> essence, most webcams can deliver uncompressed video at a low frame
> rate or compressed (MJPEG) at a high frame rate. The latter tickled a
> limitation in the USB stack, which led to the picture breaking up --
> and which is now fixed! If you want to know what your camera is
> capable of, my suggestion is to install ffmpeg and then run:
>
>   $ ffplay -f v4l2 -list_formats all -i /dev/video0
>
> which will output lots of stuff, but at the end has the important
> bits:
>
>   [video4linux2,v4l2 @ 0x914fbbb6000] Raw       :     yuyv422 :
>           YUYV : 640x480 160x90 160x120 176x144 320x180 320x240
> 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576
> 1280x720 1600x896 1920x1080 2304x1296 2304x1536 [video4linux2,v4l2 @
> 0x914fbbb6000] Compressed:       mjpeg :                MJPEG :
> 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240
> 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896
> 1920x1080
>
> This shows that my C920s webcam has a maximum MJPEG resolution of
> 1920x1080. The "raw" options (yuyv422) might look tempting as they
> have a max resolution of 2304x1536, but "video -q" shows they can
> only achieve low frame rates:
>
>   $ video -q
>   video device /dev/video:
>     encodings: yuy2
>     frame sizes (width x height, in pixels) and rates (in frames per
> second): 160x90: 30, 24, 20, 15, 10, 7, 5
>   160x120: 30, 24, 20, 15, 10, 7, 5
>   176x144: 30, 24, 20, 15, 10, 7, 5
>   320x180: 30, 24, 20, 15, 10, 7, 5
>   320x240: 30, 24, 20, 15, 10, 7, 5
>   352x288: 30, 24, 20, 15, 10, 7, 5
>   432x240: 30, 24, 20, 15, 10, 7, 5
>   640x360: 30, 24, 20, 15, 10, 7, 5
>   640x480: 30, 24, 20, 15, 10, 7, 5
>   800x448: 30, 24, 20, 15, 10, 7, 5
>   800x600: 24, 20, 15, 10, 7, 5
>   864x480: 24, 20, 15, 10, 7, 5
>   960x720: 15, 10, 7, 5
>   1024x576: 15, 10, 7, 5
>   1280x720: 10, 7, 5
>   1600x896: 7, 5
>   1920x1080: 5
>   2304x1296: 2
>   2304x1536: 2
>     controls: brightness, contrast, saturation, gain, sharpness,
> white_balance_temperature
>
> As that suggests, video(1) only easily supports YUY2/YUYV422. The
> easiest way to see higher frame rates I know of is to use ffmpeg.
> Most cameras can sustain 30fps (or sometimes 60fps) at high
> resolutions as can be seen with:
>
>   $ ffplay -f v4l2 -input_format mjpeg -video_size 1920x1080 -i
> /dev/video0
>
> If you use video chat in a browser, you should find that it can now
> reliably support higher resolutions without problems.
>
> video(1) has also been extended to allow altering webcam controls
> from the command-line. In order to do this, nothing else can be using
> the webcam; however, the settings are "sticky" so they effect
> subsequent programs which use the webcam. I can see the current
> settings with:
>
>   $ video -c
>   brightness=128
>   contrast=128
>   saturation=128
>   gain=0
>   sharpness=128
>   white_balance_temperature=auto
>
> and I can reset things back to a known state with:
>
>   $ video -d
>
> I can change e.g. brightness with:
>
>   $ video brightness=200
>   brightness: 128 -> 200
>
> Some, though not all, controls have automatic adjustment. If your
> webcam has the white_balance_temperature control, it probably
> defaults to "auto", meaning that it tries to adjust based on how
> yellow/white it thinks the light is. In my experience, the automatic
> adjustment ends up making everything look like a Smurfs homage (i.e.
> too blue). video(1) allows us to override the automatic setting and
> specify a temperature manually (in Kelvin). During the day I might
> use:
>
>   $ video white_balance_temperature=5000
>   white_balance_temperature: auto -> 5000
>
> If you really want, you can use "auto" as a value for such controls
> instead of a numeric value. Note further that if you're used to other
> operating systems webcam support, you might expect there to be two
> white balance temperature controls (one for the manual temperature
> and a separate auto boolean): video(1) unifies them.
>
> You can specify multiple controls at once e.g.:
>
>   $ video brightness=50 white_balance_temperature=3000
>   brightness: 128 -> 50
>   white_balance_temperature: auto -> 3000
>
> Be aware that uvideo doesn't yet support the "camera terminal control
> requests" part of the UVC spec so some controls (e.g. zoom, pan, and
> exposure) cannot be altered. If and when uvideo gains such support,
> the necessary changes to video(1) will be trivial.
>
> Overall, I think this makes webcams much more usable under OpenBSD,
> and thanks again to Marcus, because none of this would have happened
> without him!
>
>
> Laurie

Reply | Threaded
Open this post in threaded view
|

Re: webcam fixes and changes in -current

Jan Stary
In reply to this post by Laurence Tratt
On Aug 29 18:06:32, [hidden email] wrote:
> Lots of us have to use webcams more than we used to. There have been some
> recent changes in OpenBSD support for webcams that some might find useful.
> Most of the hard work was done by Marcus Glocker, with input from Ingo
> Feinerer, sc.dying, and myself.

Thanks to all! The uvideo on my old MacBook1,1
(dmesg below) is back, for instance.

It attaches in a strange way on boot:

uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
uvideo0 detached
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
video0 at uvideo0

Does the device attach as bluetooth first,
and the kernel later decides it is a camera?

This is how it used to work on these macbooks for me,
and it got broken some weeks ago; now video(4) is back.


$ video -q
video device /dev/video:
  encodings: uyvy
  frame sizes (width x height, in pixels) and rates (in frames per second):
        320x240: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        352x288: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        640x480: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
  controls: brightness, saturation, gamma, sharpness

The repetition of the 30 (fps) seems strange
- perhaps there is some quirk in getting the list
of the camera's supported frame rates.


$ video -c
video: VIDIOC_G_CTRL: Invalid argument
brightness=63
saturation=5
gamma=100
sharpness=3


Capturing doesn't work though:

$ video -v
video device /dev/video:
  encodings: uyvy
  frame sizes (width x height, in pixels) and rates (in frames per second):
        320x240: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        352x288: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        640x480: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
  controls: brightness, saturation, gamma, sharpness
Xv adaptor 0, Intel(R) Textured Video:
  encodings: yuy2, uyvy, yv12
  max size: 1280x800
using uyvy encoding
using frame size 640x480 (614400 bytes)
using default frame rate
video: VIDIOC_G_CTRL: Invalid argument
video: ioctl VIDIOC_DQBUF: Invalid argument


The first error shows immediately after start,
the camera led lights up, and a black rectangle is shown;
after a few seconds, video(1) emits the second message
and exits with an exit value of 1.

        Jan


OpenBSD 6.8-beta (GENERIC.MP) #0: Wed Sep 23 13:07:51 CEST 2020
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
real mem  = 2113323008 (2015MB)
avail mem = 2058436608 (1963MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe7490 (36 entries)
bios0: vendor Apple Computer, Inc. version "MB11.88Z.0061.B03.0610121324" date 10/12/06
bios0: Apple Computer, Inc. MacBook1,1
acpi0 at bios0: ACPI 3.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT
acpi0: wakeup devices ADP1(S3) LID0(S3) PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) USB3(S3) USB4(S3) USB7(S3) EC__(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (PCIB)
acpisbs0 at acpi0: SBS0 model "ASMB016" serial 35580 type LION oem "DP"
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: LID0
"APP0002" at acpi0 not configured
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
"PNP0A08" at acpi0 not configured
asmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20: rev 1.4f504, 203 keys
"APP0003" at acpi0 not configured
"ACPI0001" at acpi0 not configured
"IFX0101" at acpi0 not configured
acpicmos0 at acpi0
acpicpu0 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpicpu1 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpivideo0 at acpi0: GFX0
bios0: ROM list: 0xc0000/0xe600!
cpu0: Enhanced SpeedStep 1998 MHz: speeds: 2000, 1833, 1667, 1500, 1333, 1000 MHz
memory map conflict 0xe00f8000/0x1000
memory map conflict 0xfed1c000/0x4000
memory map conflict 0xfffb0000/0x30000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0x80000000, size 0x10000000
inteldrm0: apic 1 int 16, I945GM, gen 3
"Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured
vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and Frequency, rev 0x03) at pci0 dev 7 function 0 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
azalia0: codecs: Sigmatel STAC9220/1
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17
pci1 at ppb0 bus 1
mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC rev. A3 (0x2): apic 1 int 16
msk0 at mskc0 port A: address 00:16:cb:d0:c4:3c
eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16
pci2 at ppb1 bus 2
ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17
ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address 00:16:cb:bf:f6:88
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci3 at ppb2 bus 3
"AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-857, HBEA> removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
pciide0: channel 1 disabled (no drives)
pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide1: using apic 1 int 19 for native-PCI interrupt
wd0 at pciide1 channel 0 drive 1: <ST960813AS>
wd0: 16-sector PIO, LBA48, 57231MB, 117210240 sectors
wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 19
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
uhidev0 at uhub1 port 2 configuration 1 interface 0 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 5 key codes, country code 13
wskbd0 at ukbd0: console keyboard
uhidev1 at uhub1 port 2 configuration 1 interface 1 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev1: iclass 3/1, 5 report ids
ums0 at uhidev1 reportid 2: 3 buttons
wsmouse0 at ums0 mux 0
ums1 at uhidev1 reportid 5
ums1: mouse has no X report
uhidev2 at uhub1 port 2 configuration 1 interface 2 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev2: iclass 3/0
uhid0 at uhidev2: input=1, output=0, feature=0
uhidev3 at uhub3 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR Receiver" rev 2.00/1.10 addr 2
uhidev3: iclass 3/0, 38 report ids
uhid1 at uhidev3 reportid 36: input=4, output=0, feature=0
uhid2 at uhidev3 reportid 37: input=4, output=0, feature=0
uhid3 at uhidev3 reportid 38: input=4, output=0, feature=0
uhidev4 at uhub4 port 1 configuration 1 interface 0 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
uhidev4: iclass 3/1
ukbd1 at uhidev4: 8 variable keys, 6 key codes
wskbd1 at ukbd1 mux 1
uhidev5 at uhub4 port 1 configuration 1 interface 1 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
uhidev5: iclass 3/1
ums2 at uhidev5: 5 buttons
wsmouse1 at ums2 mux 0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (d56fb6b19bfb4252.a) swap on wd0b dump on wd0b
inteldrm0: 1280x800, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
uvideo0 detached
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
video0 at uvideo0

Reply | Threaded
Open this post in threaded view
|

Re: webcam fixes and changes in -current

Jan Stary
On Sep 23 20:55:45, [hidden email] wrote:
> On Aug 29 18:06:32, [hidden email] wrote:
> > Lots of us have to use webcams more than we used to. There have been some
> > recent changes in OpenBSD support for webcams that some might find useful.
> > Most of the hard work was done by Marcus Glocker, with input from Ingo
> > Feinerer, sc.dying, and myself.
>
> Thanks to all! The uvideo on my old MacBook1,1
> (dmesg below) is back, for instance.

Ah. This is with a diff (below) I got on misc earlier.
Sorry for the confusion.

Without the diff, uvideo only attaches as bluetooth:

uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
uvideo0: can't find video interface

dmesg below; this is with UVIDEO_DEBUG,
but there don't seem to be any messages,
presumably because uvideo is not even attached.

Anyway, the diff below makes uvideo attach on a macbook1,1
- i.e. reattach the bluetooth as uvideo.

        Jan


> It attaches in a strange way on boot:
>
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
> uvideo0 detached
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
> video0 at uvideo0
>
> Does the device attach as bluetooth first,
> and the kernel later decides it is a camera?
>
> This is how it used to work on these macbooks for me,
> and it got broken some weeks ago; now video(4) is back.
>
>
> $ video -q
> video device /dev/video:
>   encodings: uyvy
>   frame sizes (width x height, in pixels) and rates (in frames per second):
> 320x240: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
> 352x288: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
> 640x480: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
>   controls: brightness, saturation, gamma, sharpness
>
> The repetition of the 30 (fps) seems strange
> - perhaps there is some quirk in getting the list
> of the camera's supported frame rates.
>
>
> $ video -c
> video: VIDIOC_G_CTRL: Invalid argument
> brightness=63
> saturation=5
> gamma=100
> sharpness=3
>
>
> Capturing doesn't work though:
>
> $ video -v
> video device /dev/video:
>   encodings: uyvy
>   frame sizes (width x height, in pixels) and rates (in frames per second):
> 320x240: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
> 352x288: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
> 640x480: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
>   controls: brightness, saturation, gamma, sharpness
> Xv adaptor 0, Intel(R) Textured Video:
>   encodings: yuy2, uyvy, yv12
>   max size: 1280x800
> using uyvy encoding
> using frame size 640x480 (614400 bytes)
> using default frame rate
> video: VIDIOC_G_CTRL: Invalid argument
> video: ioctl VIDIOC_DQBUF: Invalid argument
>
>
> The first error shows immediately after start,
> the camera led lights up, and a black rectangle is shown;
> after a few seconds, video(1) emits the second message
> and exits with an exit value of 1.
>
> Jan
>
>
> OpenBSD 6.8-beta (GENERIC.MP) #0: Wed Sep 23 13:07:51 CEST 2020
>     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
> real mem  = 2113323008 (2015MB)
> avail mem = 2058436608 (1963MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe7490 (36 entries)
> bios0: vendor Apple Computer, Inc. version "MB11.88Z.0061.B03.0610121324" date 10/12/06
> bios0: Apple Computer, Inc. MacBook1,1
> acpi0 at bios0: ACPI 3.0
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT
> acpi0: wakeup devices ADP1(S3) LID0(S3) PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) USB3(S3) USB4(S3) USB7(S3) EC__(S3)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
> cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 166MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
> cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
> ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpiec0 at acpi0
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus 1 (RP01)
> acpiprt2 at acpi0: bus 2 (RP02)
> acpiprt3 at acpi0: bus 3 (PCIB)
> acpisbs0 at acpi0: SBS0 model "ASMB016" serial 35580 type LION oem "DP"
> acpiac0 at acpi0: AC unit online
> acpibtn0 at acpi0: LID0
> "APP0002" at acpi0 not configured
> acpibtn1 at acpi0: PWRB
> acpibtn2 at acpi0: SLPB
> "PNP0A08" at acpi0 not configured
> asmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20: rev 1.4f504, 203 keys
> "APP0003" at acpi0 not configured
> "ACPI0001" at acpi0 not configured
> "IFX0101" at acpi0 not configured
> acpicmos0 at acpi0
> acpicpu0 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
> acpicpu1 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
> acpivideo0 at acpi0: GFX0
> bios0: ROM list: 0xc0000/0xe600!
> cpu0: Enhanced SpeedStep 1998 MHz: speeds: 2000, 1833, 1667, 1500, 1333, 1000 MHz
> memory map conflict 0xe00f8000/0x1000
> memory map conflict 0xfed1c000/0x4000
> memory map conflict 0xfffb0000/0x30000
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
> inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
> drm0 at inteldrm0
> intagp0 at inteldrm0
> agp0 at intagp0: aperture at 0x80000000, size 0x10000000
> inteldrm0: apic 1 int 16, I945GM, gen 3
> "Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured
> vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and Frequency, rev 0x03) at pci0 dev 7 function 0 not configured
> azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
> azalia0: codecs: Sigmatel STAC9220/1
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17
> pci1 at ppb0 bus 1
> mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC rev. A3 (0x2): apic 1 int 16
> msk0 at mskc0 port A: address 00:16:cb:d0:c4:3c
> eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2
> ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16
> pci2 at ppb1 bus 2
> ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17
> ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address 00:16:cb:bf:f6:88
> uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21
> uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19
> uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18
> uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16
> ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
> pci3 at ppb2 bus 3
> "AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured
> ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
> pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
> atapiscsi0 at pciide0 channel 0 drive 0
> scsibus1 at atapiscsi0: 2 targets
> cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-857, HBEA> removable
> cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
> pciide0: channel 1 disabled (no drives)
> pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
> pciide1: using apic 1 int 19 for native-PCI interrupt
> wd0 at pciide1 channel 0 drive 1: <ST960813AS>
> wd0: 16-sector PIO, LBA48, 57231MB, 117210240 sectors
> wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
> ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 19
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
> usb1 at uhci0: USB revision 1.0
> uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb2 at uhci1: USB revision 1.0
> uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb3 at uhci2: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> usb4 at uhci3: USB revision 1.0
> uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> isa0 at ichpcib0
> isadma0 at isa0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
> uhidev0 at uhub1 port 2 configuration 1 interface 0 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> uhidev0: iclass 3/1
> ukbd0 at uhidev0: 8 variable keys, 5 key codes, country code 13
> wskbd0 at ukbd0: console keyboard
> uhidev1 at uhub1 port 2 configuration 1 interface 1 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> uhidev1: iclass 3/1, 5 report ids
> ums0 at uhidev1 reportid 2: 3 buttons
> wsmouse0 at ums0 mux 0
> ums1 at uhidev1 reportid 5
> ums1: mouse has no X report
> uhidev2 at uhub1 port 2 configuration 1 interface 2 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> uhidev2: iclass 3/0
> uhid0 at uhidev2: input=1, output=0, feature=0
> uhidev3 at uhub3 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR Receiver" rev 2.00/1.10 addr 2
> uhidev3: iclass 3/0, 38 report ids
> uhid1 at uhidev3 reportid 36: input=4, output=0, feature=0
> uhid2 at uhidev3 reportid 37: input=4, output=0, feature=0
> uhid3 at uhidev3 reportid 38: input=4, output=0, feature=0
> uhidev4 at uhub4 port 1 configuration 1 interface 0 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
> uhidev4: iclass 3/1
> ukbd1 at uhidev4: 8 variable keys, 6 key codes
> wskbd1 at ukbd1 mux 1
> uhidev5 at uhub4 port 1 configuration 1 interface 1 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
> uhidev5: iclass 3/1
> ums2 at uhidev5: 5 buttons
> wsmouse1 at ums2 mux 0
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on wd0a (d56fb6b19bfb4252.a) swap on wd0b dump on wd0b
> inteldrm0: 1280x800, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wskbd1: connecting to wsdisplay0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> uvideo0 detached
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
> video0 at uvideo0


diff --git a/sys/dev/usb/uvideo.c b/sys/dev/usb/uvideo.c
index d33e3079acd..da00d0d3d0d 100644
--- a/sys/dev/usb/uvideo.c
+++ b/sys/dev/usb/uvideo.c
@@ -510,6 +510,8 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
  int i;
 
  sc->sc_udev = uaa->device;
+ sc->sc_iface = uaa->ifaceno;
+ sc->sc_nifaces = uaa->nifaces;
 
  /* Find the first unclaimed video interface. */
  for (i = 0; i < uaa->nifaces; i++) {
@@ -521,10 +523,8 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
  if (id->bInterfaceClass == UICLASS_VIDEO)
  break;
  }
- if (i == uaa->nifaces) {
- printf("%s: can't find video interface\n", DEVNAME(sc));
- return;
- }
+ if (i == uaa->nifaces)
+ goto attach;
 
  /* Find out which interface association we belong to. */
  usbd_desc_iter_init(sc->sc_udev, &iter);
@@ -540,30 +540,38 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
  break;
  desc = usbd_desc_iter_next(&iter);
  }
- if (desc == NULL) {
- printf("%s: can't find interface assoc descriptor\n",
-    DEVNAME(sc));
- return;
- }
+ if (desc != NULL) {
+ /*
+ * Claim all interfaces of our association.  Interfaces must be
+ * claimed during attach, during attach hooks is too late.
+ */
+ for (i = iad->bFirstInterface;
+    i < iad->bFirstInterface + iad->bInterfaceCount; i++) {
+ if (usbd_iface_claimed(sc->sc_udev, i)) {
+ printf("%s: interface already claimed\n",
+    DEVNAME(sc));
+ return;
+ }
+ usbd_claim_iface(sc->sc_udev, i);
+ }
 
- /*
- * Claim all interfaces of our association.  Interfaces must be
- * claimed during attach, during attach hooks is too late.
- */
- for (i = iad->bFirstInterface;
-    i < iad->bFirstInterface + iad->bInterfaceCount; i++) {
- if (usbd_iface_claimed(sc->sc_udev, i)) {
- printf("%s: interface already claimed\n",
-    DEVNAME(sc));
- return;
+ /* Remember our association by saving the first interface. */
+ sc->sc_iface = iad->bFirstInterface;
+ sc->sc_nifaces = iad->bInterfaceCount;
+ } else {
+ /* No association, so simply claim them all. */
+ for (i = 0; i < uaa->nifaces; i++) {
+ if (usbd_iface_claimed(sc->sc_udev, i))
+ continue;
+ id = usbd_get_interface_descriptor(&sc->sc_udev->ifaces[i]);
+ if (id == NULL)
+ continue;
+ if (id->bInterfaceClass == UICLASS_VIDEO)
+ usbd_claim_iface(sc->sc_udev, i);
  }
- usbd_claim_iface(sc->sc_udev, i);
  }
 
- /* Remember our association by saving the first interface. */
- sc->sc_iface = iad->bFirstInterface;
- sc->sc_nifaces = iad->bInterfaceCount;
-
+attach:
  /* maybe the device has quirks */
  sc->sc_quirk = uvideo_lookup(uaa->vendor, uaa->product);
 



OpenBSD 6.8-beta (GENERIC.MP) #0: Wed Sep 23 21:23:32 CEST 2020
    [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
real mem  = 2113323008 (2015MB)
avail mem = 2058412032 (1963MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe7490 (36 entries)
bios0: vendor Apple Computer, Inc. version "MB11.88Z.0061.B03.0610121324" date 10/12/06
bios0: Apple Computer, Inc. MacBook1,1
acpi0 at bios0: ACPI 3.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT
acpi0: wakeup devices ADP1(S3) LID0(S3) PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) USB3(S3) USB4(S3) USB7(S3) EC__(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (PCIB)
acpisbs0 at acpi0: SBS0 model "ASMB016" serial 35580 type LION oem "DP"
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: LID0
"APP0002" at acpi0 not configured
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
"PNP0A08" at acpi0 not configured
asmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20: rev 1.4f504, 203 keys
"APP0003" at acpi0 not configured
"ACPI0001" at acpi0 not configured
"IFX0101" at acpi0 not configured
acpicmos0 at acpi0
acpicpu0 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpicpu1 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpivideo0 at acpi0: GFX0
bios0: ROM list: 0xc0000/0xe600!
cpu0: Enhanced SpeedStep 1998 MHz: speeds: 2000, 1833, 1667, 1500, 1333, 1000 MHz
memory map conflict 0xe00f8000/0x1000
memory map conflict 0xfed1c000/0x4000
memory map conflict 0xfffb0000/0x30000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0x80000000, size 0x10000000
inteldrm0: apic 1 int 16, I945GM, gen 3
"Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured
vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and Frequency, rev 0x03) at pci0 dev 7 function 0 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
azalia0: codecs: Sigmatel STAC9220/1
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17
pci1 at ppb0 bus 1
mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC rev. A3 (0x2): apic 1 int 16
msk0 at mskc0 port A: address 00:16:cb:d0:c4:3c
eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16
pci2 at ppb1 bus 2
ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17
ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address 00:16:cb:bf:f6:88
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci3 at ppb2 bus 3
"AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-857, HBEA> removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
pciide0: channel 1 disabled (no drives)
pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide1: using apic 1 int 19 for native-PCI interrupt
wd0 at pciide1 channel 0 drive 1: <ST960813AS>
wd0: 16-sector PIO, LBA48, 57231MB, 117210240 sectors
wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 19
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
uvideo0: can't find video interface
uhidev0 at uhub1 port 2 configuration 1 interface 0 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 5 key codes, country code 13
wskbd0 at ukbd0: console keyboard
uhidev1 at uhub1 port 2 configuration 1 interface 1 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev1: iclass 3/1, 5 report ids
ums0 at uhidev1 reportid 2: 3 buttons
wsmouse0 at ums0 mux 0
ums1 at uhidev1 reportid 5
ums1: mouse has no X report
uhidev2 at uhub1 port 2 configuration 1 interface 2 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
uhidev2: iclass 3/0
uhid0 at uhidev2: input=1, output=0, feature=0
uhidev3 at uhub3 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR Receiver" rev 2.00/1.10 addr 2
uhidev3: iclass 3/0, 38 report ids
uhid1 at uhidev3 reportid 36: input=4, output=0, feature=0
uhid2 at uhidev3 reportid 37: input=4, output=0, feature=0
uhid3 at uhidev3 reportid 38: input=4, output=0, feature=0
uhidev4 at uhub4 port 1 configuration 1 interface 0 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
uhidev4: iclass 3/1
ukbd1 at uhidev4: 8 variable keys, 6 key codes
wskbd1 at ukbd1 mux 1
uhidev5 at uhub4 port 1 configuration 1 interface 1 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
uhidev5: iclass 3/1
ums2 at uhidev5: 5 buttons
wsmouse1 at ums2 mux 0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (d56fb6b19bfb4252.a) swap on wd0b dump on wd0b
inteldrm0: 1280x800, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)

Reply | Threaded
Open this post in threaded view
|

Re: webcam fixes and changes in -current

Jan Stary
In reply to this post by Laurence Tratt
On Aug 29 18:06:32, [hidden email] wrote:
> The first change is that MJPEG in cameras now works reliably. In essence,
> most webcams can deliver uncompressed video at a low frame rate or
> compressed (MJPEG) at a high frame rate.

Testing with a MikrOkular HD by Bresser,
a USB camera that plugs into a microscope tubus.

> ffplay -f v4l2 -list_formats all -i /dev/video0

        Compressed: mjpeg : MJPEG : 1280x720 640x480

There is no "Raw" stanza - it only emits a MJPEG stream.

>   $ video -q

        video: /dev/video has no usable YUV encodings.

This seems to agree with ffmpeg's detection.

> As that suggests, video(1) only easily supports YUY2/YUYV422.

I am unsure about "easily" - is video(1)
expected to support MJPEG at all?

> The easiest
> way to see higher frame rates I know of is to use ffmpeg. Most cameras can
> sustain 30fps (or sometimes 60fps) at high resolutions as can be seen with:
>
>   $ ffplay -f v4l2 -input_format mjpeg -video_size 1920x1080 -i /dev/video0

Works like a charm.

> If you use video chat in a browser, you should find that it can now reliably
> support higher resolutions without problems.

I can't wait to stream yeast replication live, now that I can :-)

> however, the settings are "sticky" so they effect
> subsequent programs which use the webcam.

Yes: ffplay -f v4l2 -input_format mjpeg -video_size 1280x720 -i /dev/video0
will make the next ffplay -f v4l2 -input_format mjpeg -i /dev/video0
also use 1280x720; same for 640x480.

> Overall, I think this makes webcams much more usable under OpenBSD

It's an obscure networking OS, everybody knows that.

        Thanks to all,

                Jan


Sep 24 09:02:12 mb32 /bsd: uvideo1 at uhub0 port 1 configuration 1 interface 0 "Alcor Micro MikrOkularHD" rev 2.00/0.00 addr 3
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x02 (UDESC_CONFIG)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x02
Sep 24 09:02:12 mb32 /bsd: wTotalLength=311
Sep 24 09:02:12 mb32 /bsd: bNumInterface=0x02
Sep 24 09:02:12 mb32 /bsd: bConfigurationValue=0x01
Sep 24 09:02:12 mb32 /bsd: iConfiguration=0x00
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x80
Sep 24 09:02:12 mb32 /bsd: bMaxPower=0x64
Sep 24 09:02:12 mb32 /bsd: bMaxPower=0x64
Sep 24 09:02:12 mb32 /bsd: bLength=8
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x0b (UDESC_IFACE_ASSOC)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=8
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x0b
Sep 24 09:02:12 mb32 /bsd: bFirstInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bInterfaceCount=2
Sep 24 09:02:12 mb32 /bsd: bFunctionClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bFunctionSubClass=0x03
Sep 24 09:02:12 mb32 /bsd: bFunctionProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iFunction=0x04
Sep 24 09:02:12 mb32 /bsd: iFunction=0x04
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x00
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x00
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=1
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x01
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x04
Sep 24 09:02:12 mb32 /bsd: iInterface=0x04
Sep 24 09:02:12 mb32 /bsd: bLength=13
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x01 (UDESCSUB_VC_HEADER)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=13
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x01
Sep 24 09:02:12 mb32 /bsd: bcdUVC=0x0100
Sep 24 09:02:12 mb32 /bsd: wTotalLength=79
Sep 24 09:02:12 mb32 /bsd: dwClockFrequency=30000000
Sep 24 09:02:12 mb32 /bsd: bInCollection=0x01
Sep 24 09:02:12 mb32 /bsd: bInCollection=0x01
Sep 24 09:02:12 mb32 /bsd: bLength=28
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=28
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x06
Sep 24 09:02:12 mb32 /bsd: bUnitID=0x06
Sep 24 09:02:12 mb32 /bsd: guidExtensionCode=0xb0d0bb68a461834b90b7a6215f3c4f70
Sep 24 09:02:12 mb32 /bsd: bNumControls=0x18
Sep 24 09:02:12 mb32 /bsd: bNrInPins=0x01
Sep 24 09:02:12 mb32 /bsd: bNrInPins=0x01
Sep 24 09:02:12 mb32 /bsd: bLength=18
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=18
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x02
Sep 24 09:02:12 mb32 /bsd: bTerminalID=0x01
Sep 24 09:02:12 mb32 /bsd: wTerminalType=0x0201
Sep 24 09:02:12 mb32 /bsd: bAssocTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=11
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x05 (UDESCSUB_VC_PROCESSING_UNIT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=11
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x05
Sep 24 09:02:12 mb32 /bsd: bUnitID=0x02
Sep 24 09:02:12 mb32 /bsd: bSourceID=0x01
Sep 24 09:02:12 mb32 /bsd: wMaxMultiplier=0
Sep 24 09:02:12 mb32 /bsd: bControlSize=2
Sep 24 09:02:12 mb32 /bsd: bmControls=0xff37
Sep 24 09:02:12 mb32 /bsd: iProcessing=0x00
Sep 24 09:02:12 mb32 /bsd: bmVideoStandards=0x09
Sep 24 09:02:12 mb32 /bsd: bmVideoStandards=0x09
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03
Sep 24 09:02:12 mb32 /bsd: bTerminalID=0x03
Sep 24 09:02:12 mb32 /bsd: bAssocTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: bSourceID=0x02
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05 (UDESC_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x81 (IN)
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x03 (UE_INTERRUPT)
Sep 24 09:02:12 mb32 /bsd: wMaxPacketSize=16
Sep 24 09:02:12 mb32 /bsd: bInterval=0x07
Sep 24 09:02:12 mb32 /bsd: bInterval=0x07
Sep 24 09:02:12 mb32 /bsd: bLength=5
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03 (EP_INTERRUPT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=5
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x25
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03
Sep 24 09:02:12 mb32 /bsd: wMaxTransferSize=16
Sep 24 09:02:12 mb32 /bsd: wMaxTransferSize=16
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x01
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x00
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=0
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x02
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=14
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x01 (UDESCSUB_VS_INPUT_HEADER)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=14
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x01
Sep 24 09:02:12 mb32 /bsd: bNumFormats=1
Sep 24 09:02:12 mb32 /bsd: wTotalLength=121
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x82
Sep 24 09:02:12 mb32 /bsd: bmInfo=0x00
Sep 24 09:02:12 mb32 /bsd: bTerminalLink=0x03
Sep 24 09:02:12 mb32 /bsd: bStillCaptureMethod=0x02
Sep 24 09:02:12 mb32 /bsd: bTriggerSupport=0x01
Sep 24 09:02:12 mb32 /bsd: bTriggerUsage=0x00
Sep 24 09:02:12 mb32 /bsd: bControlSize=1
Sep 24 09:02:12 mb32 /bsd: bControlSize=1
Sep 24 09:02:12 mb32 /bsd: bLength=11
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x06 (UDESCSUB_VS_FORMAT_MJPEG)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=11
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x06
Sep 24 09:02:12 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:02:12 mb32 /bsd: bNumFrameDescriptors=0x02
Sep 24 09:02:12 mb32 /bsd: bmFlags=0x01
Sep 24 09:02:12 mb32 /bsd: bDefaultFrameIndex=0x01
Sep 24 09:02:12 mb32 /bsd: bAspectRatioX=0x00
Sep 24 09:02:12 mb32 /bsd: bAspectRatioY=0x00
Sep 24 09:02:12 mb32 /bsd: bmInterlaceFlags=0x00
Sep 24 09:02:12 mb32 /bsd: bCopyProtect=0x00
Sep 24 09:02:12 mb32 /bsd: bCopyProtect=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=50
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=50
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x07
Sep 24 09:02:12 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:02:12 mb32 /bsd: bmCapabilities=0x00
Sep 24 09:02:12 mb32 /bsd: wWidth=1280
Sep 24 09:02:12 mb32 /bsd: wHeight=720
Sep 24 09:02:12 mb32 /bsd: dwMinBitRate=110592000
Sep 24 09:02:12 mb32 /bsd: dwMaxBitRate=663552000
Sep 24 09:02:12 mb32 /bsd: dwMaxVideoFrameBufferSize=2764800
Sep 24 09:02:12 mb32 /bsd: dwDefaultFrameInterval=333333
Sep 24 09:02:12 mb32 /bsd: bFrameIntervalType=0x06
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 333333
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 400000
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 500000
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 666666
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 1000000
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 2000000
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 2000000
Sep 24 09:02:12 mb32 /bsd: bLength=30
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=30
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x07
Sep 24 09:02:12 mb32 /bsd: bFrameIndex=0x02
Sep 24 09:02:12 mb32 /bsd: bmCapabilities=0x00
Sep 24 09:02:12 mb32 /bsd: wWidth=640
Sep 24 09:02:12 mb32 /bsd: wHeight=480
Sep 24 09:02:12 mb32 /bsd: dwMinBitRate=221184000
Sep 24 09:02:12 mb32 /bsd: dwMaxBitRate=221184000
Sep 24 09:02:12 mb32 /bsd: dwMaxVideoFrameBufferSize=921600
Sep 24 09:02:12 mb32 /bsd: dwDefaultFrameInterval=333333
Sep 24 09:02:12 mb32 /bsd: bFrameIntervalType=0x01
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 333333
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval = 333333
Sep 24 09:02:12 mb32 /bsd: bLength=10
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=10
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x03
Sep 24 09:02:12 mb32 /bsd: bTerminalID=0x00
Sep 24 09:02:12 mb32 /bsd: bAssocTerminal=0x05
Sep 24 09:02:12 mb32 /bsd: bSourceID=0xd0
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x02
Sep 24 09:02:12 mb32 /bsd: iTerminal=0x02
Sep 24 09:02:12 mb32 /bsd: bLength=6
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24 (CS_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x0d (UDESCSUB_VS_COLORFORMAT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=6
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x24
Sep 24 09:02:12 mb32 /bsd: bDescriptorSubtype=0x0d
Sep 24 09:02:12 mb32 /bsd: bColorPrimaries=0x01
Sep 24 09:02:12 mb32 /bsd: bTransferCharacteristics=0x01
Sep 24 09:02:12 mb32 /bsd: bMatrixCoefficients=0x04
Sep 24 09:02:12 mb32 /bsd: bMatrixCoefficients=0x04
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x01
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x01
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=1
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x02
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05 (UDESC_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x82 (IN)
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
Sep 24 09:02:12 mb32 /bsd: wMaxPacketSize=5120
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x01
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x02
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=1
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x02
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05 (UDESC_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x82 (IN)
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
Sep 24 09:02:12 mb32 /bsd: wMaxPacketSize=3072
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x01
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x03
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=1
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x02
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05 (UDESC_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x82 (IN)
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
Sep 24 09:02:12 mb32 /bsd: wMaxPacketSize=1024
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04 (UDESC_INTERFACE)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=9
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x04
Sep 24 09:02:12 mb32 /bsd: bInterfaceNumber=0x01
Sep 24 09:02:12 mb32 /bsd: bAlternateSetting=0x04
Sep 24 09:02:12 mb32 /bsd: bNumEndpoints=1
Sep 24 09:02:12 mb32 /bsd: bInterfaceClass=0x0e
Sep 24 09:02:12 mb32 /bsd: bInterfaceSubClass=0x02
Sep 24 09:02:12 mb32 /bsd: bInterfaceProtocol=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: iInterface=0x00
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05 (UDESC_ENDPOINT)
Sep 24 09:02:12 mb32 /bsd: |
Sep 24 09:02:12 mb32 /bsd: bLength=7
Sep 24 09:02:12 mb32 /bsd: bDescriptorType=0x05
Sep 24 09:02:12 mb32 /bsd: bEndpointAddress=0x82 (IN)
Sep 24 09:02:12 mb32 /bsd: bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
Sep 24 09:02:12 mb32 /bsd: wMaxPacketSize=512
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: bInterval=0x01
Sep 24 09:02:12 mb32 /bsd: uvideo1: uvideo_vc_parse_desc
Sep 24 09:02:12 mb32 /bsd: uvideo1: number of total interfaces=2
Sep 24 09:02:12 mb32 /bsd: uvideo1: number of VS interfaces=1
Sep 24 09:02:12 mb32 /bsd: uvideo1: uvideo_vs_parse_desc_format
Sep 24 09:02:12 mb32 /bsd: uvideo1: number of total format descriptors=1
Sep 24 09:02:12 mb32 /bsd: uvideo1: uvideo_vs_parse_desc_frame
Sep 24 09:02:12 mb32 /bsd: uvideo1: VS interface 0, bInterfaceNumber=0x01, numalts=5
Sep 24 09:02:12 mb32 /bsd: uvideo1: bAlternateSetting=0x00, no endpoint descriptor
Sep 24 09:02:12 mb32 /bsd: uvideo1: bAlternateSetting=0x01, bEndpointAddress=0x82, wMaxPacketSize=5120
Sep 24 09:02:12 mb32 /bsd: uvideo1: bAlternateSetting=0x02, bEndpointAddress=0x82, wMaxPacketSize=3072
Sep 24 09:02:12 mb32 /bsd: uvideo1: bAlternateSetting=0x03, bEndpointAddress=0x82, wMaxPacketSize=1024
Sep 24 09:02:12 mb32 /bsd: uvideo1: bAlternateSetting=0x04, bEndpointAddress=0x82, wMaxPacketSize=512
Sep 24 09:02:12 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:02:12 mb32 /bsd: bmHint=0x01
Sep 24 09:02:12 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:02:12 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:02:12 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:02:12 mb32 /bsd: wPFrameRate=0
Sep 24 09:02:12 mb32 /bsd: wCompQuality=0
Sep 24 09:02:12 mb32 /bsd: wCompWindowSize=0
Sep 24 09:02:12 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:02:12 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:02:12 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:02:12 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:02:12 mb32 /bsd: bmHint=0x01
Sep 24 09:02:12 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:02:12 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:02:12 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:02:12 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:02:12 mb32 /bsd: wPFrameRate=0
Sep 24 09:02:12 mb32 /bsd: wCompQuality=0
Sep 24 09:02:12 mb32 /bsd: wCompWindowSize=0
Sep 24 09:02:12 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:02:12 mb32 /bsd: dwMaxVideoFrameSize=2764800 (bytes)
Sep 24 09:02:12 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:02:12 mb32 /bsd: uvideo_attach: doing video_attach_mi
Sep 24 09:02:12 mb32 /bsd: video0 at uvideo1
Sep 24 09:02:30 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:02:31 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:02:31 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:02:59 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:02:59 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:02:59 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:03:02 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:03:02 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:03:02 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:03:04 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:03:04 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:03:04 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:05:47 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:05:47 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:05:47 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:05:53 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:05:53 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:05:53 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:06:23 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:06:23 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:06:23 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:06:37 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:06:37 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:06:37 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:07:33 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:07:33 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:07:33 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_g_fmt: current width=1280, height=720
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_s_fmt: requested width=1280, height=720
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_find_res: frame index 0: width=1280, height=720
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_find_res: frame index 1: width=640, height=480
Sep 24 09:07:44 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:07:44 mb32 /bsd: bmHint=0x01
Sep 24 09:07:44 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:07:44 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:07:44 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:07:44 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:07:44 mb32 /bsd: wPFrameRate=0
Sep 24 09:07:44 mb32 /bsd: wCompQuality=0
Sep 24 09:07:44 mb32 /bsd: wCompWindowSize=0
Sep 24 09:07:44 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:07:44 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:07:44 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:07:44 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:07:44 mb32 /bsd: bmHint=0x01
Sep 24 09:07:44 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:07:44 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:07:44 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:07:44 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:07:44 mb32 /bsd: wPFrameRate=0
Sep 24 09:07:44 mb32 /bsd: wCompQuality=0
Sep 24 09:07:44 mb32 /bsd: wCompWindowSize=0
Sep 24 09:07:44 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:07:44 mb32 /bsd: dwMaxVideoFrameSize=2764800 (bytes)
Sep 24 09:07:44 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:07:44 mb32 /bsd: uvideo1: SET commit request successfully
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_s_fmt: offered width=1280, height=720
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: count=256
Sep 24 09:07:44 mb32 /bsd: uvideo1: allocated 22118400 bytes mmap buffer
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=0, offset=0, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=1, offset=2764800, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=2, offset=5529600, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=3, offset=8294400, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=4, offset=11059200, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=5, offset=13824000, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=6, offset=16588800, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_reqbufs: index=7, offset=19353600, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=0, offset=0, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=1, offset=2764800, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=2, offset=5529600, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=3, offset=8294400, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=4, offset=11059200, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=5, offset=13824000, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=6, offset=16588800, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_querybuf: index=7, offset=19353600, length=2764800
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_vs_open
Sep 24 09:07:44 mb32 /bsd: uvideo1: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:07:44 mb32 /bsd: uvideo1: open pipe for bEndpointAddress=0x82
Sep 24 09:07:44 mb32 /bsd: uvideo1: nframes=40
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_vs_alloc_isoc
Sep 24 09:07:44 mb32 /bsd: uvideo1: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:07:44 mb32 last message repeated 2 times
Sep 24 09:07:44 mb32 /bsd: uvideo1: uvideo_vs_alloc_frame: allocated 2764800 bytes frame buffer
Sep 24 09:07:47 mb32 /bsd: uvideo1: uvideo_vs_cb: CANCELLED
Sep 24 09:07:47 mb32 last message repeated 2 times
Sep 24 09:07:47 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:07:47 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:07:58 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:07:58 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:07:58 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_s_fmt: requested width=640, height=480
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_find_res: frame index 0: width=1280, height=720
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_find_res: frame index 1: width=640, height=480
Sep 24 09:08:19 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:08:19 mb32 /bsd: bmHint=0x01
Sep 24 09:08:19 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:08:19 mb32 /bsd: bFrameIndex=0x02
Sep 24 09:08:19 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:08:19 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:08:19 mb32 /bsd: wPFrameRate=0
Sep 24 09:08:19 mb32 /bsd: wCompQuality=0
Sep 24 09:08:19 mb32 /bsd: wCompWindowSize=0
Sep 24 09:08:19 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:08:19 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:08:19 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:08:19 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:08:19 mb32 /bsd: bmHint=0x01
Sep 24 09:08:19 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:08:19 mb32 /bsd: bFrameIndex=0x02
Sep 24 09:08:19 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:08:19 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:08:19 mb32 /bsd: wPFrameRate=0
Sep 24 09:08:19 mb32 /bsd: wCompQuality=0
Sep 24 09:08:19 mb32 /bsd: wCompWindowSize=0
Sep 24 09:08:19 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:08:19 mb32 /bsd: dwMaxVideoFrameSize=921600 (bytes)
Sep 24 09:08:19 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:08:19 mb32 /bsd: uvideo1: SET commit request successfully
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_s_fmt: offered width=640, height=480
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: count=256
Sep 24 09:08:19 mb32 /bsd: uvideo1: allocated 7372800 bytes mmap buffer
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=0, offset=0, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=1, offset=921600, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=2, offset=1843200, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=3, offset=2764800, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=4, offset=3686400, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=5, offset=4608000, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=6, offset=5529600, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=7, offset=6451200, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=0, offset=0, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=1, offset=921600, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=2, offset=1843200, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=3, offset=2764800, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=4, offset=3686400, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=5, offset=4608000, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=6, offset=5529600, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=7, offset=6451200, length=921600
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_vs_open
Sep 24 09:08:19 mb32 /bsd: uvideo1: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:08:19 mb32 /bsd: uvideo1: open pipe for bEndpointAddress=0x82
Sep 24 09:08:19 mb32 /bsd: uvideo1: nframes=40
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_vs_alloc_isoc
Sep 24 09:08:19 mb32 /bsd: uvideo1: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:08:19 mb32 last message repeated 2 times
Sep 24 09:08:19 mb32 /bsd: uvideo1: uvideo_vs_alloc_frame: allocated 921600 bytes frame buffer
Sep 24 09:10:06 mb32 /bsd: uvideo1: uvideo_vs_cb: CANCELLED
Sep 24 09:10:06 mb32 last message repeated 2 times
Sep 24 09:10:06 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:10:06 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:11:39 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:11:39 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:11:39 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:11:42 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:11:42 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:11:42 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:11:46 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:11:46 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:11:46 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_g_fmt: current width=640, height=480
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_s_fmt: requested width=640, height=480
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_find_res: frame index 0: width=1280, height=720
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_find_res: frame index 1: width=640, height=480
Sep 24 09:13:19 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:13:19 mb32 /bsd: bmHint=0x01
Sep 24 09:13:19 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:19 mb32 /bsd: bFrameIndex=0x02
Sep 24 09:13:19 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:19 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:19 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:19 mb32 /bsd: wCompQuality=0
Sep 24 09:13:19 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:19 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:19 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:13:19 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:13:19 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:13:19 mb32 /bsd: bmHint=0x01
Sep 24 09:13:19 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:19 mb32 /bsd: bFrameIndex=0x02
Sep 24 09:13:19 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:19 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:19 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:19 mb32 /bsd: wCompQuality=0
Sep 24 09:13:19 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:19 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:19 mb32 /bsd: dwMaxVideoFrameSize=921600 (bytes)
Sep 24 09:13:19 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:13:19 mb32 /bsd: uvideo1: SET commit request successfully
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_s_fmt: offered width=640, height=480
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: count=256
Sep 24 09:13:19 mb32 /bsd: uvideo1: allocated 7372800 bytes mmap buffer
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=0, offset=0, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=1, offset=921600, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=2, offset=1843200, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=3, offset=2764800, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=4, offset=3686400, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=5, offset=4608000, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=6, offset=5529600, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_reqbufs: index=7, offset=6451200, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=0, offset=0, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=1, offset=921600, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=2, offset=1843200, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=3, offset=2764800, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=4, offset=3686400, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=5, offset=4608000, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=6, offset=5529600, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_querybuf: index=7, offset=6451200, length=921600
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_vs_open
Sep 24 09:13:19 mb32 /bsd: uvideo1: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:13:19 mb32 /bsd: uvideo1: open pipe for bEndpointAddress=0x82
Sep 24 09:13:19 mb32 /bsd: uvideo1: nframes=40
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_vs_alloc_isoc
Sep 24 09:13:19 mb32 /bsd: uvideo1: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:13:19 mb32 last message repeated 2 times
Sep 24 09:13:19 mb32 /bsd: uvideo1: uvideo_vs_alloc_frame: allocated 921600 bytes frame buffer
Sep 24 09:13:27 mb32 /bsd: uvideo1: uvideo_vs_cb: CANCELLED
Sep 24 09:13:27 mb32 last message repeated 2 times
Sep 24 09:13:27 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:13:27 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:13:34 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:13:34 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:13:34 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:13:37 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:13:37 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:13:38 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_s_fmt: requested width=1280, height=720
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_find_res: frame index 0: width=1280, height=720
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_find_res: frame index 1: width=640, height=480
Sep 24 09:13:52 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:13:52 mb32 /bsd: bmHint=0x01
Sep 24 09:13:52 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:52 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:13:52 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:52 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:52 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:52 mb32 /bsd: wCompQuality=0
Sep 24 09:13:52 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:52 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:52 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:13:52 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:13:52 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:13:52 mb32 /bsd: bmHint=0x01
Sep 24 09:13:52 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:52 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:13:52 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:52 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:52 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:52 mb32 /bsd: wCompQuality=0
Sep 24 09:13:52 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:52 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:52 mb32 /bsd: dwMaxVideoFrameSize=2764800 (bytes)
Sep 24 09:13:52 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:13:52 mb32 /bsd: uvideo1: SET commit request successfully
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_s_fmt: offered width=1280, height=720
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: count=256
Sep 24 09:13:52 mb32 /bsd: uvideo1: allocated 22118400 bytes mmap buffer
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=0, offset=0, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=1, offset=2764800, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=2, offset=5529600, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=3, offset=8294400, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=4, offset=11059200, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=5, offset=13824000, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=6, offset=16588800, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_reqbufs: index=7, offset=19353600, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=0, offset=0, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=1, offset=2764800, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=2, offset=5529600, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=3, offset=8294400, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=4, offset=11059200, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=5, offset=13824000, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=6, offset=16588800, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_querybuf: index=7, offset=19353600, length=2764800
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_vs_open
Sep 24 09:13:52 mb32 /bsd: uvideo1: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:13:52 mb32 /bsd: uvideo1: open pipe for bEndpointAddress=0x82
Sep 24 09:13:52 mb32 /bsd: uvideo1: nframes=40
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_vs_alloc_isoc
Sep 24 09:13:52 mb32 /bsd: uvideo1: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:13:52 mb32 last message repeated 2 times
Sep 24 09:13:52 mb32 /bsd: uvideo1: uvideo_vs_alloc_frame: allocated 2764800 bytes frame buffer
Sep 24 09:13:54 mb32 /bsd: uvideo1: uvideo_vs_cb: CANCELLED
Sep 24 09:13:54 mb32 last message repeated 2 times
Sep 24 09:13:54 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:13:54 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_g_fmt: current width=1280, height=720
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_s_fmt: requested width=1280, height=720
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_find_res: frame index 0: width=1280, height=720
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_find_res: frame index 1: width=640, height=480
Sep 24 09:13:58 mb32 /bsd: uvideo1: SET probe request successfully
Sep 24 09:13:58 mb32 /bsd: bmHint=0x01
Sep 24 09:13:58 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:58 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:13:58 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:58 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:58 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:58 mb32 /bsd: wCompQuality=0
Sep 24 09:13:58 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:58 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:58 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:13:58 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:13:58 mb32 /bsd: uvideo1: GET probe request successfully
Sep 24 09:13:58 mb32 /bsd: bmHint=0x01
Sep 24 09:13:58 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:13:58 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:13:58 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:13:58 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:13:58 mb32 /bsd: wPFrameRate=0
Sep 24 09:13:58 mb32 /bsd: wCompQuality=0
Sep 24 09:13:58 mb32 /bsd: wCompWindowSize=0
Sep 24 09:13:58 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:13:58 mb32 /bsd: dwMaxVideoFrameSize=2764800 (bytes)
Sep 24 09:13:58 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:13:58 mb32 /bsd: uvideo1: SET commit request successfully
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_s_fmt: offered width=1280, height=720
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: count=256
Sep 24 09:13:58 mb32 /bsd: uvideo1: allocated 22118400 bytes mmap buffer
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=0, offset=0, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=1, offset=2764800, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=2, offset=5529600, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=3, offset=8294400, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=4, offset=11059200, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=5, offset=13824000, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=6, offset=16588800, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_reqbufs: index=7, offset=19353600, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=0, offset=0, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=1, offset=2764800, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=2, offset=5529600, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=3, offset=8294400, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=4, offset=11059200, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=5, offset=13824000, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=6, offset=16588800, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_querybuf: index=7, offset=19353600, length=2764800
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_vs_open
Sep 24 09:13:58 mb32 /bsd: uvideo1: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:13:58 mb32 /bsd: uvideo1: open pipe for bEndpointAddress=0x82
Sep 24 09:13:58 mb32 /bsd: uvideo1: nframes=40
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_vs_alloc_isoc
Sep 24 09:13:58 mb32 /bsd: uvideo1: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:13:58 mb32 last message repeated 2 times
Sep 24 09:13:58 mb32 /bsd: uvideo1: uvideo_vs_alloc_frame: allocated 2764800 bytes frame buffer
Sep 24 09:14:08 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:14:08 mb32 /bsd: uvideo1: uvideo_vs_cb: CANCELLED
Sep 24 09:14:08 mb32 last message repeated 2 times
Sep 24 09:14:09 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:14:50 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:14:50 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:14:51 mb32 /bsd: uvideo1: uvideo_vs_free_isoc
Sep 24 09:23:59 mb32 /bsd: uvideo1: uvideo_open: sc=0xd5e7e000
Sep 24 09:23:59 mb32 /bsd: uvideo1: uvideo_close: sc=0xd5e7e000
Sep 24 09:23:59 mb32 /bsd: uvideo1: uvideo_vs_free_isoc

Reply | Threaded
Open this post in threaded view
|

Re: webcam fixes and changes in -current

Jan Stary
In reply to this post by Jan Stary
> On Sep 23 20:55:45, [hidden email] wrote:
> > On Aug 29 18:06:32, [hidden email] wrote:
> > > Lots of us have to use webcams more than we used to. There have been some
> > > recent changes in OpenBSD support for webcams that some might find useful.
> > > Most of the hard work was done by Marcus Glocker, with input from Ingo
> > > Feinerer, sc.dying, and myself.
> >
> > Thanks to all! The uvideo on my old MacBook1,1
> > (dmesg below) is back, for instance.
>
> Ah. This is with a diff (below) I got on misc earlier.
> Sorry for the confusion.

Here is the same with UVIDEO_DEBUG, if it's of any help.
I can donate the MacBook if anyone is interested.

        Jan


$ video -q
video device /dev/video:
  encodings: uyvy
  frame sizes (width x height, in pixels) and rates (in frames per second):
        320x240: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        352x288: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
        640x480: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
  controls: brightness, saturation, gamma, sharpness

messages:

Sep 24 09:58:29 mb32 /bsd: uvideo0: uvideo_open: sc=0xd580b000
Sep 24 09:58:29 mb32 /bsd: uvideo0: uvideo_find_ctrl: control not supported by device!
Sep 24 09:58:29 mb32 last message repeated 4 times
Sep 24 09:58:30 mb32 /bsd: uvideo0: uvideo_close: sc=0xd580b000
Sep 24 09:58:30 mb32 /bsd: uvideo0: uvideo_vs_free_isoc


$ video -c
video: VIDIOC_G_CTRL: Invalid argument
brightness=63
saturation=5
gamma=100
sharpness=3

messages:

Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_open: sc=0xd580b000
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_find_ctrl: control not supported by device!
Sep 24 09:58:35 mb32 last message repeated 4 times
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_s_fmt: requested width=640, height=480
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_find_res: frame index 0: width=640, height=480
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_find_res: frame index 1: width=352, height=288
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_find_res: frame index 2: width=320, height=240
Sep 24 09:58:35 mb32 /bsd: uvideo0: SET probe request successfully
Sep 24 09:58:35 mb32 /bsd: bmHint=0x01
Sep 24 09:58:35 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:35 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:35 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:35 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wCompQuality=0
Sep 24 09:58:35 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:35 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:58:35 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:58:35 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:58:35 mb32 /bsd: uvideo0: GET probe request successfully
Sep 24 09:58:35 mb32 /bsd: bmHint=0x00
Sep 24 09:58:35 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:35 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:35 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:35 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wCompQuality=0
Sep 24 09:58:35 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:35 mb32 /bsd: wDelay=33 (ms)
Sep 24 09:58:35 mb32 /bsd: dwMaxVideoFrameSize=614400 (bytes)
Sep 24 09:58:35 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:58:35 mb32 /bsd: fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
Sep 24 09:58:35 mb32 /bsd: uvideo0: SET commit request successfully
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_s_fmt: offered width=640, height=480
Sep 24 09:58:35 mb32 /bsd: uvideo0: SET probe request successfully
Sep 24 09:58:35 mb32 /bsd: bmHint=0x01
Sep 24 09:58:35 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:35 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:35 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:35 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wCompQuality=0
Sep 24 09:58:35 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:35 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:58:35 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:58:35 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:58:35 mb32 /bsd: uvideo0: GET probe request successfully
Sep 24 09:58:35 mb32 /bsd: bmHint=0x00
Sep 24 09:58:35 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:35 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:35 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:35 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:35 mb32 /bsd: wCompQuality=0
Sep 24 09:58:35 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:35 mb32 /bsd: wDelay=33 (ms)
Sep 24 09:58:35 mb32 /bsd: dwMaxVideoFrameSize=614400 (bytes)
Sep 24 09:58:35 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:58:35 mb32 /bsd: fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
Sep 24 09:58:35 mb32 /bsd: uvideo0: SET commit request successfully
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_reqbufs: count=4
Sep 24 09:58:35 mb32 /bsd: uvideo0: allocated 2457600 bytes mmap buffer
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_reqbufs: index=0, offset=0, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_reqbufs: index=1, offset=614400, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_reqbufs: index=2, offset=1228800, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_reqbufs: index=3, offset=1843200, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_querybuf: index=0, offset=0, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_querybuf: index=1, offset=614400, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_querybuf: index=2, offset=1228800, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_querybuf: index=3, offset=1843200, length=614400
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_vs_open
Sep 24 09:58:35 mb32 /bsd: uvideo0: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:58:35 mb32 /bsd: uvideo0: open pipe for bEndpointAddress=0x82
Sep 24 09:58:35 mb32 /bsd: uvideo0: nframes=40
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_vs_alloc_isoc
Sep 24 09:58:35 mb32 /bsd: uvideo0: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:58:35 mb32 last message repeated 2 times
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_vs_alloc_frame: allocated 614400 bytes frame buffer
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_find_ctrl: control not supported by device!
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_vs_cb: CANCELLED
Sep 24 09:58:35 mb32 last message repeated 2 times
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_close: sc=0xd580b000
Sep 24 09:58:35 mb32 /bsd: uvideo0: uvideo_vs_free_isoc


$ video
video: VIDIOC_G_CTRL: Invalid argument

messages:

Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_open: sc=0xd580b000
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_find_ctrl: control not supported by device!
Sep 24 09:58:39 mb32 last message repeated 4 times
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_s_fmt: requested width=640, height=480
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_find_res: frame index 0: width=640, height=480
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_find_res: frame index 1: width=352, height=288
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_find_res: frame index 2: width=320, height=240
Sep 24 09:58:39 mb32 /bsd: uvideo0: SET probe request successfully
Sep 24 09:58:39 mb32 /bsd: bmHint=0x01
Sep 24 09:58:39 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:39 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:39 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:39 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wCompQuality=0
Sep 24 09:58:39 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:39 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:58:39 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:58:39 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:58:39 mb32 /bsd: uvideo0: GET probe request successfully
Sep 24 09:58:39 mb32 /bsd: bmHint=0x00
Sep 24 09:58:39 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:39 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:39 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:39 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wCompQuality=0
Sep 24 09:58:39 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:39 mb32 /bsd: wDelay=33 (ms)
Sep 24 09:58:39 mb32 /bsd: dwMaxVideoFrameSize=614400 (bytes)
Sep 24 09:58:39 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:58:39 mb32 /bsd: fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
Sep 24 09:58:39 mb32 /bsd: uvideo0: SET commit request successfully
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_s_fmt: offered width=640, height=480
Sep 24 09:58:39 mb32 /bsd: uvideo0: SET probe request successfully
Sep 24 09:58:39 mb32 /bsd: bmHint=0x01
Sep 24 09:58:39 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:39 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:39 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:39 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wCompQuality=0
Sep 24 09:58:39 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:39 mb32 /bsd: wDelay=0 (ms)
Sep 24 09:58:39 mb32 /bsd: dwMaxVideoFrameSize=0 (bytes)
Sep 24 09:58:39 mb32 /bsd: dwMaxPayloadTransferSize=0 (bytes)
Sep 24 09:58:39 mb32 /bsd: uvideo0: GET probe request successfully
Sep 24 09:58:39 mb32 /bsd: bmHint=0x00
Sep 24 09:58:39 mb32 /bsd: bFormatIndex=0x01
Sep 24 09:58:39 mb32 /bsd: bFrameIndex=0x01
Sep 24 09:58:39 mb32 /bsd: dwFrameInterval=333333 (100ns units)
Sep 24 09:58:39 mb32 /bsd: wKeyFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wPFrameRate=0
Sep 24 09:58:39 mb32 /bsd: wCompQuality=0
Sep 24 09:58:39 mb32 /bsd: wCompWindowSize=0
Sep 24 09:58:39 mb32 /bsd: wDelay=33 (ms)
Sep 24 09:58:39 mb32 /bsd: dwMaxVideoFrameSize=614400 (bytes)
Sep 24 09:58:39 mb32 /bsd: dwMaxPayloadTransferSize=3072 (bytes)
Sep 24 09:58:39 mb32 /bsd: fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
Sep 24 09:58:39 mb32 /bsd: uvideo0: SET commit request successfully
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_reqbufs: count=4
Sep 24 09:58:39 mb32 /bsd: uvideo0: allocated 2457600 bytes mmap buffer
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_reqbufs: index=0, offset=0, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_reqbufs: index=1, offset=614400, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_reqbufs: index=2, offset=1228800, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_reqbufs: index=3, offset=1843200, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_querybuf: index=0, offset=0, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_querybuf: index=1, offset=614400, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_querybuf: index=2, offset=1228800, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_querybuf: index=3, offset=1843200, length=614400
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_vs_open
Sep 24 09:58:39 mb32 /bsd: uvideo0: set alternate iface to bAlternateSetting=0x01 psize=3072 max_packet_size=3072
Sep 24 09:58:39 mb32 /bsd: uvideo0: open pipe for bEndpointAddress=0x82
Sep 24 09:58:39 mb32 /bsd: uvideo0: nframes=40
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_vs_alloc_isoc
Sep 24 09:58:39 mb32 /bsd: uvideo0: allocated 122880 bytes isoc VS xfer buffer
Sep 24 09:58:39 mb32 last message repeated 2 times
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_vs_alloc_frame: allocated 614400 bytes frame buffer
Sep 24 09:58:39 mb32 /bsd: uvideo0: uvideo_find_ctrl: control not supported by device!


After some timeout (I didn't press q), video(1) says

video: ioctl VIDIOC_DQBUF: Invalid argument

and messages say:

Sep 24 09:58:49 mb32 /bsd: uvideo0: uvideo_vs_cb: CANCELLED
Sep 24 09:58:49 mb32 last message repeated 2 times
Sep 24 09:58:49 mb32 /bsd: uvideo0: uvideo_close: sc=0xd580b000
Sep 24 09:58:50 mb32 /bsd: uvideo0: uvideo_vs_free_isoc


        Jan

> > OpenBSD 6.8-beta (GENERIC.MP) #0: Wed Sep 23 13:07:51 CEST 2020
> >     [hidden email]:/usr/src/sys/arch/i386/compile/GENERIC.MP
> > real mem  = 2113323008 (2015MB)
> > avail mem = 2058436608 (1963MB)
> > random: good seed from bootblocks
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe7490 (36 entries)
> > bios0: vendor Apple Computer, Inc. version "MB11.88Z.0061.B03.0610121324" date 10/12/06
> > bios0: Apple Computer, Inc. MacBook1,1
> > acpi0 at bios0: ACPI 3.0
> > acpi0: sleep states S0 S3 S4 S5
> > acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT
> > acpi0: wakeup devices ADP1(S3) LID0(S3) PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) USB3(S3) USB4(S3) USB7(S3) EC__(S3)
> > acpitimer0 at acpi0: 3579545 Hz, 24 bits
> > acpihpet0 at acpi0: 14318179 Hz
> > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> > cpu0 at mainbus0: apid 0 (boot processor)
> > cpu0: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
> > cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
> > mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> > cpu0: apic clock running at 166MHz
> > cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
> > cpu1 at mainbus0: apid 1 (application processor)
> > cpu1: Genuine Intel(R) CPU T2500 @ 2.00GHz ("GenuineIntel" 686-class) 2 GHz, 06-0e-08
> > cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
> > ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped
> > acpimcfg0 at acpi0
> > acpimcfg0: addr 0xe0000000, bus 0-255
> > acpiec0 at acpi0
> > acpiprt0 at acpi0: bus 0 (PCI0)
> > acpiprt1 at acpi0: bus 1 (RP01)
> > acpiprt2 at acpi0: bus 2 (RP02)
> > acpiprt3 at acpi0: bus 3 (PCIB)
> > acpisbs0 at acpi0: SBS0 model "ASMB016" serial 35580 type LION oem "DP"
> > acpiac0 at acpi0: AC unit online
> > acpibtn0 at acpi0: LID0
> > "APP0002" at acpi0 not configured
> > acpibtn1 at acpi0: PWRB
> > acpibtn2 at acpi0: SLPB
> > "PNP0A08" at acpi0 not configured
> > asmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20: rev 1.4f504, 203 keys
> > "APP0003" at acpi0 not configured
> > "ACPI0001" at acpi0 not configured
> > "IFX0101" at acpi0 not configured
> > acpicmos0 at acpi0
> > acpicpu0 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
> > acpicpu1 at acpi0: !C4(100@55 mwait@0x31), !C3(500@1 mwait@0x20), !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
> > acpivideo0 at acpi0: GFX0
> > bios0: ROM list: 0xc0000/0xe600!
> > cpu0: Enhanced SpeedStep 1998 MHz: speeds: 2000, 1833, 1667, 1500, 1333, 1000 MHz
> > memory map conflict 0xe00f8000/0x1000
> > memory map conflict 0xfed1c000/0x4000
> > memory map conflict 0xfffb0000/0x30000
> > pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> > pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
> > inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
> > drm0 at inteldrm0
> > intagp0 at inteldrm0
> > agp0 at intagp0: aperture at 0x80000000, size 0x10000000
> > inteldrm0: apic 1 int 16, I945GM, gen 3
> > "Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured
> > vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and Frequency, rev 0x03) at pci0 dev 7 function 0 not configured
> > azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
> > azalia0: codecs: Sigmatel STAC9220/1
> > audio0 at azalia0
> > ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17
> > pci1 at ppb0 bus 1
> > mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC rev. A3 (0x2): apic 1 int 16
> > msk0 at mskc0 port A: address 00:16:cb:d0:c4:3c
> > eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2
> > ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16
> > pci2 at ppb1 bus 2
> > ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17
> > ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address 00:16:cb:bf:f6:88
> > uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21
> > uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19
> > uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18
> > uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16
> > ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21
> > usb0 at ehci0: USB revision 2.0
> > uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> > ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
> > pci3 at ppb2 bus 3
> > "AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured
> > ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
> > pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
> > atapiscsi0 at pciide0 channel 0 drive 0
> > scsibus1 at atapiscsi0: 2 targets
> > cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-857, HBEA> removable
> > cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
> > pciide0: channel 1 disabled (no drives)
> > pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
> > pciide1: using apic 1 int 19 for native-PCI interrupt
> > wd0 at pciide1 channel 0 drive 1: <ST960813AS>
> > wd0: 16-sector PIO, LBA48, 57231MB, 117210240 sectors
> > wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
> > ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 19
> > iic0 at ichiic0
> > spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
> > usb1 at uhci0: USB revision 1.0
> > uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> > usb2 at uhci1: USB revision 1.0
> > uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> > usb3 at uhci2: USB revision 1.0
> > uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> > usb4 at uhci3: USB revision 1.0
> > uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> > isa0 at ichpcib0
> > isadma0 at isa0
> > pcppi0 at isa0 port 0x61
> > spkr0 at pcppi0
> > npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
> > uvideo0 at uhub0 port 4 configuration 1 interface 0 "Apple Computer Bluetooth" rev 2.00/0.0c addr 2
> > uhidev0 at uhub1 port 2 configuration 1 interface 0 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> > uhidev0: iclass 3/1
> > ukbd0 at uhidev0: 8 variable keys, 5 key codes, country code 13
> > wskbd0 at ukbd0: console keyboard
> > uhidev1 at uhub1 port 2 configuration 1 interface 1 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> > uhidev1: iclass 3/1, 5 report ids
> > ums0 at uhidev1 reportid 2: 3 buttons
> > wsmouse0 at ums0 mux 0
> > ums1 at uhidev1 reportid 5
> > ums1: mouse has no X report
> > uhidev2 at uhub1 port 2 configuration 1 interface 2 "Apple Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.09 addr 2
> > uhidev2: iclass 3/0
> > uhid0 at uhidev2: input=1, output=0, feature=0
> > uhidev3 at uhub3 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR Receiver" rev 2.00/1.10 addr 2
> > uhidev3: iclass 3/0, 38 report ids
> > uhid1 at uhidev3 reportid 36: input=4, output=0, feature=0
> > uhid2 at uhidev3 reportid 37: input=4, output=0, feature=0
> > uhid3 at uhidev3 reportid 38: input=4, output=0, feature=0
> > uhidev4 at uhub4 port 1 configuration 1 interface 0 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
> > uhidev4: iclass 3/1
> > ukbd1 at uhidev4: 8 variable keys, 6 key codes
> > wskbd1 at ukbd1 mux 1
> > uhidev5 at uhub4 port 1 configuration 1 interface 1 "Apple Computer HID-proxy" rev 2.00/19.65 addr 2
> > uhidev5: iclass 3/1
> > ums2 at uhidev5: 5 buttons
> > wsmouse1 at ums2 mux 0
> > vscsi0 at root
> > scsibus2 at vscsi0: 256 targets
> > softraid0 at root
> > scsibus3 at softraid0: 256 targets
> > root on wd0a (d56fb6b19bfb4252.a) swap on wd0b dump on wd0b
> > inteldrm0: 1280x800, 32bpp
> > wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> > wskbd1: connecting to wsdisplay0
> > wsdisplay0: screen 1-5 added (std, vt100 emulation)
> > uvideo0 detached
> > uvideo0 at uhub0 port 4 configuration 1 interface 0 "Micron Built-in iSight" rev 2.00/1.84 addr 2
> > video0 at uvideo0
>
>
> diff --git a/sys/dev/usb/uvideo.c b/sys/dev/usb/uvideo.c
> index d33e3079acd..da00d0d3d0d 100644
> --- a/sys/dev/usb/uvideo.c
> +++ b/sys/dev/usb/uvideo.c
> @@ -510,6 +510,8 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
>   int i;
>  
>   sc->sc_udev = uaa->device;
> + sc->sc_iface = uaa->ifaceno;
> + sc->sc_nifaces = uaa->nifaces;
>  
>   /* Find the first unclaimed video interface. */
>   for (i = 0; i < uaa->nifaces; i++) {
> @@ -521,10 +523,8 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
>   if (id->bInterfaceClass == UICLASS_VIDEO)
>   break;
>   }
> - if (i == uaa->nifaces) {
> - printf("%s: can't find video interface\n", DEVNAME(sc));
> - return;
> - }
> + if (i == uaa->nifaces)
> + goto attach;
>  
>   /* Find out which interface association we belong to. */
>   usbd_desc_iter_init(sc->sc_udev, &iter);
> @@ -540,30 +540,38 @@ uvideo_attach(struct device *parent, struct device *self, void *aux)
>   break;
>   desc = usbd_desc_iter_next(&iter);
>   }
> - if (desc == NULL) {
> - printf("%s: can't find interface assoc descriptor\n",
> -    DEVNAME(sc));
> - return;
> - }
> + if (desc != NULL) {
> + /*
> + * Claim all interfaces of our association.  Interfaces must be
> + * claimed during attach, during attach hooks is too late.
> + */
> + for (i = iad->bFirstInterface;
> +    i < iad->bFirstInterface + iad->bInterfaceCount; i++) {
> + if (usbd_iface_claimed(sc->sc_udev, i)) {
> + printf("%s: interface already claimed\n",
> +    DEVNAME(sc));
> + return;
> + }
> + usbd_claim_iface(sc->sc_udev, i);
> + }
>  
> - /*
> - * Claim all interfaces of our association.  Interfaces must be
> - * claimed during attach, during attach hooks is too late.
> - */
> - for (i = iad->bFirstInterface;
> -    i < iad->bFirstInterface + iad->bInterfaceCount; i++) {
> - if (usbd_iface_claimed(sc->sc_udev, i)) {
> - printf("%s: interface already claimed\n",
> -    DEVNAME(sc));
> - return;
> + /* Remember our association by saving the first interface. */
> + sc->sc_iface = iad->bFirstInterface;
> + sc->sc_nifaces = iad->bInterfaceCount;
> + } else {
> + /* No association, so simply claim them all. */
> + for (i = 0; i < uaa->nifaces; i++) {
> + if (usbd_iface_claimed(sc->sc_udev, i))
> + continue;
> + id = usbd_get_interface_descriptor(&sc->sc_udev->ifaces[i]);
> + if (id == NULL)
> + continue;
> + if (id->bInterfaceClass == UICLASS_VIDEO)
> + usbd_claim_iface(sc->sc_udev, i);
>   }
> - usbd_claim_iface(sc->sc_udev, i);
>   }
>  
> - /* Remember our association by saving the first interface. */
> - sc->sc_iface = iad->bFirstInterface;
> - sc->sc_nifaces = iad->bInterfaceCount;
> -
> +attach:
>   /* maybe the device has quirks */
>   sc->sc_quirk = uvideo_lookup(uaa->vendor, uaa->product);