LINUX > vidéo surveillance avec une webcam

Trouver sa caméra

Pour afficher le matériel connecté en usb, brancher/débrancher la caméra et voir sa référence :

watch -n 1 -d lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 024: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 001 Device 068: ID 18ec:3399 Arkmicro Technologies Inc. USB2.0 PC CAMERA
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ainsi, on constate que la caméra est une Arkmicro, avec un ID-vendor 18ec et un ID-product 3399

Puis, aller voir sur ces sites si la référence est connue et gérée par Linux :

https://www.ideasonboard.org/uvc/

https://doc.ubuntu-fr.org/webcam_tableau

Enfin, pour connaitre le chemin de la caméra :

ls -l /dev/video*

Pour voir les éventuelles erreurs :

dmesg | tail -20
[1125153.744941] usb 1-10: new high-speed USB device number 73 using xhci_hcd
[1125154.383838] usb 1-10: New USB device found, idVendor=18ec, idProduct=3399, bcdDevice= 1.00
[1125154.383844] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1125154.383847] usb 1-10: Product: USB2.0 PC CAMERA
[1125154.383850] usb 1-10: Manufacturer: ARKMICRO
[1125154.385148] uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:3399)
[1125154.393103] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[1125154.393897] input: USB2.0 PC CAMERA as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/input/input155
[1125154.395883] usb 1-10: 3:1: cannot get freq at ep 0x82
[1125154.399742] usb 1-10: Warning! Unlikely big volume range (=11903), cval->res is probably wrong.
[1125154.399749] usb 1-10: [2] FU [Mic Capture Volume] ch = 2, val = 384/12287/1

En temps réel :

watch -n 1 -d 'dmesg | tail -20'

Logiciels de capture

fswebcam

for LL in {001..100} ; do NOM=$(date -u +"%Y%m%d%H%M%S") ; fswebcam -d /dev/video5 --png 3 -S 60 webcam_${NOM}.png ; done

-S 60 attendre 60 images, le temps que la caméra se calibre

fswebcam -d /dev/video6 -i 0 -r 640x480 --png 3 -s brightness=153 -s Contrast=38 -s Gamma=2 -s Gain=True -s Sharpness=1 -s Saturation=15% -S 60 out.png

guvcview

cheese

vlc

Suite

https://www.makeuseof.com/tag/awesome-diy-security-camera-clients-linux/

https://www.ubuntupit.com/best-linux-camera-software/

https://www.ispyconnect.com

 

GOOGLE: linux surveillance camera software

QUELQUES COMMANDES UTILES

sudo apt install guvcview uvcdynctrl uvccapture qv4l2 mplayer v4l-utils
sudo reboot

vider le dmesg:

sudo dmesg --clear

Unload driver and reload to fix quirks:

sudo modprobe uvcvideo -r
sudo modprobe uvcvideo quirks=2

Brancher la caméra, puis vérifier qu'elle est reconnue:

lsusb
Bus 002 Device 016: ID 1b3f:0c52 Generalplus Technology Inc. 808 Camera #9 (mass storage mode)

Appuyer sur le bouton ON de la caméra:

lsusb
Bus 002 Device 017: ID 1b3f:2002 Generalplus Technology Inc. 808 Camera #9 (web-cam mode)

Confirm video0:

ls /dev/video0

Vérifier les erreurs avec dmesg:

dmesg

Run mplayer

mplayer tv:// -tv driver=v4l2:device=/dev/video0
streamer -c /dev/video0 -b 16 -t 5 -r 2 -s 640x480 -o /root/eyetoy00.jpeg

2. Enabling Support for Your (Webcam) Hardware in Linux

For your webcam to work you will need support for the connection and support for the actual camera hardware. Those who are already versed in kernels and modules and how to load them should skip to Section 2.2, which addresses support of the connection type. If you know your USB, IEEE 1394 or whatever bus you will be connecting your camera to is already configured and working, you should move on to the list of specific webcam hardware listed in Section 2.3.

