2.2. Supporting the Connection Type
2.2.1. USB Webcams
If you have a USB webcam, it is likely a Linux driver has been written for your device. There are two ways of supporting USB devices in Linux. One is the more traditional kernel support, and the other is through libusb. For at least one webcam category, the STV0680-based models, working libusb support is recommended, at least according to the Sourceforge page on the subject .
Unless you know your driver requires libusb support, you should probably stick with the more conventional in-kernel support for USB devices beginning in Section 2.2.1.2 .
2.2.1.1. Libusb
Libusb is a library that allows access to the USB functions in Linux through userspace and without the need to enable kernel support and insert modules. Most distributions, at this point, are offering libusb in their stable branches (and some install it by default), so if you don't already have kernel support for USB devices, then you may only have to install the libusb package in order to access your device. You must have USB device filesystem support enabled in your kernel, which most distributions do. To find out for sure, issue the following at the command line:
$ cat /proc/filesystems
You should see (among others):
nodev usbdevfs
nodev usbfs
You may need to mount usbdevfs to enable it and see the device files, which you can do at the command line with mount -t usbdevfs none /proc/bus/usb . Don't try to use libusb while your particular kernel webcam support is enabled either statically or the module loaded; you can only use one at at time.
You can obtain the libusb package in .rpm , .tgz or .deb format from your Linux distribution.
2.2.1.2. Linux Kernel USB Support
Kernel support is required for USB webcam support if not using libusb (outlined above).
For 2.2 and 2.4 series kernels, your USB webcam may require the module usbvideo to function. This is not required in the 2.6+ series.
For generic USB bus support in Linux, you will need USB subsystem support in your kernel, whether usb-ohci, usb-ehci, or whatever flavor of USB driver your system prefers. USB subsystem support has been present in the Linux kernel since the late 2.2 series. For a more in-depth discussion of USB support in general, I direct you to the Linux-usb project site . If you want to find out which modules are loaded, at the command line or in an xterm, type the following:
# lsmod
As shown by the prompt above, you will need to have root privileges to do this. You should get output similar to the following:
cdrom 29312 0 (autoclean) [sr_mod]
usb-ohci 17888 0 (unused)
usbcore 56768 0 [scanner ibmcam usbvideo usb-ohci]
ibmcam 39680 0
If you don't have the particular module you're seeking loaded and you think the module may be available, try loading it directly (using the usb ibmcam module as an example):
# modprobe -v ibmcam
...at which point you should see something like the following:
Using /lib/modules/2.4.20/kernel/drivers/usb/ibmcam.o
By placing the entry ibmcam (for example) in /etc/modules (note that this varies by distribution), you can have the module load at boot-time automatically. You can then confirm the module was loaded by checking the syslog or in the boot-time record with dmesg | less ), where you should see an entry such as the
* License

