OpenBSD Journal

[c2k8]: Call for testing - uvideo(4)

Contributed by johan on from the can-you-see-me dept.

Robert Nagy (robert@) has just enabled uvideo(4) in i386 and amd64 GENERIC kernels. Robert and Marcus Glocker (mglocker@) have spent much of their time this hackathon adding support for a wide range of USB webcams.

Update (June 13 2008, 12:15:00 MDT): Marcus Glocker wants to point out that we are only interested in reports that include cameras that are UVC compatible. That means mostly newer cameras. Please see an explanation here and the details in the UVC spec.

CVSROOT:	/cvs
Module name:	src
Changes by:	robert@cvs.openbsd.org	2008/06/12 13:45:05

Modified files:
	sys/arch/amd64/conf: GENERIC 

Log message:
theo says: enable, enable, enable uvideo(4)

Some of the cams are fairly working now and we want to see more of
them in dmesgs.

Please plugin your USB webcam, boot -current with uvideo enabled, and send in your dmesgs to mglocker@ and robert@.

(Comments are closed)


Comments
  1. By jirib (195.212.29.83) on

    great! you guys rock! thank you!

  2. By Anonymous Coward (212.20.215.132) on

    Just ordered a new Logitech webcam and I'm going to try it out later today. If it works, I guess it's time to port motion [http://sourceforge.net/projects/motion/] so I can see what my cat is up to when I'm not at home ;-) If it doesn't work, I guess Robert just got a new camera.

    Comments
    1. By Anonymous Coward (88.90.218.146) on

      Update: so the camera I bought is a Logitech QuickCam E 3500 Plus. It includes a built-in microphone and says "Universal Video Class (UVC)" on the box it came in. dmesg excerpt:
      uvideo0 at uhub0 port 1 configuration 1 interface 0 "Logitech product 0x09a4" rev 2.00/0.06 addr 3
      video0 at uvideo0
      uaudio0 at uhub0 port 1 configuration 1 interface 2 "Logitech product 0x09a4" rev 2.00/0.06 addr 3
      uaudio0: audio rev 1.00, 2 mixer controls
      audio1 at uaudio0
      
      And usbdevs:
      $ usbdevs
      addr 1: EHCI root hub, Intel
        addr 3: product 0x09a4, Logitech
      ...
      
      Tomorrow I'll actually test it properly (time ran out today) and post a dmesg and a report to the developers. Great work guys!

      Comments
      1. By Anonymous Coward (142.244.224.106) on

        > $ usbdevs
        > addr 1: EHCI root hub, Intel
        > addr 3: product 0x09a4, Logitech
        > ...

        You will need to disable ehci so the device attaches to ohci until ehci gains isochronous support.

        Comments
        1. By Anonymous Coward (88.91.151.19) on

          > > $ usbdevs
          > > addr 1: EHCI root hub, Intel
          > > addr 3: product 0x09a4, Logitech
          > > ...
          >
          > You will need to disable ehci so the device attaches to ohci until
          > ehci gains isochronous support.

          Thanks for tip. However, if I disable EHCI (UKC> disable ehci) then neither my camera (uvideo(4)) or my wireless (rum(4)) is detected.

          Now I'm also getting "uvideo0: ehci(4) does not support isochronous transfers yet, disable it."

          So I guess this is currently a no go. I'll inform the developers.

  3. By Anonymous Coward (81.83.46.237) on

    What OpenBSD software do you use with these webcam's?
    What's in packages/ports to play with?

    I might buy a webcam to play ... (possibly one that's on the supported list :-p)

    Comments
    1. By Anonymous Coward (84.206.25.237) on

      > What OpenBSD software do you use with these webcam's?
      > What's in packages/ports to play with?
      >
      > I might buy a webcam to play ... (possibly one that's on the supported list :-p)

      FYI

      From http://www.openbsd.org/plus.html

      video(4) is a device-independent layer implementing the V4L2 API

      So in theory any V4l capable application can use the webcam.

    2. By Predrag Punosevac OKO (128.196.224.24) on

      > What OpenBSD software do you use with these webcam's?
      > What's in packages/ports to play with?
      >
      > I might buy a webcam to play ... (possibly one that's on the supported list :-p)

      Look at the ports graphics/fswebcam and graphics/luvcview are committed
      today. Ekiga is committed couple of weeks ago. I guess you want to try VoIP with video, don't you?

  4. By Sacha Ligthert (85.144.133.30) on

    Suddenly a soekris with a bunch of USB ports sound very interesting!

    Comments
    1. By TylerEss (69.42.248.90) on

      Unfortunately, not as interesting as it could be... I've played with ZoneMinder a bunch under linux at work, and with it doing motion-capture on about 18 channels worth of PCI capture cards, there's a fairly heavy load on a moderate-speed AMD64 x2 box. Also, we started seeing framerates drop because of what appears to be PCI congestion.

      For small enough values of 'a bunch' it does sound pretty interesting, though!

  5. By Robert (142.244.224.67) on

    You guys have to have an UVC (USB Video Class) compatible webcam. Other vendor specific cams won't work and we don't have plans to support them. So if you go shopping, make sure it's a UVC cam.
    There is a good list at: http://linux-uvc.berlios.de/#devices

    Comments
    1. By Brynet (Brynet) on

      > You guys have to have an UVC (USB Video Class) compatible webcam. Other vendor specific cams won't work and we don't have plans to support them. So if you go shopping, make sure it's a UVC cam.
      > There is a good list at: http://linux-uvc.berlios.de/#devices

      Just a note, some webcams may not actually mention "UVC" necessarily on their product packaging.

      But, apparently Microsoft made UVC a requirement for cameras that carry the "Vista compatible" logo.

      I guess that's one good thing they've done lately...

      Comments
      1. By Brynet (Brynet) on

        > > You guys have to have an UVC (USB Video Class) compatible webcam. Other vendor specific cams won't work and we don't have plans to support them. So if you go shopping, make sure it's a UVC cam.
        > > There is a good list at: http://linux-uvc.berlios.de/#devices
        >
        > Just a note, some webcams may not actually mention "UVC" necessarily on their product packaging.
        >
        > But, apparently Microsoft made UVC a requirement for cameras that carry the "Vista compatible" logo.
        >
        > I guess that's one good thing they've done lately...

        Sorry, I think it must say "Designed for Vista", but you get the drift.

        The document is available below, it's painfully large.. but it does state UVC as a requirement.

        http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx

        "Device Requirements" -> "Windows Hardware Logo Program Requirements for Devices"

        Page 321, "USB streaming video cameras must comply with the USB Video Class specifications. At a minimum, all mandatory properties and commands must be implemented. All commands implemented must
        comply with the specifications.
        USB streaming video cameras that use MJPEG, YUY2, or MPEG-2 TS for capture, or DV for capture or render, must also work with the Microsoft-provided USB Video Class driver.
        This requirement takes effect for Basic Logo on June 1, 2008."

        Plus the term "UVC" and "USB Video Class" are blanked all through the document..

        I'm not sure how wide spread the cameras are yet..

    2. By Anonymous Coward (70.141.212.164) on

      > You guys have to have an UVC (USB Video Class) compatible webcam. Other vendor specific cams won't work and we don't have plans to support them. So if you go shopping, make sure it's a UVC cam.
      > There is a good list at: http://linux-uvc.berlios.de/#devices

      So what you're saying is that my old (several years old) Logitech Webcam might not work?

      This is pretty awesome though. I have always wanted webcam support in BSD. Why? I don't know. Just because. Isn't that a good enough reason?

      What software is out there that can make use of it though? I never really looked because webcams aren't very well supported on any of BSDs (that I know of).

      Comments
      1. By Brynet (Brynet) on

        > So what you're saying is that my old (several years old) Logitech Webcam might not work?
        >
        > This is pretty awesome though. I have always wanted webcam support in BSD. Why? I don't know. Just because. Isn't that a good enough reason?
        >
        > What software is out there that can make use of it though? I never really looked because webcams aren't very well supported on any of BSDs (that I know of).

        I believe the UVC specification was released in 2005, your device is too old.

        The driver is for explicitly UVC compatible devices.

        There is a V4L2 API, video(4), no man page yet IIRC, but the API is commonly used by Linux video applications.

        It is rather early for that though.... ;)

  6. By Anonymous Coward (70.173.232.231) on

    This is one of the three things I thought I'd never see in OpenBSD, the other two being DRM/DRI and ALSA. heh.

    Comments
    1. By Predrag Punosevac OKO (128.196.224.24) on

      > This is one of the three things I thought I'd never see in OpenBSD, the other two being DRM/DRI and ALSA. heh.

      DRM/DRI is partially enabled in current. Work is in progress. Why do you want ALSA? This is like saying I want to downgrade my OpenBSD to 2.8. You might want to read http://4front-tech.com/hannublog/?p=5 before saying anything else about ALSA.

      Comments
      1. By Anonymous Coward (70.173.232.231) on

        > > This is one of the three things I thought I'd never see in OpenBSD, the other two being DRM/DRI and ALSA. heh.
        >
        > DRM/DRI is partially enabled in current. Work is in progress. Why do you want ALSA? This is like saying I want to downgrade my OpenBSD to 2.8. You might want to read http://4front-tech.com/hannublog/?p=5 before saying anything else about ALSA.
        >

        do not confuse not expecting something with wanting something.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]