Webcam drivers are usually available one of three ways: within the kernel, as a compilable stand alone module, or available as a pre-compiled (packaged) binary driver from your Linux distribution.

2.1.1. Module or In-Kernel?

An easy way to tell if the driver is enabled is to use the dmesg :

dmesg | less
Dec 18 17:35:18 localhost kernel: hub 5-0:1.0: USB hub found
Dec 18 17:35:18 localhost kernel: hub 5-0:1.0: 2 ports detected
Dec 18 17:35:18 localhost kernel: Linux video capture interface: v1.00
Dec 18 17:35:18 localhost kernel: quickcam: QuickCam USB camera found (driver version QuickCam USB $Date: 2005/01/07 13:29:53 $)
Dec 18 17:35:18 localhost kernel: quickcam: Kernel:2.6.7 bus:1 class:FF subclass:FF vendor:046D product:0840
Dec 18 17:35:18 localhost kernel: quickcam: Sensor HDCS-1000/1100 detected
Dec 18 17:35:18 localhost kernel: quickcam: Registered device: /dev/video0
Dec 18 17:35:18 localhost kernel: usbcore: registered new driver quickcam

If you don't see it, the particular driver may exist as a loadable module. If you know what that module is named, try using find; in this example we are looking for the 'ibmcam' module:

find /lib/modules -name ibmcam.o

Note that up until the 2.4 series modules had the suffix .o; for 2.6+ series kernels this was replaced with .ko.

You can get a list of all modules available by typing the following at the command line:

ls -R /lib/modules/`uname -r`/kernel

Where `uname -r`, surrounded by forward tick marks, is your kernel version number. The following output is an example of what you might find in a USB webcam-ready kernel , where everything is loaded as a module (all but the relevant lines have been edited for brevity):

./usb: usbvideo.o usbcore.o ibmcam.o

Once you know which module your camera needs you can find out if it is already loaded by typing the following at the command line:

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

Most stock kernels are compiled with kmod, which enabling automatic loading of necessary modules when the appropriate hardware is detected. It may not always do so, however, so if you don't have the particular module you're seeking loaded and you think the module may be available, try loading it manually with modprobe, as in the following using the ibmcam module as an example:

modprobe -v ibmcam

Drivers for specific webcam models, or links to project pages hosting code for drivers, are outlined in Section 2.3. The drivers are usually available one of three ways: within the kernel, as a compilable stand alone module, or available as a pre-compiled binary from your Linux distribution.

If the support for your driver is not found either enabled statically within the kernel or as a module, don't despair. Drivers for numerous models are in the Linux kernel source (available directly from kernel.org source code repository), or in code offered separately from the kernel that can be configured to work with your current setup as oulined in Section 2.1.2. If your webcam driver is available in the kernel source but not enabled as a module or otherwise in your default system, you can either recompile the kernel from the source code you have or obtain a new version of the kernel source, either pre-packaged by your Linux distributor or directly from the previous link (as a so-called "vanilla" kernel). If you are unfamiliar with the prerequisites and procedure of compiling your own kernel, I direct you to the Kernel HOWTO for more information.

2.1.2. Patching, Source-Only or Precompiled Binary?

You may find that your webcam is supported by only a kernel patch, by a source-only driver not requiring a kernel recompile, or you may even be lucky enough to have a distribution that makes a pre-compiled and packaged binary driver available for your computer's architecture. The procedure involved in the former is largely beyond the scope of this document and is probably best outlined in the documentation available on the web page of your particular model's driver found in Section 2.3. Some further more general documentation on these processes are, however, addressed in Section 5

2.2. Supporting the Connection Type

