1. Should I use CONFIG_MODVERSIONS when compiling a Linux kernel? Short answer: No. Long answer: MODVERSIONS allows you to safely use a module on multiple kernel versions. However, making comedi work with CONFIG_MODVERSIONS is a real pain. Sometimes it works, sometimes it doesn't. 2. I get the error message: Makefile:14: /usr/src/linux/.config: No such file or directory make: *** No rule to make target `/usr/src/linux/.config'. Stop. It means you don't have the file /usr/src/linux/.config. This file contains all the configuration information about your linux kernel, which comedi needs in order to compile correctly. Some distributions don't contain this file, so you will need to create your own, by compiling your own kernel. This file is automatically created when you run 'make config', the first step in compiling a kernel. 3. When compiling programs that use libcomedi, I get error message: /usr/lib/libcomedi.a(range.o): In function `comedi_from_phys': range.o(.text+0x169): undefined reference to `floor' This error messsage indicates that the linker cannot resolve the reference to floor(), which is a function in the math library that is used in the function comedi_from_phys(). This only happens when you link statically. Add '-lm' to your linking command. 4. Someone on the mailing list told me to look in the kernel log. How do I do that? Kernel log messages are continuously written to the file /var/log/messages. In addition, a shortcut to get recent log messages is the 'dmesg' command, which will print the last 4-16 kB (depending on the kernel) of kernel log messages. 5. I think I found a bug: I get Oops messages in the kernel log. Oops messages always indicate a bug. If you are not using the latest version of Comedi, please upgrade and try again, since these types of bugs are usually quickly fixed. Look at the file BUG_REPORTING in the Linux kernel source, follow the instructions, and send the information to David Schleef . 6. Could you please add a search engine to the mailing list archive? No. Please use generic web search engines such as Google, where you can add the search term "site:stm.lbl.gov" to limit the search to the site where the Comedi archives are located. 7. I apply a signal to channel 0, but I see the signal on other channels. Typically, this is an electrical problem that can come from multiple sources. First, any inputs that are not specifically driven or grounded will tend to float around, measuring random electrical signals in their environment -- the strongest of which are usually nearby channels, 50/60 Hz line noise, or the A/D converter itself. 8. An FFT of measured data shows lots of sharp peaks. Yep. Not much that can be done about that. Well, actually, there is. Peaks near multiples of 50 or 60 Hz are electromagnetic coupling from the power mains. Almost all the time, this indicates a ground loop in the measurement path. Peaks that are multiples of 100 or 120 Hz on photodetectors are because of the room lights. Peaks in the 100-1000 Hz range, with harmonics, are sometimes stray fields from electric motors. Strong, sharp peaks in the 1-100 kHz range are typically due to the horizontal refresh of CRT displays (like your computer monitor). Less strong peaks can be due to electronics in a computer or other device. However, a sharp peak in an FFT does not always indicate a problem. Remember that you always have noise, and that some of it will be periodic. You just have to make sure that the particular type of noise that you have does not affect your analysis. 9. Ok, I'm getting good results. What should I look at to get great results? - Make sure that all unused inputs are grounded. Electrically floating wires act as antennas, picking up stray electrical signals, and often strongly coupling them into the signals you actually want to measure. - Get a flat panel monitor. CRT displays emit strong magnetic fields oscillating at the horizontal refresh rate. It is most easily observable in a Fourier transform of an input signal. - Calibrate your board. - Read up on ground loops. Make sure that all your electrical shielding has exactly one path to a common ground. - If you use a laptop for data acquisition, make sure it is grounded properly. Laptops usually are not grounded, and you generally don't want your data acquisition cable to also be your grounding wire. -