Cx88 devices (cx2388x): Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 107: Line 107:
WW_NONE 1
WW_NONE 1
WW_BTSC 2
WW_BTSC 2
WW_BG 3
WW_BG 3
WW_DK 4
WW_DK 4
WW_I 5
WW_I 5
WW_L 6
WW_L 6
WW_EIAJ 7
WW_EIAJ 7
WW_I2SPT 8
WW_I2SPT 8
WW_FM 9
WW_FM 9


===[[Color problem patch]]===
===[[Color problem patch]]===

Revision as of 11:40, 17 February 2006

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.

The pcHDTV3000 card supports both analog and digital capture; see Peter Knaggs excellent configuration guide with further references.

Supported cards

We will tell a cx88 based card to be supported from video4linux, if it is listed in the Linux kernel documentation, mostly in /usr/src/linux/Documentation/video4linux/CARDLIST.cx88.

 0 -> UNKNOWN/GENERIC
 1 -> Hauppauge WinTV 34xxx models                        [0070:3400,0070:3401]
 2 -> GDI Black Gold                                      [14c7:0106,14c7:0107]
 3 -> PixelView                                           [1554:4811]
 4 -> ATI TV Wonder Pro                                   [1002:00f8]
 5 -> Leadtek Winfast 2000XP Expert                       [107d:6611,107d:6613]
 6 -> AverTV Studio 303 (M126)                            [1461:000b]
 7 -> MSI TV-@nywhere Master                              [1462:8606]
 8 -> Leadtek Winfast DV2000                              [107d:6620]
 9 -> Leadtek PVR 2000                                    [107d:663b,107d:663C]
10 -> IODATA GV-VCP3/PCI                                  [10fc:d003]
11 -> Prolink PlayTV PVR
12 -> ASUS PVR-416                                        [1043:4823]
13 -> MSI TV-@nywhere
14 -> KWorld/VStream XPert DVB-T                          [17de:08a6]
15 -> DViCO FusionHDTV DVB-T1                             [18ac:db00]
16 -> KWorld LTV883RF
17 -> DViCO FusionHDTV 3 Gold-Q                           [18ac:d810]
18 -> Hauppauge Nova-T DVB-T                              [0070:9002]
19 -> Conexant DVB-T reference design                     [14f1:0187]
20 -> Provideo PV259                                      [1540:2580]
21 -> DViCO FusionHDTV DVB-T Plus                         [18ac:db10]
22 -> pcHDTV HD3000 HDTV                                  [7063:3000]
23 -> digitalnow DNTV Live! DVB-T                         [17de:a8a6]
24 -> Hauppauge WinTV 28xxx (Roslyn) models               [0070:2801]
25 -> Digital-Logic MICROSPACE Entertainment Center (MEC) [14f1:0342]
26 -> IODATA GV/BCTV7E                                    [10fc:d035]
27 -> PixelView PlayTV Ultra Pro (Stereo)
28 -> DViCO FusionHDTV 3 Gold-T                           [18ac:d820]
29 -> ADS Tech Instant TV DVB-T PCI                       [1421:0334]
30 -> TerraTec Cinergy 1400 DVB-T                         [153b:1166]
31 -> DViCO FusionHDTV 5 Gold                             [18ac:d500]
32 -> AverMedia UltraTV Media Center PCI 550              [1461:8011]
33 -> Kworld V-Stream Xpert DVD
34 -> ATI HDTV Wonder                                     [1002:a101]
35 -> WinFast DTV1000-T                                   [107d:665f]
36 -> AVerTV 303 (M126)                                   [1461:000a]

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


Release notes

(Documentation/video4linux/README.cx88 from 2.6.15.4 with some added links)

This is a v4l2 device driver for the cx2388x chip.

Current status

Video

  • Basically works.
  • Some minor image quality glitches
  • 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]

TV audio types

(drivers/media/video/cx88/cx88.h)

WW_NONE         1
WW_BTSC         2
WW_BG           3
WW_DK           4
WW_I            5
WW_L            6
WW_EIAJ         7
WW_I2SPT        8
WW_FM           9

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.

Q: How can users force the IF part to Intercarrier as described above? Source code modification before installation? by union

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.

WinTV Go

The WinTV Go card also known to your lspci program as:

Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)

Subsystem: Hauppauge computer works Inc. Hauppauge WinTV 34xxx models

works with the following help:

modprobe cx88xx tuner=56 && modprobe cx8800


Since it responds to Philips commands this specific tuner, Philips PAL/SECAM multi (FQ1216AME MK4), responded best.

Leadtek PVR 2000

