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.jpeg, outfile002.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.