Cx88 devices (cx2388x)
Introduction
The cx2388x chip is the successor to the bt87x chips; cf. PCI interface chipsets used for v4l cards.
There is also support in the kernel for a cx23416 mpeg encoder via the cx2388x host port though the blackbird driver, cx88-blackbird.c, which includes parts from the ivtv driver.
Supported cards
There doesn't seem to be a list of supported cards in the kernel documentation; here is some information on card numbers from the driver header file, drivers/media/video/cx88/cx88.h:
NOAUTO UNSET UNKNOWN 0 HAUPPAUGE 1 GDI 2 PIXELVIEW 3 ATI_WONDER_PRO 4 WINFAST2000XP_EXPERT 5 AVERTV_303 6 MSI_TVANYWHERE_MASTER 7 WINFAST_DV2000 8 LEADTEK_PVR2000 9 IODATA_GVVCP3PCI 10 PROLINK_PLAYTVPVR 11 ASUS_PVR_416 12 MSI_TVANYWHERE 13 KWORLD_DVB_T 14 DVICO_FUSIONHDTV_DVB_T1 15 KWORLD_LTV883 16 DVICO_FUSIONHDTV_3_GOLD 17 HAUPPAUGE_DVB_T1 18 CONEXANT_DVB_T1 19 PROVIDEO_PV259 20 DVICO_FUSIONHDTV_DVB_T_PLUS 21 PCHDTV_HD3000 22 DNTV_LIVE_DVB_T 23 HAUPPAUGE_ROSLYN 24 DIGITALLOGIC_MEC 25 IODATA_GVBCTV7E 26
Here's a list of model names from cx88-cards.c:
AverTV Studio 303 (M126) MSI TV-@nywhere Master Leadtek Winfast DV2000 Leadtek PVR 2000 IODATA GV-VCP3/PCI Prolink PlayTV PVR ASUS PVR-416 MSI TV-@nywhere KWorld/VStream XPert DVB-T DVICO FusionHDTV DVB-T1 KWorld LTV883RF DViCO - FusionHDTV 3 Gold Hauppauge Nova-T DVB-T Conexant DVB-T reference design Provideo PV259 DVICO FusionHDTV DVB-T Plus digitalnow DNTV Live! DVB-T pcHDTV HD3000 HDTV Hauppauge WinTV 28xxx (Roslyn) models Digital-Logic MICROSPACE Entertainment Center (MEC) IODATA GV/BCTV7E
Support for some additional cards, such as the pcHDTV_HD2000, has been added since then.
I don't have a list of the cards supported by the blackbird driver.
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?
- 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").
- 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]
TV audio types
(drivers/media/video/cx88/cx88.h)
WW_NONE 1 WW_BTSC 2 WW_NICAM_I 3 WW_NICAM_BGDKL 4 WW_A1 5 WW_A2_BG 6 WW_A2_DK 7 WW_A2_M 8 WW_EIAJ 9 WW_SYSTEM_L_AM 10 WW_I2SPT 11 WW_FM 12
Color problem patch
Installation notes
MSI TV-@nywhere Master
This card is not able to do the default QuasiSplitSound demulation. You have to force the IF part to Intercarrier:
options tda9887 qss=0
In addition, set hue full up or down and then adjust the rest. There is a bug nobody has found so far.
Hue_Saturation_Brightness
There was a problem in the cx88 code that resulted in the need to set hue to either 0% or 100% in order to avoid seeing green and blue men on the screen. This problem has been corrected as of the CVS commit on Wed Jun 29 16:28:17 2005 UTC. We have collected information regarding this on Hue_Saturation_Brightness page. This section will be removed shortly (after full testing of this fix).