The Leadtek PVR 2000 card also known to your lspci program as(BTW I am runing Fedor core3 ):

      01:01.0 Multimedia video controller: Conexant Winfast TV2000 XP (rev 05)
      Subsystem: LeadTek Research Inc.: Unknown device 663c
      Flags: medium devsel, IRQ 9
      Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
      Capabilities: [44] Vital Product Data
      Capabilities: [4c] Power Management version 2
      01:01.2 Multimedia controller: Conexant: Unknown device 8802 (rev 05)
      Subsystem: LeadTek Research Inc.: Unknown device 663c
      Flags: bus master, medium devsel, latency 64, IRQ 9
      Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
      Capabilities: [4c] Power Management version 2

pay attention that:the hardware is detected as Winfast TV200 XP when Fedore core 3 is starting. in fact , my hardware card is Winfast PVR 2000.I do know where is the problem.so when you config it's remote function with lirc driver you must be careful.

[root@root bttv-0.9.11]# modprobe cx8800

[root@root bttv-0.9.11]# tail /var/log/messages

      Dec 10 18:53:40 root kernel: ACPI: PCI interrupt 0000:01:01.0[A] -> GSI 9 (level, low) -> IRQ 9
      Dec 10 18:53:40 root kernel: cx8800[0]: found at 0000:01:01.0, rev: 5, irq: 9, latency: 64, mmio: 0xfc000000
      Dec 10 18:53:40 root kernel: cx8800[0]: subsystem: 107d:663c, board: Leadtek PVR 2000 [card=9,autodetected]
      Dec 10 18:53:40 root kernel: cx8800[0]: i2c register ok
      Dec 10 18:53:40 root kernel: tuner: Ignoring new-style parameters in presence of obsolete ones
      Dec 10 18:53:40 root kernel: tuner: chip found at addr 0xc0 i2c-bus cx8800[0]
      Dec 10 18:53:40 root kernel: tuner: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3)) by cx8800[0]
      Dec 10 18:53:40 root kernel: cx8800[0]: i2c attach [client=Philips PAL/SECAM multi (FM1216ME MK3)]
      Dec 10 18:53:40 root kernel: cx8800[0]: registered device video0 [v4l2]
      Dec 10 18:53:40 root kernel: cx8800[0]: registered device vbi0

Leadtek PVR 2000

The Leadtek PVR 2000 card also known to your lspci program as(BTW I am runing Fedor core3 ):

       01:01.0 Multimedia video controller: Conexant Winfast TV2000 XP (rev 05)
       Subsystem: LeadTek Research Inc.: Unknown device 663c
       Flags: medium devsel, IRQ 9
       Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
       Capabilities: [44] Vital Product Data
       Capabilities: [4c] Power Management version 2
       01:01.2 Multimedia controller: Conexant: Unknown device 8802 (rev 05)
       Subsystem: LeadTek Research Inc.: Unknown device 663c
       Flags: bus master, medium devsel, latency 64, IRQ 9
       Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
       Capabilities: [4c] Power Management version 2

pay attention that:the hardware is detected as Winfast TV200 XP when Fedore core 3 is starting. in fact , my hardware card is Winfast PVR 2000.I do know where is the problem.so when you config it's remote function with lirc driver you must be careful.

[root@root bttv-0.9.11]# modprobe cx8800

[root@root bttv-0.9.11]# tail /var/log/messages

       Dec 10 18:53:40 root kernel: ACPI: PCI interrupt 0000:01:01.0[A] -> GSI 9 (level, low) -> IRQ 9
       Dec 10 18:53:40 root kernel: cx8800[0]: found at 0000:01:01.0, rev: 5, irq: 9, latency: 64, mmio: 0xfc000000
       Dec 10 18:53:40 root kernel: cx8800[0]: subsystem: 107d:663c, board: Leadtek PVR 2000 [card=9,autodetected]
       Dec 10 18:53:40 root kernel: cx8800[0]: i2c register ok
       Dec 10 18:53:40 root kernel: tuner: Ignoring new-style parameters in presence of obsolete ones
       Dec 10 18:53:40 root kernel: tuner: chip found at addr 0xc0 i2c-bus cx8800[0]
       Dec 10 18:53:40 root kernel: tuner: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3)) by cx8800[0]
       Dec 10 18:53:40 root kernel: cx8800[0]: i2c attach [client=Philips PAL/SECAM multi (FM1216ME MK3)]
       Dec 10 18:53:40 root kernel: cx8800[0]: registered device video0 [v4l2]
       Dec 10 18:53:40 root kernel: cx8800[0]: registered device vbi0