Index | Thread | Search

From:
"requiem." <rqm@0xde501a7a.net>
Subject:
Re: uvideo.c Logitech QuickCam Pro5000 does not attach uvideo only uadio (7.9-current)
To:
"Kirill A. Korinsky" <kirill@korins.ky>
Cc:
tech@openbsd.org
Date:
Tue, 2 Jun 2026 14:20:53 +0100

Download raw body.

Thread
On Tue, 02 Jun 2026 02:18:48 +0200
Kirill A. Korinsky <kirill@korins.ky> wrote:

> On Tue, 02 Jun 2026 00:11:15 +0200,
> "requiem." <rqm@0xde501a7a.net> wrote:
> > 
> > Dear Tech@,
> > 
> > I recently got a Logitech QuickCam Pro 5000 for a small project
> > deliberately because the uvideo(4) manpage lists it as supported. 
> > 
> > For reference, `uvideo-firmware` is installed and `sysctl
> > kern.video.record` is enabled. I have used `video(1)` successfully
> > with cheapie USB microcopes etc.
> > 
> > However for the Logitech QuickCam Pro 5K it seems the video device
> > just does not attach:
> > 
> > ```
> > $ tail -f /var/log/messages
> > Jun  1 203507 r0cinante /bsd: uaudio0 at uhub0 port 11
> > configuration 1 interface 3 "Logitech QuickCam Pro 5000" rev
> > 2.00/0.05 addr 4 Jun  1 203507 r0cinante /bsd: uaudio0: class v1,
> > high-speed, sync, channels: 0 play, 1 rec, 2 ctls Jun  1 203507
> > r0cinante /bsd: audio1 at uaudio0 Jun 1 203507 r0cinante /bsd:
> > ugen0 at uhub0 port 11 configuration 1 "Logitech QuickCam Pro 5000"
> > rev 2.00/0.05 addr 4 ```
> > 
> > There is no attached uvideo device.
> > 
> > usbdevs -vvvv says,
> > 
> > ```
> > addr 08: 046d:08c5 Logitech, QuickCam Pro 5000
> >  high speed, power 500 mA, config 1, rev 0.05, iSerial 0EE65192
> >  driver: uaudio1
> >  driver: ugen0
> > ```
> > Again, no uvideo device.
> > 
> > As the CVS commit history for uvideo.c already mentions some issues
> > with the QuickCam models upon the suggestion of a friend I
> > compiled with the following quick hack made to the existing quirks: 
> > 
> > ```
> > Index: uvideo.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/usb/uvideo.c,v
> > diff -u -p -r1.265 uvideo.c
> > --- uvideo.c    6 Sep 2025 13:45:41 -0000       1.265
> > +++ uvideo.c    1 Jun 2026 20:03:49 -0000
> > @@ -387,7 +387,7 @@ const struct uvideo_devs {
> >             UVIDEO_FLAG_ISIGHT_STREAM_HEADER
> >         },
> >         {   /* Incorrectly reports as
> > bInterfaceClass=UICLASS_VENDOR */
> > -           { USB_VENDOR_LOGITECH,
> > USB_PRODUCT_LOGITECH_QUICKCAMOEM_1 },
> > +           { USB_VENDOR_LOGITECH,
> > USB_PRODUCT_LOGITECH_QUICKCAMPRO5K_1 }, NULL,
> >             NULL,
> >             UVIDEO_FLAG_VENDOR_CLASS
> > ```
> > 
> > This gets me an attaching uvideo0 device in dmesg but /dev/video
> > still won't work because it "can't find video interface"
> > 
> > dmesg says the following with the custom kernel:
> > ```
> > uvideo0 at uhub0 port 11 configuration 1 interface 0 "Logitech
> > QuickCam Pro 5000" rev 2.00/0.05 addr 6 uvideo0: can't find video
> > interface uaudio1 at uhub0 port 11 configuration 1 interface 3
> > "Logitech QuickCam Pro 5000" rev 2.00/0.05 addr 6 uaudio1: class
> > v1, high-speed, sync, channels: 0 play, 1 rec, 2 ctls
> > ```
> > 
> > And `video` still fails with,
> > ```
> > $ video
> > video: /dev/video: Device not configured
> > ```
> > 
> > Just to test, I tried adding a new definition for QUICKCAMPRO5K_1
> > with "NULL, NULL, 0" instead of "NULL, NULL,
> > UVIDEO_FLAG_VENDOR_CLASS" but that got me back to no video device
> > attaching at all.
> > 
> > So it seems to me that there is something strange going on with the
> > QuickCam still, possibly the quirk configuration already in
> > uvideo.c is not working somehow?
> > 
> > But I'm afraid this is where I exhausted all knowledge available to
> > me. Might you be able to please look at this?
> > 
> > Dmesg.boot and output of usbdevs -vvvv for both the patched and the
> > stock kernel (-current) attached.
> > 
> > Yours
> > 
> > rqm
> 
> May I ask you to try this diff?
> 
> It is compiled tested only.
> 
> If it moved forward but still doesn't work, please, rebuild kernel
> with UVIDEO_DEBUG, you may add define at line 40 at uvideo.c, it't
> enough.
> 
> It should dump all descriptors which should be enough to figure out
> does it picks the right interface or not.
> 
> Index: sys/dev/usb/uvideo.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/usb/uvideo.c,v
> diff -u -p -r1.265 uvideo.c
> --- sys/dev/usb/uvideo.c	6 Sep 2025 13:45:41 -0000	1.265
> +++ sys/dev/usb/uvideo.c	2 Jun 2026 00:16:55 -0000
> @@ -392,6 +392,12 @@ const struct uvideo_devs {
>  	    NULL,
>  	    UVIDEO_FLAG_VENDOR_CLASS
>  	},
> +	{   /* Incorrectly reports as bInterfaceClass=UICLASS_VENDOR
> */
> +	    { USB_VENDOR_LOGITECH,
> USB_PRODUCT_LOGITECH_QUICKCAMPRO5K_1 },
> +	    NULL,
> +	    NULL,
> +	    UVIDEO_FLAG_VENDOR_CLASS
> +	},
>  	{   /* Infrared camera not supported */
>  	    { USB_VENDOR_CHICONY, USB_PRODUCT_CHICONY_IRCAMERA },
>  	    NULL,
> @@ -556,10 +562,13 @@ uvideo_attach(struct device *parent, str
>  	usb_interface_descriptor_t *id;
>  	const usb_descriptor_t *desc;
>  	struct usbd_desc_iter iter;
> +	const struct uvideo_devs *quirk;
>  	int i;
>  
>  	sc->sc_udev = uaa->device;
>  
> +	quirk = uvideo_lookup(uaa->vendor, uaa->product);
> +
>  	/* Find the first unclaimed video interface. */
>  	for (i = 0; i < uaa->nifaces; i++) {
>  		if (usbd_iface_claimed(sc->sc_udev, i))
> @@ -568,6 +577,10 @@ uvideo_attach(struct device *parent, str
>  		if (id == NULL)
>  			continue;
>  		if (id->bInterfaceClass == UICLASS_VIDEO)
> +			break;
> +		if (quirk != NULL &&
> +		    quirk->flags & UVIDEO_FLAG_VENDOR_CLASS &&
> +		    id->bInterfaceClass == UICLASS_VENDOR)
>  			break;
>  	}
>  	if (i == uaa->nifaces) {
> 
> 

Hello Kirill,

The patch worked like a charm! See attached screenshot. :) 


```
$ tail /var/log/messages
Jun  2 14:14:11 r0cinante /bsd: uvideo0 at uhub0 port 11 configuration
1 interface 0 "Logitech QuickCam Pro 5000" rev 2.00/0.05 addr 8
Jun  2 14:14:11 r0cinante /bsd: video0 at uvideo0
Jun  2 14:14:11 r0cinante /bsd: uaudio1 at uhub0 port 11 configuration
1 interface 3 "Logitech QuickCam Pro 5000" rev 2.00/0.05 addr 8
Jun  2 14:14:11 r0cinante /bsd: uaudio1: class v1, high-speed, sync,
channels: 0 play, 1 rec, 2 ctls Jun  2 14:14:11 r0cinante /bsd: audio2
at uaudio1

```

I also recompiled the kernel, just to be thorough, with
`UVIDEO_DEBUG` added, as you suggested. I attach the dmesg.boot with the
flag enabled for your reference, but as I said the webcam works with
the patch regardless.

Thank you so much for the quick response and for the patch. Hope this
makes it into -current! :)

Yours

requiem 

OpenBSD 7.9-current (GENERIC.MP) #5: Tue Jun  2 13:52:25 BST 2026
    kls@buildebeast.0xde501a7a.xyz:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 16943927296 (16158MB)
avail mem = 16402386944 (15642MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xd6d80000 (88 entries)
bios0: vendor LENOVO version "M1AKT59A" date 10/27/2023
bios0: LENOVO 10MQS4HG00
efi0 at bios0: UEFI 2.5
efi0: American Megatrends rev 0x5000c
acpi0 at bios0: ACPI 6.1
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT MCFG SSDT FIDT SLIC MSDM SSDT SSDT HPET SSDT UEFI SSDT LPIT WSMT SSDT SSDT DBGP DBG2 DMAR BGRT TPM2 LUFT ASF!
acpi0: wakeup devices PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PEGP(S4) SIO1(S3) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) RP12(S4) PXSX(S4) RP13(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i3-6300T CPU @ 3.30GHz, 3192.57 MHz, 06-5e-03, patch 000000f0
cpu0: cpuid 1 edx=bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> ecx=77fafbbf<SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND>
cpu0: cpuid 6 eax=27f7<SENSOR,ARAT,PTS> ecx=9<EFFFREQ>
cpu0: cpuid 7.0 ebx=29c67af<FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT> edx=bc002e00<SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD>
cpu0: cpuid a vers=4, gp=4, gpwidth=48, ff=3, ffwidth=48
cpu0: cpuid d.1 eax=f<XSAVEOPT,XSAVEC,XGETBV1,XSAVES>
cpu0: cpuid 80000001 edx=2c100800<NXE,PAGE1GB,RDTSCP,LONG> ecx=121<LAHF,ABM,3DNOWP>
cpu0: cpuid 80000007 edx=100<ITSC>
cpu0: msr 10a=c04<RSBA,MISC_PKG_CT,ENERGY_FILT>
cpu0: MELTDOWN
cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line 4-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu0: smt 0, core 0, package 0, type P
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 24MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i3-6300T CPU @ 3.30GHz, 3192.56 MHz, 06-5e-03, patch 000000f0
cpu1: smt 0, core 1, package 0, type P
cpu2 at mainbus0: apid 1 (application processor)
cpu2: Intel(R) Core(TM) i3-6300T CPU @ 3.30GHz, 3192.56 MHz, 06-5e-03, patch 000000f0
cpu2: smt 1, core 0, package 0, type SP
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Core(TM) i3-6300T CPU @ 3.30GHz, 3192.56 MHz, 06-5e-03, patch 000000f0
cpu3: smt 1, core 1, package 0, type SP
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 23999999 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (PEG0)
acpiprt2 at acpi0: bus -1 (PEG1)
acpiprt3 at acpi0: bus -1 (PEG2)
acpiprt4 at acpi0: bus -1 (RP09)
acpiprt5 at acpi0: bus -1 (RP10)
acpiprt6 at acpi0: bus -1 (RP11)
acpiprt7 at acpi0: bus -1 (RP12)
acpiprt8 at acpi0: bus -1 (RP13)
acpiprt9 at acpi0: bus -1 (RP01)
acpiprt10 at acpi0: bus -1 (RP02)
acpiprt11 at acpi0: bus -1 (RP03)
acpiprt12 at acpi0: bus -1 (RP04)
acpiprt13 at acpi0: bus -1 (RP05)
acpiprt14 at acpi0: bus -1 (RP06)
acpiprt15 at acpi0: bus -1 (RP07)
acpiprt16 at acpi0: bus -1 (RP08)
acpiprt17 at acpi0: bus -1 (RP17)
acpiprt18 at acpi0: bus -1 (RP18)
acpiprt19 at acpi0: bus -1 (RP19)
acpiprt20 at acpi0: bus -1 (RP20)
acpiprt21 at acpi0: bus -1 (RP21)
acpiprt22 at acpi0: bus -1 (RP22)
acpiprt23 at acpi0: bus -1 (RP23)
acpiprt24 at acpi0: bus -1 (RP24)
acpiprt25 at acpi0: bus -1 (RP14)
acpiprt26 at acpi0: bus -1 (RP15)
acpiprt27 at acpi0: bus -1 (RP16)
acpiec0 at acpi0: not present
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
com0 at acpi0 UAR1 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
acpicmos0 at acpi0
acpibtn0 at acpi0: SLPB
"PNP0C14" at acpi0 not configured
intelpmc0 at acpi0: PEPD
state 0: 0x7f:1:2:0x00:0x0000000000000060
counter: 0x7f:64:0:0x00:0x0000000000000632
frequency: 0
state 1: 0x7f:1:2:0x00:0x0000000000000060
counter: 0x00:32:0:0x03:0x00000000fe00013c
frequency: 10000
acpibtn1 at acpi0: PWRB
tpm0 at acpi0 TPM_ 2.0 (TIS) addr 0xfed40000/0x5000, device 0x001b15d1 rev 0x10
"PNP0C14" at acpi0 not configured
"LEN4001" at acpi0 not configured
acpicpu0 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: C3(200@256 mwait.1@0x40), C2(200@151 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: PG00, resource for PEG0
acpipwrres1 at acpi0: PG01, resource for PEG1
acpipwrres2 at acpi0: PG02, resource for PEG2
acpipwrres3 at acpi0: WRST
acpipwrres4 at acpi0: WRST
acpipwrres5 at acpi0: WRST
acpipwrres6 at acpi0: WRST
acpipwrres7 at acpi0: WRST
acpipwrres8 at acpi0: WRST
acpipwrres9 at acpi0: WRST
acpipwrres10 at acpi0: WRST
acpipwrres11 at acpi0: WRST
acpipwrres12 at acpi0: WRST
acpipwrres13 at acpi0: WRST
acpipwrres14 at acpi0: WRST
acpipwrres15 at acpi0: WRST
acpipwrres16 at acpi0: WRST
acpipwrres17 at acpi0: WRST
acpipwrres18 at acpi0: WRST
acpipwrres19 at acpi0: WRST
acpipwrres20 at acpi0: WRST
acpipwrres21 at acpi0: WRST
acpipwrres22 at acpi0: WRST
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
cpu0: using VERW MDS workaround (except on vmm entry)
cpu0: Enhanced SpeedStep 3192 MHz: speeds: 3201, 3200, 3100, 2800, 2700, 2600, 2400, 2200, 2000, 1900, 1700, 1500, 1300, 1200, 1000, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 6G Host" rev 0x07
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 530" rev 0x06
drm0 at inteldrm0
inteldrm0: msi, SKYLAKE, gen 9
xhci0 at pci0 dev 20 function 0 "Intel 200 Series xHCI" rev 0x00: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
"Intel 200 Series Thermal" rev 0x00 at pci0 dev 20 function 2 not configured
"Intel 200 Series MEI" rev 0x00 at pci0 dev 22 function 0 not configured
ahci0 at pci0 dev 23 function 0 "Intel 200 Series AHCI" rev 0x00: msi, AHCI 1.3.1
ahci0: port 0: 6.0Gb/s
ahci0: PHY offline on port 1
ahci0: PHY offline on port 2
ahci0: PHY offline on port 3
ahci0: PHY offline on port 4
ahci0: PHY offline on port 5
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7LN256, MVT0> naa.5002538d42eb72d5
sd0: 244198MB, 512 bytes/sector, 500118192 sectors, thin
ppb0 at pci0 dev 27 function 0 "Intel 200 Series PCIE" rev 0xf0: msi
pci1 at ppb0 bus 1
nvme0 at pci1 dev 0 function 0 vendor "Kingston", unknown product 0x501c rev 0x01: msix, NVMe 1.4
nvme0: KINGSTON SNV2S500G, firmware EJFK3N.9, serial 50026B7785A07ECF
scsibus2 at nvme0: 2 targets, initiator 0
sd1 at scsibus2 targ 1 lun 0: <NVMe, KINGSTON SNV2S50, EJFK>
sd1: 476940MB, 512 bytes/sector, 976773168 sectors
pcib0 at pci0 dev 31 function 0 "Intel B250 LPC" rev 0x00
"Intel 200 Series PMC" rev 0x00 at pci0 dev 31 function 2 not configured
azalia0 at pci0 dev 31 function 3 "Intel 200 Series HD Audio" rev 0x00: msi
azalia0: codecs: Realtek ALC294, Intel/0x2809, using Realtek ALC294
audio0 at azalia0
ichiic0 at pci0 dev 31 function 4 "Intel 200 Series SMBus" rev 0x00: apic 2 int 16
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 8GB DDR4 SDRAM PC4-21300 SO-DIMM
spdmem1 at iic0 addr 0x52: 8GB DDR4 SDRAM PC4-19200 SO-DIMM
em0 at pci0 dev 31 function 6 "Intel I219-V" rev 0x00: msi, address 6c:4b:90:50:ab:63
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT
efifb at mainbus0 not configured
uhidev0 at uhub0 port 6 configuration 1 interface 0 "Primax Kensington Eagle Trackball" rev 2.00/6.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z and W dir
wsmouse0 at ums0 mux 0
uhidev1 at uhub0 port 7 configuration 1 interface 0 "Cherry Mikroschalter product 0x0011" rev 2.00/1.00 addr 3
uhidev1: iclass 3/1
ukbd0 at uhidev1: 8 variable keys, 6 key codes
wskbd1 at ukbd0 mux 1
uhub1 at uhub0 port 8 configuration 1 interface 0 "Generic USB2.1 Hub" rev 2.10/1.01 addr 4
uaudio0 at uhub1 port 4 configuration 1 interface 1 "Dell Dell AC511 USB SoundBar" rev 1.10/1.10 addr 5
uaudio0: class v1, full-speed, sync, channels: 2 play, 2 rec, 6 ctls
audio1 at uaudio0
uhidev2 at uhub1 port 4 configuration 1 interface 3 "Dell Dell AC511 USB SoundBar" rev 1.10/1.10 addr 5
uhidev2: iclass 3/0
ucc0 at uhidev2: 3 usages, 3 keys, enum
wskbd2 at ucc0 mux 1
uvideo0 at uhub0 port 11 configuration 1 interface 0 "Logitech QuickCam Pro 5000" rev 2.00/0.05 addr 6
bLength=9
bDescriptorType=0x02 (UDESC_CONFIG)
|
bLength=9
bDescriptorType=0x02
wTotalLength=1267
bNumInterfaces=0x04
bConfigurationValue=0x01
iConfiguration=0x00
bmAttributes=0x80
bMaxPower=0xfa

bLength=8
bDescriptorType=0x0b (UDESC_IFACE_ASSOC)
|
bLength=8
bDescriptorType=0x0b
bFirstInterface=0x00
bInterfaceCount=2
bFunctionClass=0xff
bFunctionSubClass=0x03
bFunctionProtocol=0x00
iFunction=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x00
bAlternateSetting=0x00
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x01
bInterfaceProtocol=0x00
iInterface=0x00

bLength=13
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VC_HEADER)
|
bLength=13
bDescriptorType=0x24
bDescriptorSubtype=0x01
bcdUVC=0x0100
wTotalLength=106
dwClockFrequency=48000000
bInCollection=0x01
baInterfaceNr[0]=0x01

bLength=18
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=18
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x00
iTerminal=0x00

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VC_PROCESSING_UNIT)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x05
bUnitID=0x02
bSourceID=0x01
wMaxMultiplier=16384
bControlSize=2
bmControls=0x7b17
iProcessing=0x00
bmVideoStandards=0x1c

bLength=28
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=28
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x03
guidExtensionCode=0x820661637050ab49b8ccb3855e8d221d
bNumControls=0x00
bNrInPins=0x01

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x04
guidExtensionCode=0x820661637050ab49b8ccb3855e8d221e
bNumControls=0x00
bNrInPins=0x01

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=9
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x05
bAssocTerminal=0x00
bSourceID=0x04
iTerminal=0x00

bLength=32
bDescriptorType=0x41 (unknown)

bLength=32
bDescriptorType=0x41 (unknown)

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x87 (IN)
bmAttributes=0x03 (UE_INTERRUPT)
wMaxPacketSize=16
bInterval=0x08

bLength=5
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x03 (EP_INTERRUPT)
|
bLength=5
bDescriptorType=0x25
bDescriptorSubtype=0x03
wMaxTransferSize=16

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=16
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VS_INPUT_HEADER)
|
bLength=16
bDescriptorType=0x24
bDescriptorSubtype=0x01
bNumFormats=3
wTotalLength=681
bEndpointAddress=0x81
bmInfo=0x00
bTerminalLink=0x05
bStillCaptureMethod=0x02
bTriggerSupport=0x01
bTriggerUsage=0x00
bControlSize=1

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VS_FORMAT_MJPEG)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x06
bFormatIndex=0x01
bNumFrameDescriptors=0x09
bmFlags=0x01
bDefaultFrameIndex=0x03
bAspectRatioX=0x00
bAspectRatioY=0x00
bmInterlaceFlags=0x00
bCopyProtect=0x00

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x01
bmCapabilities=0x00
wWidth=160
wHeight=120
dwMinBitRate=1536000
dwMaxBitRate=9216000
dwMaxVideoFrameBufferSize=38400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x02
bmCapabilities=0x00
wWidth=176
wHeight=144
dwMinBitRate=2027520
dwMaxBitRate=12165120
dwMaxVideoFrameBufferSize=50688
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x03
bmCapabilities=0x00
wWidth=320
wHeight=240
dwMinBitRate=6144000
dwMaxBitRate=36864000
dwMaxVideoFrameBufferSize=153600
dwDefaultFrameInterval=666666
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x04
bmCapabilities=0x00
wWidth=352
wHeight=288
dwMinBitRate=8110080
dwMaxBitRate=48660480
dwMaxVideoFrameBufferSize=202752
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x05
bmCapabilities=0x00
wWidth=432
wHeight=240
dwMinBitRate=8294400
dwMaxBitRate=49766400
dwMaxVideoFrameBufferSize=207360
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x06
bmCapabilities=0x00
wWidth=480
wHeight=360
dwMinBitRate=13824000
dwMaxBitRate=82944000
dwMaxVideoFrameBufferSize=345600
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x07
bmCapabilities=0x00
wWidth=512
wHeight=288
dwMinBitRate=11796480
dwMaxBitRate=70778880
dwMaxVideoFrameBufferSize=294912
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x08
bmCapabilities=0x00
wWidth=640
wHeight=360
dwMinBitRate=18432000
dwMaxBitRate=110592000
dwMaxVideoFrameBufferSize=460800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x09
bmCapabilities=0x00
wWidth=640
wHeight=480
dwMinBitRate=24576000
dwMaxBitRate=147456000
dwMaxVideoFrameBufferSize=614400
dwDefaultFrameInterval=666666
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x00
bAssocTerminal=0x00
bSourceID=0x78
iTerminal=0x00

