Re: uvideo not wrok fine

From: Nilton Jose Rizzo <rizzo_at_rizzo.eng.br>
Date: Thu, 23 Jul 2026 13:28:12 UTC
Em 20/07/2026 12:35, Baptiste Daroussin escreveu:
> On Mon 20 Jul 14:24, Baptiste Daroussin wrote:
>> On Sun 19 Jul 14:03, Nilton Jose Rizzo wrote:
>>> Em 19/07/2026 13:49, Baptiste Daroussin escreveu:
>>>> Le 18 juillet 2026 23:45:58 GMT+02:00, Nilton Jose Rizzo<rizzo@rizzo.eng.br> a écrit :
>>>>> Em 18/07/2026 02:36, Baptiste Daroussin escreveu:
>>>>>> Le 14 juillet 2026 01:42:07 GMT+02:00, Nilton Jose Rizzo<rizzo@rizzo.eng.br> a écrit :
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I upgraded my desktop last weekend and decided to try the new *uvideo*driver from OpenBSD.
>>>>>>>
>>>>>>> When I run |pwcview|, the image is displayed incorrectly: it is horizontally duplicated and shows interlaced lines.
>>>>>>>
>>>>>>> If I switch back to |webcamd|, the webcam works normally.
>>>>>>>
>>>>>>> I also tested it with *Google Meet*and *Jitsi Meet*in Firefox.
>>>>>>>
>>>>>>> On Google Meet, I receive a warning indicating that my webcam is not functioning properly.
>>>>>>>
>>>>>>> Has anyone experienced this issue or have any suggestions on how to troubleshoot it?
>>>>>>>
>>>>>>> My web cam is HD Pro C920 USB
>>>>>>>
>>>>>>> ugen0.2: <HD Pro Webcam C920 Logitech, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
>>>>>>>
>>>>>>> $ usbconfig -v -d ugen0.2
>>>>>>> ugen0.2: <HD Pro Webcam C920 Logitech, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
>>>>>>> ugen0.2.2: uaudio0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 3>
>>>>>>>
>>>>>>>      bLength = 0x0012
>>>>>>>      bDescriptorType = 0x0001
>>>>>>>      bcdUSB = 0x0200
>>>>>>>      bDeviceClass = 0x00ef  <Miscellaneous device>
>>>>>>>      bDeviceSubClass = 0x0002
>>>>>>>      bDeviceProtocol = 0x0001
>>>>>>>      bMaxPacketSize0 = 0x0040
>>>>>>>      idVendor = 0x046d
>>>>>>>      idProduct = 0x082d
>>>>>>>      bcdDevice = 0x0011
>>>>>>>      iManufacturer = 0x0000  <no string>
>>>>>>>      iProduct = 0x0002  <HD Pro Webcam C920>
>>>>>>>      iSerialNumber = 0x0001  <1BC69C1F>
>>>>>>>      bNumConfigurations = 0x0001
>>>>>>>
>>>>>>> When uvideo load, show this message
>>>>>>>
>>>>>>> uvideo0 on uhub1
>>>>>>> uvideo0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 3> on usbus0
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: too many PU descriptors found!
>>>>>>> uvideo0: 3 format(s), iface_index=1, endpoint=0x81, psize=3060, isoc
>>>>>>> uvideo0: default format: pixfmt=0x56595559, 640x480, max_fbuf=4147200
>>>>>>> uvideo0: UVC camera on /dev/video0
>>>>>>>
>>>>>>>
>>>>>> try updating UVIDEO_MAX_PU and UVIDEO_MAX_CT from 8 to 32.
>>>>>>
>>>>>> in sys/dev/usb/video/uvideo.c
>>>>>>
>>>>>> best regards,
>>>>>> Bapt
>>>>> I change these values, PU warnings was gone.
>>>>>
>>>>> My Webcam not work fine yet.
>>>>>
>>>>> See this jpeg screenshot from pwcview using default values to fps and resolution (sif).
>>>>>
>>>>> https://imgur.com/a/YG89hK5
>>>>>
>>>>>
>>>>> ugen0.2: <vendor 0x046d HD Pro Webcam C920> at usbus0
>>>>> uvideo0 on uhub1
>>>>> uvideo0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 3> on usbus0
>>>>> uvideo0: 3 format(s), iface_index=1, endpoint=0x81, psize=3060, isoc
>>>>> uvideo0: default format: pixfmt=0x56595559, 640x480, max_fbuf=4147200
>>>>> uvideo0: UVC camera on /dev/video0
>>>>> uaudio0 on uhub1
>>>>> uaudio0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 3> on usbus0
>>>>> uaudio0: No playback.
>>>>> uaudio0: Record[0]: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer. (selected)
>>>>> uaudio0: Record[0]: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
>>>>> uaudio0: Record[0]: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
>>>>> uaudio0: No MIDI sequencer.
>>>>> pcm6 on uaudio0
>>>>> uaudio0: No HID volume keys found.
>>>>> uvideo0: stream open: nframes=51, psize=3060, maxVideoFrameSize=153600, maxPayloadSize=800, alt=11, isoc
>>>>> uvideo0: stream open: nframes=51, psize=3060, maxVideoFrameSize=153600, maxPayloadSize=800, alt=11, isoc
>>>>>
>>>>>
>>>>>
>>>> on linux it has quirks for this model, I need to implement some. I ll come back with a patch soon
>>>>
>>>> bapt
>>> I'd be happy to help improve this driver by providing more information about
>>> this camera. Let me know what information would be useful.
>>>
>>> Thank you Baptiste.
>>>
>>> -- 
>>> **************************
>>> * Dr. Nilton Jose Rizzo  *
>>> * Engenheiro Eletrônico  *
>>> * Doutor pela COPPE/UFRJ *
>>> * Telegram: @njrizzo     *
>>> **************************
>> I have pushed the quirks infrastructure from openbsd, can you try the following
>> patch on top of it? this is quirks I found for your model in linux uvc driver:
>>
>> https://people.freebsd.org/~bapt/0001-uvideo-add-quirks-for-Logitech-C920-webcams.patch
>>
>> Best regards,
>> Bapt
>>
> Actually try this version of the patch:
> https://bapt.nours.eu/0001-uvideo-add-quirks-for-Logitech-C920-webcams.patch
>
> Best regards,
> Bapt
>

