OV511 Installation Instructions:

Before you start:

Many kernels and Linux distributions already come with ov511 preinstalled. To check whether it is installed, run "modprobe ov511" as root. If you don't get any errors, then the driver is already installed. Skip to the "Loading and Using the Driver" section below.

These built-in drivers usually work, but may not be the most recent version. You may need to install a more recent driver if:

Installing the driver:
  1. Make sure you have a compiler and kernel source that matches your currently running kernel.
  2. Be sure that your kernel supports USB. If it doesn't, see my kernel installation instructions.
  3. Download the latest driver.
  4. Decompress it. For example, "tar xvzf ov511-1.58.tar.gz".
  5. Change to the directory that got created, e.g. "cd ov511-1.58 ".
  6. Run "make". If you get errors about include files, edit Makefile and set "INCLUDEDIR=/path_to_kernel_source/include".
  7. If you have a 2.4 or 2.6 kernel, run "make install". That will list the available install options for your kernel. Run whichever one matches your kernel best.
Loading and using the driver:
  1. Become root. Eg: "su -"
  2. Load USB support:
    1. See which type of USB controller you have with "lspci".
    2. For UHCI controllers, either "modprobe usb-uhci" OR "modprobe uhci". They are equivalent, but one might work better for you than the other.
    3. For OHCI controllers, "modprobe usb-ohci".
    4. If these modules don't exist, it's possible that USB is built into your kernel. Also, on 2.6 kernels, the drivers are called uhci-hcd and ohci-hcd.
  3. Make sure that USB is working: Check that /proc/bus/usb/devices exists and contains data. If it doesn't exist, don't worry: "Preliminary USB device filesystem" is probably not enabled in your kernel config, or usbdevfs isn't mounted. This won't affect the ov511 driver, but it makes problems harder to diagnose.
  4. Load ov511: "modprobe ov511". This should also automatically load the "videodev" (Video4Linux) module if you have one.
  5. Make sure the driver is working: When you run the "dmesg" command, you should see some messages from ov511 telling you which kind of bridge and sensor chips your camera uses. If you see errors from ov511, report them to me.
  6. Check that /dev/video0 exists. If it doesn't, you can create it with "mknod /dev/video0 c 81 0 ". If you have another video device, you camera might be on /dev/video1 (change the last argument to mknod to 1 in that case).
  7. Some applications look for the device at /dev/video . In some operating systems (e.g. RedHat 7.1 or later), /dev/video might be a directory and not a device node or a symbolic link. You will have to manually specify the device as /dev/video0 when you use your video application.
  8. Give users (besides root) permission to use the camera. This requires read and write access to /dev/video0 . You can grant this permission with "chmod 666 /dev/video0 ". If you don't want everyone on your system to be able to use the camera, use the "chown" command instead to make /dev/video0 belong to you.
  9. Download an application from http://alpha.dyndns.org/ov511/apps.html and test it. I recommend Xawtv and Vidcat. (Note: vidcat might not work on cameras with OV6620 or OV6630 sensors).
Using Compression Support:

This information is only valid for the stable driver series (1.xx). With 2.xx drivers, compression is already built into ov511.o. For more information, please see the README that comes with the driver.

Compression support will give you better frame rates with OV511 cameras, and is REQUIRED with OV518 cameras. It requires lots of CPU power, and reduces the image quality somewhat, though. If you want/need it, do the following:

(NOTE: for OV518 cameras, substitute
ov518_decomp for ov511_decomp )
  1. Make sure you installed the latest driver using the above instructions. The driver that comes with kernels and operating systems by default has no compression support.
  2. Add the following line to your /etc/modules.conf . This will load the decompressor after ov511 is loaded, and unload the decompressor before ov511 is unloaded:
above ov511 ov511_decomp
  1. If you want compression enabled by default all of the time, add the following line to /etc/modules.conf:
options ov511 compress=1
  1. Load ov511.If you didn't make compression the default in /etc/modules.conf , load it with the compress=1 option (modprobe ov511 compress=1). If it is already loaded, remove it first with " rmmod ov511"
  2. When you unload ov511, you must do it with modprobe (modprobe -r ov511). With rmmod, you will get "ov511: Device or resource busy", since it doesn't remove ov511_decomp automatically.

Please send any corrections to this page to mark@alpha.dyndns.org