bLength=6
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x0d (UDESCSUB_VS_COLORFORMAT)
|
bLength=6
bDescriptorType=0x24
bDescriptorSubtype=0x0d
bColorPrimaries=0x01
bTransferCharacteristics=0x01
bMatrixCoefficients=0x04

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x04 (UDESCSUB_VS_FORMAT_UNCOMPRESSED)
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x04
bFormatIndex=0x02
bNumFrameDescriptors=0x02
guidFormat=YUY2
bBitsPerPixel=0x10
bDefaultFrameIndex=0x02
bAspectRatioX=0x00
bAspectRatioY=0x00
bmInterlaceFlags=0x00
bCopyProtect=0x00

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x01
bmCapabilities=0x00
wWidth=640
wHeight=360
dwMinBitRate=18432000
dwMaxBitRate=110592000
dwMaxVideoFrameBufferSize=460800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x02
bmCapabilities=0x00
wWidth=640
wHeight=480
dwMinBitRate=24576000
dwMaxBitRate=147456000
dwMaxVideoFrameBufferSize=614400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x06
dwFrameInterval = 333333
dwFrameInterval = 400000
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 2000000

bLength=15
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=15
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x00
bAssocTerminal=0x02
bSourceID=0x68
iTerminal=0x01

bLength=6
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x0d (UDESCSUB_VS_COLORFORMAT)
|
bLength=6
bDescriptorType=0x24
bDescriptorSubtype=0x0d
bColorPrimaries=0x01
bTransferCharacteristics=0x01
bMatrixCoefficients=0x04

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x01
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=192
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x02
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=384
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x03
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=512
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x04
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=640
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x05
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=800
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x06
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=944
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x07
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=2688
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x08
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=2848
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x09
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=3040
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x0a
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=4992
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x0b
bNumEndpoints=1
bInterfaceClass=0xff
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x01 (UE_ISOCHRONOUS,wMaxPacketSize=5116
bInterval=0x01

bLength=8
bDescriptorType=0x0b (UDESC_IFACE_ASSOC)
|
bLength=8
bDescriptorType=0x0b
bFirstInterface=0x02
bInterfaceCount=2
bFunctionClass=0x01
bFunctionSubClass=0x02
bFunctionProtocol=0x00
iFunction=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x02
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x01
bInterfaceSubClass=0x01
bInterfaceProtocol=0x00
iInterface=0x00

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=12
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=12
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x00
iTerminal=0x01

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=9
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x03
bAssocTerminal=0x00
bSourceID=0x05
iTerminal=0x00

bLength=8
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=8
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x05
guidExtensionCode=0x01010300090403000001020000090403
bNumControls=0x01
bNrInPins=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x01
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x86 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=16
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x02
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x86 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=32
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x03
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x86 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=48
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

uvideo0: uvideo_vc_parse_desc
uvideo0: number of total interfaces=2
uvideo0: number of VS interfaces=1
uvideo0: uvideo_vs_parse_desc_format
uvideo0: number of total format descriptors=2
uvideo0: uvideo_vs_parse_desc_frame
uvideo0: VS interface 0, bInterfaceNumber=0x01, numalts=12
uvideo0: bAlternateSetting=0x00, no endpoint descriptor
uvideo0: bAlternateSetting=0x01, bEndpointAddress=0x81, wMaxPacketSize=192
uvideo0: bAlternateSetting=0x02, bEndpointAddress=0x81, wMaxPacketSize=384
uvideo0: bAlternateSetting=0x03, bEndpointAddress=0x81, wMaxPacketSize=512
uvideo0: bAlternateSetting=0x04, bEndpointAddress=0x81, wMaxPacketSize=640
uvideo0: bAlternateSetting=0x05, bEndpointAddress=0x81, wMaxPacketSize=800
uvideo0: bAlternateSetting=0x06, bEndpointAddress=0x81, wMaxPacketSize=944
uvideo0: bAlternateSetting=0x07, bEndpointAddress=0x81, wMaxPacketSize=2688
uvideo0: bAlternateSetting=0x08, bEndpointAddress=0x81, wMaxPacketSize=2848
uvideo0: bAlternateSetting=0x09, bEndpointAddress=0x81, wMaxPacketSize=3040
uvideo0: bAlternateSetting=0x0a, bEndpointAddress=0x81, wMaxPacketSize=4992
uvideo0: bAlternateSetting=0x0b, bEndpointAddress=0x81, wMaxPacketSize=5116
uvideo0: SET probe request successfully
bmHint=0x01
bFormatIndex=0x01
bFrameIndex=0x03
dwFrameInterval=666666 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=0 (bytes)
dwMaxPayloadTransferSize=0 (bytes)
uvideo0: GET probe request successfully, length: 26
bmHint=0x01
bFormatIndex=0x01
bFrameIndex=0x03
dwFrameInterval=666666 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=61440 (bytes)
dwMaxPayloadTransferSize=192 (bytes)
dwClockFrequency=0 (Hz)
bmFramingInfo=0x00
bPreferedVersion=0
bMinVersion=0
bMaxVersion=0
bUsage=0
bBitDepthLuma=0
bmSettings=0x00
bMaxNumberOfRefFramesPlus1=0
bmRateControlModes=0
bmLayoutPerStream=0x0000000000000000
uvideo_attach: doing video_attach_mi
video0 at uvideo0
uaudio1 at uhub0 port 11 configuration 1 interface 3 "Logitech QuickCam Pro 5000" rev 2.00/0.05 addr 6
uaudio1: class v1, high-speed, sync, channels: 0 play, 1 rec, 2 ctls
audio2 at uaudio1
uhub2 at uhub0 port 20 configuration 1 interface 0 "Generic USB3.2 Hub" rev 3.20/1.01 addr 7
umass0 at uhub0 port 21 configuration 1 interface 0 "USB SanDisk 3.2Gen1" rev 3.20/1.00 addr 8
umass0: using SCSI over Bulk-Only
scsibus3 at umass0: 2 targets, initiator 0
sd2 at scsibus3 targ 1 lun 0: <USB, SanDisk 3.2Gen1, 1.00> removable serial.0781558381075db0e0a4
sd2: 29358MB, 512 bytes/sector, 60125184 sectors
vscsi0 at root
scsibus4 at vscsi0: 256 targets
softraid0 at root
scsibus5 at softraid0: 256 targets
sd3 at scsibus5 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
sd3: 476939MB, 512 bytes/sector, 976771583 sectors
root on sd3a (fb15fe7179880757.a) swap on sd3b dump on sd3b
inteldrm0: 3840x2160, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)