There are two ways of supporting USB devices in Linux. One is the more traditional kernel support, and the other is through libusb. 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 following:

   Oct 18 12:43:12 K7 kernel: hub.c: new USB device 00:02.3-2, assigned address 3 
   Oct 18 12:43:12 K7 kernel: ibmcam.c: IBM PC Camera USB camera found (model 2, rev. 0x030a) 
   Oct 18 12:43:12 K7 kernel: usbvideo.c: ibmcam on /dev/video1: canvas=352x240 videosize=352x240

If modprobe returns an error when you attempt to load the module, note that you may need to determine and supply the hardware address when invoking modprobe. The most common address is 0x378 for an x86 system; 0x278 and 0x3BC are other possibilities for integrated or ISA parallel ports. Add-in PCI parallel ports may have unusual base addresses. You can also arrange multiple devices with either the parport_pc or parport_arc modules, though that topic is beyond the scope of this document.

WARNING: Be sure you have the correct address before entering this information at the command line or else your machine may become unstable, crash or otherwise implode.

Your parallel port should be set to preferably "EPP" mode, or alternatively ECP/EPP. "Bidirectional" (also known as "BPP" or "PS/2") may work, albeit much more slowly. "Unidirectional" mode is unsuitable for scanning. The above setting can usually be accessed through your BIOS menu, at least on x86 systems.

2.3. Specific Webcam Models

Note that this information is frequently changing. The Linux-USB Device Overview site is a great place to look if you have a USB webcam. Also, you will want to check for your model's homepage at http://www.exploits.org/v4l/. The information compiled below on specific webcam models is from the same source, so you may find more up-to-date information through the previous link. If you can't find an entry for your particular hardware, you can find links to resources on how to write your own driver!

It is important to note that if your camera isn't listed, the easiest way to find out if your camera is supported is to find out what chipset is used in its manufacture

This information is usually present in the specifications published in your webcam's manual or on the manufacturer's website.

If you can't find your camera model listed and aren't sure what chipset your camera is made with, you should consider searching and/or subscribing to the video4linux-list mailing list hosted by Redhat.

 

3. Accessing the Video Device

The following section applies to all connection types.

3.1. The Video Devices Node

The Linux kernel requires a virtual device node be created to access and control the device in question. It may have already been created for you at boot-up; ls -l /dev/video* (with an asterisk) or alternatively find /dev -name video* or even visual inspection of the /dev directory with your favorite file manager can give you an idea if the video devices exist. If so you can proceed to Section 3.2; if not you will need to create them manually.

An easy way to create them, if available with your Linux distribution, is use of the MAKEDEV script, which may be located in /dev or the usual places for storing executable commands (/bin,/sbin and so on). The manual page for MAKEDEV (man MAKEDEV) can guide you further, but be aware of the device-specific command options. If MAKEDEV doesn't work or doesn't exist, or you just prefer doing things the hard way, move on to the next paragraph.

A device can be created as a block (such as a drive), a fifo (file-in-file-out or pipe, as in xconsole) or a character device, which represents other hardware. Each device has a major and a minor number "coordinate" to tell the kernel what it is and where to access it. These numbers are not arbitrary. The major number 81 with minor number 0, 1, 2, and so on are by convention assigned to Video4linux devices, including TV tuner boards and webcams. In order to create the video device /dev/video0, use mknod at the command line:

   #  mknod /dev/video0 c 81 0

where c represents a character device.

You can use the following script, which I have borrowed from the kernel source (located in linux/Documentation/video4linux/bttv/MAKEDEV of the source tree):

   #!/bin/bash
   function makedev () {
	for dev in 0 1 2 3; do echo "/dev/$1$dev:
	char 81 $[ $2 + $dev ]" rm -f /dev/$1$dev
	mknod /dev/$1$dev c 81 $[ $2 + $dev ] chmod
	666 /dev/$1$dev
   	done

   	# symlink for default device
	rm -f /dev/$1 ln -s /dev/${1}0 /dev/$1
   	}

	# see http://roadrunner.swansea.uk.linux.org/v4lapi.shtml
	echo "*** new device names ***" makedev video
	0 makedev radio 64 makedev vtx 192 makedev vbi 224
	# "*** old device names (for compatibility only) ***"
	#makedev bttv 0 #makedev bttv-fm 64 #makedev bttv-vbi 224

