Cx88 devices (cx2388x): Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
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:
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_NOAUTO UNSET
CX88_BOARD_UNKNOWN 0
CX88_BOARD_UNKNOWN 0
CX88_BOARD_HAUPPAUGE 1
CX88_BOARD_HAUPPAUGE 1
CX88_BOARD_GDI 2
CX88_BOARD_GDI 2
CX88_BOARD_PIXELVIEW 3
CX88_BOARD_PIXELVIEW 3
CX88_BOARD_ATI_WONDER_PRO 4
CX88_BOARD_ATI_WONDER_PRO 4
CX88_BOARD_WINFAST2000XP_EXPERT 5
CX88_BOARD_WINFAST2000XP 5
CX88_BOARD_AVERTV_303 6
CX88_BOARD_AVERTV_303 6
CX88_BOARD_MSI_TVANYWHERE_MASTER 7
CX88_BOARD_MSI_TVANYWHERE_MASTER 7
CX88_BOARD_WINFAST_DV2000 8
CX88_BOARD_WINFAST_DV2000 8
CX88_BOARD_LEADTEK_PVR2000 9
CX88_BOARD_LEADTEK_PVR2000 9
CX88_BOARD_IODATA_GVVCP3PCI 10
CX88_BOARD_IODATA_GVVCP3PCI 10
CX88_BOARD_PROLINK_PLAYTVPVR 11
CX88_BOARD_PROLINK_PLAYTVPVR 11
CX88_BOARD_ASUS_PVR_416 12
CX88_BOARD_ASUS_PVR_416 12
CX88_BOARD_MSI_TVANYWHERE 13
CX88_BOARD_MSI_TVANYWHERE 13
CX88_BOARD_KWORLD_DVB_T 14
CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1 15
CX88_BOARD_KWORLD_LTV883 16
CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD 17
CX88_BOARD_HAUPPAUGE_DVB_T1 18
CX88_BOARD_CONEXANT_DVB_T1 19
CX88_BOARD_PROVIDEO_PV259 20
CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS 21
CX88_BOARD_PCHDTV_HD3000 22
CX88_BOARD_DNTV_LIVE_DVB_T 23
CX88_BOARD_HAUPPAUGE_ROSLYN 24
CX88_BOARD_DIGITALLOGIC_MEC 25
CX88_BOARD_IODATA_GVBCTV7E 26


Support for some cards, such as the pcHDTV_HD2000, has been added since then.
Some cx88 cards also have a digital driver; these cards are recognized according to the DVB cardlist. For details see the [http://linuxtv.org/wiki DVB wiki].


===Release notes===
===Release notes===
(Documentation/video4linux/README.cx88 from 2.6.12-rc2)
(Documentation/video4linux/README.cx88 from 2.6.12-rc2 with some added links)


This is a v4l2 device driver for the cx2388x chip.
This is a v4l2 device driver for the cx2388x chip.
Line 35: Line 48:
* Basically works.
* Basically works.
* Some minor image quality glitches (cf. color problem patch below)
* 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.
* For now only capture, overlay support isn't completed yet.


Line 62: Line 74:
the driver. What to do then?
the driver. What to do then?


# Try upgrading to the latest snapshot, maybe it has been added meanwhile.
# Try upgrading to the latest snapshot, maybe it has been added meanwhile (use the mainline kernel; cf. [[How to submit patches]]).
# 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").
# 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:
# 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 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
* 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 [[tuners |CARDLIST.tuner]].


Have fun,
Have fun,

Revision as of 00:31, 30 April 2005

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_EXPERT     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
CX88_BOARD_KWORLD_DVB_T            14
CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1 15
CX88_BOARD_KWORLD_LTV883           16
CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD 17
CX88_BOARD_HAUPPAUGE_DVB_T1        18
CX88_BOARD_CONEXANT_DVB_T1         19
CX88_BOARD_PROVIDEO_PV259          20
CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS 21
CX88_BOARD_PCHDTV_HD3000           22
CX88_BOARD_DNTV_LIVE_DVB_T         23
CX88_BOARD_HAUPPAUGE_ROSLYN        24
CX88_BOARD_DIGITALLOGIC_MEC        25
CX88_BOARD_IODATA_GVBCTV7E         26

Support for some cards, such as the pcHDTV_HD2000, has been added since then.

Release notes

(Documentation/video4linux/README.cx88 from 2.6.12-rc2 with some added links)

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)
  • 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?

  1. Try upgrading to the latest snapshot, maybe it has been added meanwhile (use the mainline kernel; cf. How to submit patches).
  2. 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").
  3. 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

.