]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - Documentation/video4linux/CQcam.txt
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[mirror_ubuntu-artful-kernel.git] / Documentation / video4linux / CQcam.txt
CommitLineData
1da177e4
LT
1c-qcam - Connectix Color QuickCam video4linux kernel driver
2
3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>
48773e68 4 released under GNU GPL.
1da177e4
LT
5
61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind
7
8
9Table of Contents
10
111.0 Introduction
122.0 Compilation, Installation, and Configuration
133.0 Troubleshooting
144.0 Future Work / current work arounds
159.0 Sample Program, v4lgrab
1610.0 Other Information
17
18
191.0 Introduction
20
83c73537 21 The file ../../drivers/media/parport/c-qcam.c is a device driver for
575f9af8 22the Logitech (nee Connectix) parallel port interface color CCD camera.
1da177e4
LT
23This is a fairly inexpensive device for capturing images. Logitech
24does not currently provide information for developers, but many people
25have engineered several solutions for non-Microsoft use of the Color
26Quickcam.
27
281.1 Motivation
29
30 I spent a number of hours trying to get my camera to work, and I
31hope this document saves you some time. My camera will not work with
32the 2.2.13 kernel as distributed, but with a few patches to the
33module, I was able to grab some frames. See 4.0, Future Work.
34
35
36
372.0 Compilation, Installation, and Configuration
38
39 The c-qcam depends on parallel port support, video4linux, and the
40Color Quickcam. It is also nice to have the parallel port readback
41support enabled. I enabled these as modules during the kernel
42configuration. The appropriate flags are:
43
44 CONFIG_PRINTER M for lp.o, parport.o parport_pc.o modules
45 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module
46 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module
47 CONFIG_VIDEO_DEV M for videodev.o video4linux module
48773e68 48 CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module
1da177e4
LT
49
50 With these flags, the kernel should compile and install the modules.
51To record and monitor the compilation, I use:
52
53 (make zlilo ; \
54 make modules; \
48773e68 55 make modules_install ;
1da177e4
LT
56 depmod -a ) &>log &
57 less log # then a capital 'F' to watch the progress
48773e68 58
1da177e4
LT
59But that is my personal preference.
60
612.2 Configuration
48773e68 62
1da177e4 63 The configuration requires module configuration and device
970e2486 64configuration. The following sections detail these procedures.
1da177e4
LT
65
66
48773e68 672.1 Module Configuration
1da177e4
LT
68
69 Using modules requires a bit of work to install and pass the
970e2486 70parameters. Understand that entries in /etc/modprobe.d/*.conf of:
1da177e4
LT
71
72 alias parport_lowlevel parport_pc
73 options parport_pc io=0x378 irq=none
74 alias char-major-81 videodev
75 alias char-major-81-0 c-qcam
76
1da177e4
LT
772.2 Device Configuration
78
79 At this point, we need to ensure that the device files exist.
80Video4linux used the /dev/video* files, and we want to attach the
81Quickcam to one of these.
82
83 ls -lad /dev/video* # should produce a list of the video devices
84
85If the video devices do not exist, you can create them with:
86
87 su
88 cd /dev
89 for ii in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
90 mknod video$ii c 81 $ii # char-major-81-[0-16]
91 chown root.root video$ii # owned by root
92 chmod 600 video$ii # read/writable by root only
93 done
94
95 Lots of people connect video0 to video and bttv, but you might want
96your c-qcam to mean something more:
97
98 ln -s video0 c-qcam # make /dev/c-qcam a working file
99 ln -s c-qcam video # make /dev/c-qcam your default video source
100
101 But these are conveniences. The important part is to make the proper
102special character files with the right major and minor numbers. All
103of the special device files are listed in ../devices.txt. If you
104would like the c-qcam readable by non-root users, you will need to
105change the permissions.
106
1073.0 Troubleshooting
108
109 If the sample program below, v4lgrab, gives you output then
110everything is working.
111
112 v4lgrab | wc # should give you a count of characters
113
114 Otherwise, you have some problem.
115
116 The c-qcam is IEEE1284 compatible, so if you are using the proc file
117system (CONFIG_PROC_FS), the parallel printer support
118(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you
119should be able to read some identification from your quickcam with
120
48773e68
MCC
121 modprobe -v parport
122 modprobe -v parport_probe
123 cat /proc/parport/PORTNUMBER/autoprobe
1da177e4
LT
124Returns:
125 CLASS:MEDIA;
126 MODEL:Color QuickCam 2.0;
127 MANUFACTURER:Connectix;
128
129 A good response to this indicates that your color quickcam is alive
130and well. A common problem is that the current driver does not
131reliably detect a c-qcam, even though one is attached. In this case,
132
48773e68 133 modprobe -v c-qcam
1da177e4
LT
134or
135 insmod -v c-qcam
136
137 Returns a message saying "Device or resource busy" Development is
138currently underway, but a workaround is to patch the module to skip
139the detection code and attach to a defined port. Check the
140video4linux mailing list and archive for more current information.
141
1423.1 Checklist:
143
144 Can you get an image?
48773e68 145 v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm
1da177e4 146
48773e68
MCC
147 Is a working c-qcam connected to the port?
148 grep ^ /proc/parport/?/autoprobe
1da177e4 149
48773e68
MCC
150 Do the /dev/video* files exist?
151 ls -lad /dev/video
1da177e4 152
48773e68
MCC
153 Is the c-qcam module loaded?
154 modprobe -v c-qcam ; lsmod
1da177e4
LT
155
156 Does the camera work with alternate programs? cqcam, etc?
157
158
159
160
1614.0 Future Work / current workarounds
162
163 It is hoped that this section will soon become obsolete, but if it
164isn't, you might try patching the c-qcam module to add a parport=xxx
165option as in the bw-qcam module so you can specify the parallel port:
166
48773e68 167 insmod -v c-qcam parport=0
1da177e4
LT
168
169And bypass the detection code, see ../../drivers/char/c-qcam.c and
170look for the 'qc_detect' code and call.
171
172 Note that there is work in progress to change the video4linux API,
173this work is documented at the video4linux2 site listed below.
174
175
48773e68 1769.0 --- A sample program using v4lgrabber,
1da177e4 177
a22f1cbc 178v4lgrab is a simple image grabber that will copy a frame from the
1da177e4 179first video device, /dev/video0 to standard output in portable pixmap
a22f1cbc
RD
180format (.ppm) To produce .jpg output, you can use it like this:
181'v4lgrab | convert - c-qcam.jpg'
1da177e4
LT
182
183
18410.0 --- Other Information
185
186Use the ../../Maintainers file, particularly the VIDEO FOR LINUX and PARALLEL
187PORT SUPPORT sections
188
189The video4linux page:
43db48d3 190 http://linuxtv.org
1da177e4 191
43db48d3
MCC
192The V4L2 API spec:
193 http://v4l2spec.bytesex.org/
1da177e4
LT
194
195Some web pages about the quickcams:
0ea6e611 196 http://www.pingouin-land.com/howto/QuickCam-HOWTO.html
1da177e4
LT
197
198 http://www.crynwr.com/qcpc/ QuickCam Third-Party Drivers
199 http://www.crynwr.com/qcpc/re.html Some Reverse Engineering
0ea6e611 200 http://www.wirelesscouch.net/software/gqcam/ v4l client
1da177e4
LT
201 http://phobos.illtel.denver.co.us/pub/qcread/ doesn't use v4l
202 ftp://ftp.cs.unm.edu/pub/chris/quickcam/ Has lots of drivers
203 http://www.cs.duke.edu/~reynolds/quickcam/ Has lots of information
204
205