Simply copy and paste the above into your favorite editing program, save it as MAKEDEV or whatever name you like, make it executable (i.e., chmod u+x MAKEDEV), and then execute it as root:

   #  ./MAKEDEV

3.2. Groups and Permissions

It is a good idea to be sure that your user account can access the device once all modules are loaded and device nodes created. The most security-conscious way to do that is to add access for a particular group. On my system, the members of the group 'video' are allowed to use the webcam, scanner and other photographic devices. The way to accomplish this is to first change the ownership of the devices in /dev like so (as root):

   #  chown root.video /dev/usb/video*

...where root.video are the owner and group the device will now belong to. Obviously, the specific command will vary by your system and the type of device. It is important that you change the ownership of the device node itself and not the symlink; symlinks' ownerships are affected only by changing the parent devices or files they point to.

To see if your user account is a member of the group in question, as root issue the following command: grep -e video /etc/group. You should see something like the following:

   video:x:44:

...where '44' is the group number. Since no members follow the last colon in the 'video' group, we can add them, let's say user 'jhs' with the command

   #  adduser jhs  video

After this, it's simply a matter of allowing read and write access for the user in question of the device like so:

   #  chmod g+rw /dev/v4l/video0

...where g+rw means add read and write access for group. See the documentation for chmod (man chmod or info chmod) for further info.

 

4. Framegrabbing Applications

4.1. Command Line Programs

As implied by the title these do not require the X Window System to operate your camera and capture images.

4.1.1. Streamer

Streamer is a versatile program that allows a capture from a webcam or video device using only the command line. It may be offered in your Linux distribution's Xawtv package, or may need to be fetched separately as in Debian. You can find it and more information at Gerd Knorr's Xawtv homepage.

To take a standard JPEG picture from the command line where the camera is accessed through /dev/video0:

   $  streamer -c /dev/video0 -b 16 -o outfile.jpeg

...where -b is the number of colors (in bpp, whether 15, 16, 24 or 32) and -o is the output filename that will be dropped into the current directory (specify -o /path/outfile.jpg to place it elsewhere). If you are going to capture multiple images be sure to append the output file name with zeros, as streamer can name the capture files in sequence, i.e., -o outfile000.jpeg becomes outfile001.jpegoutfile002.jpeg, and so on.

To make an .avi file:

   $  streamer -q -c /dev/video0 -f rgb24 -r 3 -t 00:30:00 -o /home/jhs/outfile.avi

...where -q is for 'quiet' execution (no message output), -f is 'format' (rgb24 is TrueColor avi), -r is the frames per second and -t is the time of recording (30 minutes). Streamer can capture raw and Quicktime™ (non-Sorensen) formats and can capture audio as well. See streamer --help for more information.

4.1.2. camE

CamE is a command-line program that works in daemon mode to capture frames from your v4l device for archive or upload (to a webserver, for example) via ftp or scp. You can overlay other graphics, timestamp the frames, or add other dynamic text all by altering the appropriate line in the configuration file. See the camE homepage for more information.

4.1.3. Motion

Motion is a brilliant program that is able to monitor the video signal from one or several webcams. It can record periodic snapshots, and when motion is detected, record an mpeg and/or perform another action such as sending an email or executing a command. It can track and graphically mark the motion it detects, feed files via an http server to your website, stream them to another application and more. The number of command line options may be intimidating; there is however, a Wiki available online that outlines the various command and configuration file options nicely. The motion homepage can be found here.

4.1.4. Webcam

