(Note: this FAQ is quickly composed and contains poor editing. If you'd like to improve it, send patches to me/qce-ga-devel list) Q: I get the following error message: qc-driver.c:51: linux/version.h: No such file or directory qc-driver.c:52: parse error or .../include/linux/config.h:4: linux/autoconf.h: No such file or directory or sed: can't read /usr/src/linux/Makefile: No such file or directory or Makefile:26: /usr/src/linux/.config: No such file or directory A: You must install Linux kernel source code corresponding to the kernel you will be running with the camera driver. The source must be configured and depencies must have been created. Typically you can just install the kernel source package that comes with your distribution. If you're instead using virgin kernel in /usr/src/linux-x.y.zz, you must first copy kernel configuration file to /usr/src/linux-x.y.zz/.config, then go to the directory and run "make oldconfig" and "make dep". You may also need to type cd /usr/src/linux-x.y.zz make include/linux/version.h This should create the missing linux/version.h file. Some more help for Redhat/Mandrake users: If you get a lot of errors on mandrake or red hat when you do a make, it may be because you didn't install a full development version, meaning your kernel sources are not there. This worked for me urpmi kernel-source urpmi kernel-headers urpmi kernel-doc urpmi is your friend, it will find the CD that it needs to get this. Some rpms may be installed already, big deal, do this then do a make, it worked on mandrake 8.2! ------------------------------------------------------------ Q: And finally, I look for /dev/video* (to set the videodev on gnomemeeting) and I haven't any videodevice. A: mknod /dev/video0 c 81 0 chmod a+r /dev/video0 ln -s /dev/video0 /dev/video ------------------------------------------------------------ Q: quickcam.c:2099: too few arguments to function `remap_page_range_R2baf18f2' Damian Ivereigh posted a patch to be able to compile the driver for RedHat 9.0 but I don't know how to do A: Due to qc-usb 0.5.1, this should be now fixed. If you still encounter this problem, and if you're using qc-usb, just compile it with command USER_OPT=-DHAVE_VMA=1 make all Otherwise (if you're using older qce-ga): 1. Download qce-ga-0.40d.tar.gz package and save the patch wget http://www.ee.oulu.fi/~tuukkat/quickcam/qce-gq-rh9.patch wget http://www.ee.oulu.fi/~tuukkat/quickcam/qce-ga-0.40d.tar.gz 2. Extract the package: tar xvfz qce-ga-0.40d.tar.gz 3. Enter the source directory cd qce-ga-0.40d 4. Apply the patch: patch -s -p1 < ../qce-gq-rh9.patch 5. patch complains that the patch is reversed. Answer yes: Reversed (or previously applied) patch detected! Assume -R? [n] y 6. Then compile and install the driver normally make ./quickcam.sh ------------------------------------------------------------ Q: I don't have permissions for /dev/video? A: Easiest way to add permissions is to do chmod a+rw /dev/video? as root. Altenatively, especially on Debian, users belonging to the "video" group can access video devices. In this case, you might instead prefer issuing addgroup <yourlogin> video as root and then login as normal user. Check in which groups your are in with id -a ------------------------------------------------------------ Q: My log files keep filling up (but the driver works fine)! A: use "qcset debug=0" to disable all possible messages. If it doesn't help, send e-mail to mailing lists showing the exact error message that fills your logs. (especially "frame lost" message is uninteresting, it is known to happen with some programs and will be fixed later. ------------------------------------------------------------ Q: quickcam.o: kernel-module version mismatch quickcam.o was compiled for kernel version 2.4.18 while this kernel is version 2.4.18-686-smp. A: Then edit "Makefile" in the kernel source directory and change the line 4 from EXTRAVERSION = to EXTRAVERSION = -686-smp --or if this doesn't help-- Go to /usr/src/linux-2.4/include/linux/version.h and change the UTS_RELEASE to match the output of "uname -r" on the command line (should be 2.4.18-686-smp). Then recompile the module and then the insmod will work perfectly :) [from Mark] ------------------------------------------------------------ Q: I want to reverse engineer an USB camera. How? A: Run *ugh* Windoze *cough* drivers with a USB stream capture program, like http://sourceforge.net/projects/usbsnoop/ Then send the same commands to the camera from Linux. ------------------------------------------------------------ Q: I added IEEE1394 card and now QuickCam doesn't work? A: The card driver overwrites /dev/video0..2, use insmod ./quickcam.o video_nr=3 and then /dev/video3 with QuickCam. Create /dev/video3 with mknod if necessary. [from Makarand] ------------------------------------------------------------ Q: I get oops after call path video_open/qc_v4l_open/qc_v4l_init/ qc_capt_init/qc_frame_init/qc_sensor_init/hdcs_init because qc->sensor pointer was poisoned with 0x5B? A: Some of the driver objects were compiled with debugging and some without. If you change any options (LINUX_DIR or USER_OPT) you must always do first "make clean"! ------------------------------------------------------------ Q: Can I use more than one camera simultaneously? A: Yes, if you have enough bandwidth in USB bus. A single USB 1.0 bus can drive generally only one camera (there is a report that with using "qcset subsample=y" even two cameras might work in one bus, in theory it shouldn't). If you have just two USB ports in your computer, it typically means that you have just one USB bus. You can attach the camera into the ports and do "cat /proc/video/quickcam/*" to see whether the USB bus number is different or the same in the two ports. A single USB 2.0 bus may or may not work with multiple cameras. It appears to depend on the vendor. ------------------------------------------------------------ Q: Do I need to patch my kernel with linux-xxx-quickcam.patch? A: No. To be more precise, only if you want to compile the driver statically into the kernel which would be useful usually only if you want to boot Linux from the camera ;) or if you otherwise want to include the camera driver into the kernel source. If you really want to do this, use "make patch", but it will work only with some kernel versions.