[an error occurred while processing this directive] v4l2 driver FAQ [an error occurred while processing this directive]

v4l2 drivers FAQ

Please check the v4l wiki for most recent informations about video4linux and the drivers. As I don't maintain v4l any more the informations below will bitrot over time. I'll keep them online for now, but at some point in the future the pages will likely disappear.

Q: Can you help me installing the drivers?

No. Sorry, but I simply don't have the time to do email support on general linux topics for newbies. There is plenty of documentation about kernel compiling and related topics for you to read. If that doesn't help ask your local linux guru.

Q: I have a problem with the foobar TV card ...

Instead of mailing me directly better ask on the video4linux list.

There are a large number of different TV cards on the market. And althrough I own more TV cards than most other people of the world, that still coveres only a very small share of the total TV card market. On the mailinglist the chances are much higher that you'll find someone which has the same TV card and can help you better than I can. There are also more people around which might know the answer for your problem.

Q: I get unresolved symbols when I try to load the modules

Q: I get a kernel oops when I try to load the modules

If you have compiled a snapshot tarball: make sure that all modules are the snapshot versions. Mixing kernel and snapshot modules often doesn't work.

Q: I get kernel crashes when using the driver

The v4l2 drivers seem to trigger hardware problems quite often. Thus if your machine crashes while using them, that doesn't imply a kernel bug. A hardware problem is very likely if these problems happen independant of the driver version.

One common error pattern is that multiple devices doing DMA at the same time cause problems, for example harddisk I/O while watching TV. Turning off IDE DMA makes the system work stable.

The bttv driver has two insmod options which enable workarounds for some common PCI chipset flaws: triton1 and vsfx. You can try if setting one of these fixes your problems. If that helps please contact me, so we can mark the chipset in the PCI quirks and enable the workarounds automatically.

Playing around with the BIOS settings might also help to make the system run stable. Reportly (thanks to Peter F. Curran) for a board with via chipset this helped: Setting "PCI Master Bus Time-Out" from "Disabled" to "001".

Q: I can't tune any TV station

Probably a wrong tuner type. You can overwrite that with the tuner=nr insmod option of the bttv, saa8134 or cx8800 module.

Unfortunaly it is impossible to detect the tuner type directly. For some TV cards it is known how to figure the exact tuner type indirectly, for example by parsing the configuration info within the card's eeprom. For most cards the drivers simply have a hardcoded default value. That catches most cases, but there are a few exceptions where the vendors ship the TV cards with different tuners depending on the region they are sold (PAL tuner in europe, NTSC tuner in the US) and there is no known way to figure what tuner the card actually has.

Q: I still can't tune any TV station

Also worth a try is to load the tda9887 module which is needed by several TV cards. Please drop me a mail if that fixes your tuning problems and the tda9887 module is not autoloaded, so I can update the config info in the driver(s).

Q: I can tune most TV stations, but some don't work

That also very likely is a wrong tuner type. Many of the tuner types are very simliar, they have just slightly different frequency ranges. So if you (or the driver) picks a wrong one it may happen that most TV stations still can be tuned fine, simply because large frequency ranges between the corrent and the configured (but wrong) tuner types are identical. The few stations which happen to live in a frequency range which isn't identical don't work ...

Another effect you might see and which also happens due to a wrong tuner type is that the frequency scale is shifted a bit. You can tune all stations but need a constant finetune offset for every station to get a good picture.

Q: How can I use the infrared remote shipped with the tv card ?

In the 2.6 kernels the remote simply is registered as keyboard input device within the linux input layer. When using the saa7134 driver it "just works", with bttv you'll have to load either ir-kbd-gpio or ir-kbd-i2c depending on your TV card. If in doubt just try both. Have a look at the /proc/bus/input/devices file to see whenever the device is present or not.

BTW: starting with 2.6.5 the standard kernel includes a input driver for ATI USB remotes as well which works the same way.

With the driver loaded the IR just works like a additional keyboard. The numbers are mapped to the keypad keys. Depending on the X-Servers keyboard configuration (try to pick a multimedia keyboard) other keys like the ones for volume control might work too.

With in-depth knowledge of the X-Servers xkb extention if should be possible to get all keys working. I can't help with that through, sorry.

Q: But I want use lircd for IR input.

No problem, you can do that too:

  1. Get a recent lircd version with linux input layer support. The 0.6.6 release is too old, a cvs snapshot or a 0.7 pre-release should do. You only need to build the lircd daemon + tools, no lirc kernel drivers needed. Take care that the dev/input driver is included when building lircd (either ./configure --with-driver=any to simply include all drivers or --with-driver=devinput).
  2. Load the evdev module (which is part of the linux input layer). Check /proc/bus/input/devices to see which eventn device the IR input device has.
  3. Fetch the lircd.conf file for the linux input layer.
  4. Start the daemon this way:
    /usr/sbin/lircd -H dev/input -d /dev/input/eventn.

That's it.

[an error occurred while processing this directive]