Webcam is an automated command line tool for operating a webcam that is also available from the Xawtv homepage. It is excellent for automated operation such as from a cron job, as it requires no command line options, only a previously edited configuration file (usually ~/.webcamrc). It is similar to camE above in that one can captures images and upload them to a Web-Server via ftp or ssh.

4.1.5. SANE

SANE, or Scanner Access Now Easy, supports access of v4l devices including webcams in later versions. If you are familiar with using a photographic scanner device in Linux, you may be interested in using SANE for image capture, especially since a few devices double as both scanners and digital cameras. See the relevant sections of the Scanner-HOWTO here.

4.2. GUI(Grapical User Interface)-Based Programs

4.2.1. Xawtv

Xawtv is an X-based program for accessing video devices in Linux including TV tuning devices and webcams. The home page is at http://bytesex.org/xawtv.

When you first try out your webcam, and you think things are configured right, use the -hwscan option:

   $  xawtv -hwscan This is xawtv-3.72, running on Linux/i686 (2.4.21) looking for available devices
      
   /dev/v4l/video0: OK		[ -device /dev/v4l/video0 ] type : v4l name : BT878(Hauppauge (bt878)) flags: overlay capture tuner
   /dev/v4l/video1: OK		[ -device /dev/v4l/video1 ] type : v4l name : IBM USB Camera           flags: capture

...so now you can see the available devices (your output may differ substantially). Try opening an xterm and running xawtv, grabbing from your webcam video device:

   $  xawtv -c /dev/video1 This is xawtv-3.72, running on Linux/i686 (2.4.21)

...and (hopefully) your camera will begin capturing to a window on your desktop. You may see some error messages in your xterm if things don't work that can be helpful to diagnose configuration problems. If you aren't interested in all that, and things work for you, launch from your window manager's menu next time. You can read about more xawtv options with man xawtv.

4.2.2. Gqcam

Gqcam is a graphical GTK+-based application originally written to access Connectix QuickCams but now supports nearly all Video4Linux compatible webcam devices. It has an intuitive interface that makes viewing, taking snapshots, and configuring webcam settings blissfully easy. It is highly recommended for those who only want to take a picture here and there without editing a configuration file or using the command line.

4.2.3. Camorama

Camorama is a graphical GTK+2.0-based application very similar to gqcam written for the Gnome2 desktop. The home page is here.

4.2.4. GnomeMeeting

GnomeMeeting is a VOIP/IP-Telephony application for the Gnome2 desktop that also supports videoconferencing with a webcam. The homepage can be found at gnomemeeting.org.

5. Troubleshooting

5.1. Help, I have a USB webcam and don't know exactly what model it is and/or who the manufacturer is. What do I do?

Use lsusb; it can give you an idea of what other USB devices are available on your system, too:

   $  lsusb
   Bus 007 Device 001: ID 0000:0000
   Bus 006 Device 001: ID 0000:0000
   Bus 005 Device 001: ID 0000:0000
   Bus 004 Device 001: ID 0000:0000
   Bus 003 Device 003: ID 0545:8080 Xirlink, Inc. IBM C-It WebCam
   Bus 003 Device 002: ID 046d:0840 Logitech, Inc. QuickCam Express
   Bus 003 Device 001: ID 0000:0000
   Bus 002 Device 003: ID 051d:0002 American Power Conversion Back-UPS Pro 500/1000/1500
   Bus 002 Device 001: ID 0000:0000
   Bus 001 Device 001: ID 0000:0000

The numbers after 'ID' are the Vendor and Product numbers, respectively. They can then be looked up in the Linux USB ID catalog.

If lsusb is not available to you, and you have support for /proc filesystem support and USB-filesystem support, issue the following at the command line:

   $  cat /proc/bus/usb/devices

You should receive output including (but not necessarily limited to) the following:

   T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=3 Spd=12 MxCh=0 
   D:  Ver= 1.01 Cls=ff(vend.) Sub=ff Prot=ff MxPS=8 #Cfgs=1 
   P:  Vendor=0545 ProdID=8080 Rev= 3.0a 
   S:  Product=USB IMAGING DEVICE