Hi Baptiste,

Sorry for the late reply.

I applied the patch, but unfortunately it didn't solve the problem.

After recompiling the kernel and rebooting the system, the webcam still 
doesn't work properly.

I have to reset the USB bus manually using the following command:

|usbconfig reset|

After doing that, the webcam is detected again, but the image in 
|pwcview|remains unchanged and still has the same duplicated/interlaced 
appearance.

Google Meet and Jitsi Meet in Firefox also behave the same way as before.

The webcam's microphone works fine, but I still can't get any video from 
the camera in |pwcview|, Google Meet, or Jitsi Meet.

Please let me know if you'd like me to test anything else or provide 
additional debugging information.


More info about my system:


dmesg:

uvideo0 on uhub0
uvideo0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, 
addr 1> on usbus0
uvideo0: 3 format(s), iface_index=1, endpoint=0x81, psize=3060, isoc
uvideo0: default format: pixfmt=0x56595559, 640x480, max_fbuf=4147200
uvideo0: UVC camera on /dev/video0
uaudio0 on uhub0
uaudio0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, 
addr 1> on usbus0
uaudio0: No playback.
uaudio0: Record[0]: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms 
buffer. (selected)
uaudio0: Record[0]: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio0: No MIDI sequencer.
pcm6 on uaudio0
uaudio0: No HID volume keys found.
umodem0 on uhub2
umodem0: <STMicroelectronics STM32 Virtual ComPort, class 2/2, rev 
2.00/2.00, addr 4> on usbus1
umodem0: data interface 1, has no CM over data, has no break
em0: link state changed to UP
Security policy loaded: MAC/ntpd (mac_ntpd)
WARNING: sysctl vfs.zfs.min_auto_ashift is deprecated. Use 
vfs.zfs.vdev.min_auto_ashift instead.
uvideo0: stream open: nframes=51, psize=3060, maxVideoFrameSize=153600, 
maxPayloadSize=800, alt=11, isoc
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT
uvideo0: could not SET probe: USB_ERR_TIMEOUT

$ uname -a
FreeBSD valfenda 16.0-CURRENT FreeBSD 16.0-CURRENT #19 
main-4db3872aabc3-dirty: Thu Jul 23 01:07:56 -03 2026 
rizzo@valfenda:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64


-- 
**************************
* Dr. Nilton Jose Rizzo  *
* Engenheiro Eletrônico  *
* Doutor pela COPPE/UFRJ *
* Telegram: @njrizzo     *
**************************