Cx88 devices (cx2388x)
Introduction
The cx2388x chip is the successor to the bt87x chips; cf. PCI interface chipsets used for v4l cards.
Supported cards
There doesn't seem to be a list of supported cards in the kernel documentation; here is some information from the driver header file, /usr/src/linux/drivers/media/video/cx88/cx88.h:
CX88_BOARD_NOAUTO UNSET CX88_BOARD_UNKNOWN 0 CX88_BOARD_HAUPPAUGE 1 CX88_BOARD_GDI 2 CX88_BOARD_PIXELVIEW 3 CX88_BOARD_ATI_WONDER_PRO 4 CX88_BOARD_WINFAST2000XP 5 CX88_BOARD_AVERTV_303 6 CX88_BOARD_MSI_TVANYWHERE_MASTER 7 CX88_BOARD_WINFAST_DV2000 8 CX88_BOARD_LEADTEK_PVR2000 9 CX88_BOARD_IODATA_GVVCP3PCI 10 CX88_BOARD_PROLINK_PLAYTVPVR 11 CX88_BOARD_ASUS_PVR_416 12 CX88_BOARD_MSI_TVANYWHERE 13
Some cx88 cards also have a digital driver; these cards are recognized according to the DVB cardlist. For details see the DVB wiki.
Release notes
(Documentation/video4linux/README.cx88 from 2.6.12-rc2)
This is a v4l2 device driver for the cx2388x chip.
Current status
Video
- Basically works.
- Some minor image quality glitches (cf. color problem patch below)
- Red and blue are swapped sometimes for not-yet known reasons (seems to depend on the image size, try to resize your tv app window as workaround ...).
- For now only capture, overlay support isn't completed yet.
Audio
- The chip specs for the on-chip TV sound decoder are next to useless :-/
- Neverless the builtin TV sound decoder starts working now, at least for PAL-BG. Other TV norms need other code ...
FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE USING.
- Most tuner chips do provide mono sound, which may or may not be useable depending on the board design. With the Hauppauge cards it works, so there is mono sound available as fallback.
- audio data dma (i.e. recording without loopback cable to the sound card) should be possible, but there is no code yet ...
vbi (cf. text capture)
- Some code present. Doesn't crash any more, but also doesn't work yet ...
How to add support for new cards
The driver needs some config info for the TV cards. This stuff is in cx88-cards.c. If the driver doesn't work well you likely need a new entry for your card in that file. Check the kernel log (using dmesg) to see whenever the driver knows your card or not. There is a line like this one:
cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \ 34xxx models [card=1,autodetected]
If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to the driver. What to do then?
- Try upgrading to the latest snapshot, maybe it has been added meanwhile.
- You can try to create a new entry yourself, have a look at cx88-cards.c. If that worked, mail me your changes as unified diff ("diff -u").
- Or you can mail me the config information. I need at least the following informations to add the card:
- the PCI Subsystem ID ("0070:3400" from the line above, "lspci -v" output is fine too).
- the tuner type used by the card. You can try to find one by trial-and-error using the tuner=<n> insmod option. If you know which one the card has you can also have a look at the list in CARDLIST.tuner
Have fun,
Gerd
Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
Color problem patch
.