The line beginning "T:" is the USB bus the device is attached to. The "P:" indicates (obviously) the vendor and product ID, which are catalogued at the linux USB Project homepage.

5.2. Help, I can't find the camera device in /dev!

Assuming your connection type is supported, and your camera is working, see Section 3.1.

5.3. Help, I can see the camera device (both in person and as a device node in /dev), but I can't access it!

See Section 3.2.

5.4. Help, my camera has a driver that is source-only, i.e., has to be built by me! Where do I start?

First, check if your Linux distribution offers a pre-compiled binary of the driver. You can then load it as you normally would for a module. If that is not the case, be sure you have kernel sources installed. You will also need at a minimum GNU make, gcc, binutils and perhaps other programs installed depending on your distribution. (Debian users should see the next section for instructions specific to that distribution.)

Download the driver source (in this example named src.tar.gz) and uncompress/untar it:

   $  tar -xvzf src.tar.gz

Then, change to the directory of your kernel source:

   #  cd /usr/src/linux

Make the necessary source files:

   #  make oldconfig # make dep

Now, change to the directory where you unpacked the driver source and read the README and/or INSTALL files for instructions on how to make the driver. Usually this involves some combination of "make" "make all" and/or "make install." Assuming it compiles correctly, you can simply load the new module with modprobe. If you have any problems, see Section 5.7.

5.5. I am using Debian GNU/Linux. Is there an easier way to go through all this kernel compiling stuff and building of source modules?

It is far simpler, in your author's humble opinion, to use the automated kernel-package utility. First, install it and the dependencies using apt-get. Next, install the kernel source that you want (e.g., apt-get install kernel-source-2.X.X). Untar the bzip2'd kernel source with tar -xvjf and then make a symbolic link called linux that points to the new source:

   #  ln -s /usr/src/kernel-source-2.X.X /usr/src/linux

Then cd /usr/src/linux and clean: make-kpkg clean, followed by make menuconfig or make xconfig as you would if compiling a new kernel. Next, you can use make-kpkg kernel_image and then install your new kernel package that has been deposited in /usr/src with dpkg -i ../kernel-image-2.X.X. Next, you can get the pre-packaged source driver using apt. So, in the case of the Quickcam Express, the package is qc-usb-source:

   #  apt-get install qc-usb-source

...and untar the archive:

   #  tar -xvzf qc-usb-modules.tar.gz

This will uncompress the source into the /usr/src/modules directory. The final step, while still in /usr/src/linux is to make the modules with kernel-package:

   #  make-kpkg modules_image

Install the new package, in /usr/src/, called qc-usb-modules-[arch].deb using dpkg -i. Finally, load the module:

   #  modprobe quickcam

Check the documentation in /usr/share/doc/kernel-package for any problems.

5.6. Help, my camera is supported by a driver that has to be patched into my kernel! What do I do?

See the section on patching of the Kernel-HOWTO at The Linux Documentation Project.

The short and unguaranteed version of patching, by your humble author, goes as follows: Be sure you have the same prerequisites outlined in Section 5.4 installed. First, on the command line or in an xterm change to the source directory of the kernel version you are (or will be) running with the camera patch (in this example named patch.diff).

   #  cd /usr/src/linux 
   #  patch -p1 -E patch.diff

You should see a confirmation that the 'hunks' were successfully applied. At this point, you can make menuconfig or whatever program you use to recompile, enabling the appropriate support. If any of the hunks failed, or you run into any problems in addition to the link referenced above you, should consult man patch and Section 5.7.

5.7. Help--as in, where can I get more of it?

See the video4linux mailing list headquarters at https://listman.redhat.com/mailman/listinfo/video4linux-list.

5.8. Help, I want to contribute to Video4Linux support in Linux! Who do I get in touch with?

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *