Compro VideoMate Vista M1F

From LinuxTVWiki
Revision as of 18:08, 27 June 2010 by Ramiro (talk | contribs)
Jump to navigation Jump to search
Compro VideoMate Vista M1F

An Analog TV PCI card from Compro Technology.

Overview/Features

  • PCI interface
  • Inputs:
    • Antenna/Cable
    • Composite
    • S-Video In
    • FM antenna
    • Remote control IR receiver
    • Stereo audio input

Components Used

Compro-VideoMate-Vista-M1F.png

(the labels in parenthesis are the ones used in the layout schematic image to the right)

  • NXP/Philips SAA7135HS/203 -- A/V decoder and PCI Interface (IC1)
  • EM78P156LMJ -- 8 bits microprocessor? (IC2)
  • TDA 9801T -- VIF-PLL demodulator & FM-PLL (IC3)
  • TEA 5767 -- FM tuning (IC4)
  • 4.0F8E -- Crystal oscilator (XT1)
  • 32 110 BLX -- Crystal oscilator (XT2)
  • X4.58 -- filter? (FLT1)
  • Tvision TVF85P4-AF-XG-M -- tuner (SINT) -- Manufactured by YMEC http://www.ymec.com.tw -- According to this review at a Russian site, the similarly-named TVF85P4-AF-XG is powered by the TDA 6509A 3-band mixer/oscillator and PLL for terrestrial tuner.

Other Images

Identification

# lspci -vvvnn
01:07.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
       Subsystem: Compro Technology, Inc. VideoMate T750 [185b:c900]
       Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
       Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
       Latency: 64 (21000ns min, 8000ns max)
       Interrupt: pin A routed to IRQ 17
       Region 0: Memory at feaff800 (32-bit, non-prefetchable) [size=2K]
       Capabilities: [40] Power Management version 2
               Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
               Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
       Kernel driver in use: saa7134

Making it Work

Work is underway to add support for this card to the saa7134 V4L2 driver. See this and this thread.

  • Video: Works (tested with PAL-Nc cable signal)
  • Sound: Works (see Sound below)
  • Remote Control: Works (see Remote Control below)
  • FM Radio: Doesn't work (yet)

Firmware

No firmware is needed for this card.

Drivers

See Making it Work above.

Sample Kernel Output

Output when loading the 'saa7134' module with the 'i2c_scan=1' option on a unpatched tree:

# dmesg
[    4.213572] Linux video capture interface: v2.00
[    4.291311] saa7130/34: v4l2 driver version 0.2.15 loaded
[    4.291667] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 17
[    4.291670]   alloc irq_desc for 17 on node -1
[    4.291672]   alloc kstat_irqs on node -1
[    4.291680] saa7134 0000:01:07.0: PCI INT A -> Link[LNKB] -> GSI 17 (level, low) -> IRQ 17
[    4.291684] saa7133[0]: found at 0000:01:07.0, rev: 209, irq: 17, latency: 64, mmio: 0xfeaff800
[    4.291689] saa7133[0]: subsystem: 185b:c900, board: Compro VideoMate T750 [card=139,autodetected]
[    4.291711] saa7133[0]: board init: gpio is 63f00
[    4.291720] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    4.433016] saa7133[0]: i2c eeprom 00: 5b 18 00 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[    4.433022] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[    4.433027] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 01 03 08 ff 00 89 ff ff ff ff
[    4.433032] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433036] saa7133[0]: i2c eeprom 40: ff da 00 c6 86 ff ff ff 03 ff ff ff c6 ff 04 11
[    4.433041] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb
[    4.433045] saa7133[0]: i2c eeprom 60: 35 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433049] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433054] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433058] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433062] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433067] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433071] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433075] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433080] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.433084] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.446016] saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
[    4.450016] saa7133[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
[    4.452016] saa7133[0]: i2c scan: found device @ 0xc6  [???]
[    4.574187] tuner 1-0060: chip found @ 0xc0 (saa7133[0])
[    4.574232] tea5767 1-0060: type set to Philips TEA5767HN FM Radio
[    4.580535] saa7133[0]: registered device video0 [v4l2]
[    4.580551] saa7133[0]: registered device vbi0
[    4.580566] saa7133[0]: registered device radio0
[    4.583456] saa7134 ALSA driver for DMA sound loaded
[    4.583462] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    4.583476] saa7133[0]/alsa: saa7133[0] at 0xfeaff800 irq 17 registered as card -1

Output when loading the 'saa7134' module with the 'card=181 i2c_scan=1' options on a patched tree:

# dmesg
[    4.471051] IR NEC protocol handler initialized
[    4.472733] IR RC5(x) protocol handler initialized
[    4.475089] IR RC6 protocol handler initialized
[    4.476764] IR JVC protocol handler initialized
[    4.478095] IR Sony protocol handler initialized
[    4.561108] Linux video capture interface: v2.00
[    4.689007] saa7130/34: v4l2 driver version 0.2.16 loaded
[    4.689411] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 17
[    4.689415]   alloc irq_desc for 17 on node -1
[    4.689416]   alloc kstat_irqs on node -1
[    4.689424] saa7134 0000:01:07.0: PCI INT A -> Link[LNKB] -> GSI 17 (level, low) -> IRQ 17
[    4.689429] saa7133[0]: found at 0000:01:07.0, rev: 209, irq: 17, latency: 64, mmio: 0xfeaff800
[    4.689433] saa7133[0]: subsystem: 185b:c900, board: Compro VideoMate Vista M1F [card=181,insmod option]
[    4.689449] saa7133[0]: board init: gpio is 63f00
[    4.770021] Registered IR keymap rc-videomate-m1f
[    4.770075] input: saa7134 IR (Compro VideoMate Vi as /devices/pci0000:00/0000:00:08.0/0000:01:07.0/rc/rc0/input8
[    4.770104] rc0: saa7134 IR (Compro VideoMate Vi as /devices/pci0000:00/0000:00:08.0/0000:01:07.0/rc/rc0
[    4.770110] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    4.909016] saa7133[0]: i2c eeprom 00: 5b 18 00 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[    4.909022] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[    4.909026] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 01 03 08 ff 00 89 ff ff ff ff
[    4.909031] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909035] saa7133[0]: i2c eeprom 40: ff da 00 c6 86 ff ff ff 03 ff ff ff c6 ff 04 11
[    4.909040] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb
[    4.909044] saa7133[0]: i2c eeprom 60: 35 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909048] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909053] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909057] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909061] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909066] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909070] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909074] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909079] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.909083] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    4.922016] saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
[    4.926016] saa7133[0]: i2c scan: found device @ 0xc0  [tuner (analog)]
[    4.928020] saa7133[0]: i2c scan: found device @ 0xc6  [???]
[    5.112188] tuner 1-0060: chip found @ 0xc0 (saa7133[0])
[    5.112231] tea5767 1-0060: type set to Philips TEA5767HN FM Radio
[    5.117162] tuner 1-0063: chip found @ 0xc6 (saa7133[0])
[    5.117209] tea5767 1-0060: type set to Philips TEA5767HN FM Radio
[    5.179141] tuner-simple 1-0063: creating new instance
[    5.179143] tuner-simple 1-0063: type set to 37 (LG PAL (newer TAPC series))
[    5.189439] saa7133[0]: registered device video0 [v4l2]
[    5.189453] saa7133[0]: registered device vbi0
[    5.189467] saa7133[0]: registered device radio0
[    5.224483] saa7134 ALSA driver for DMA sound loaded
[    5.224489] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[    5.224504] saa7133[0]/alsa: saa7133[0] at 0xfeaff800 irq 17 registered as card -1

Sound

This card doesn't need an audio cable to be connected between it and the system sound card (although it can be done because there is a green output plug for this purpose in the PCB). The audio signal transfer is done in digital format through the PCI bus.

mplayer

Make sure you use the 'alsa', 'adevice=...' and 'immediatemode=0' options for the '-tv' command line switch to specify the sound capture device from which mplayer should pull the data, e.g.:

$ mplayer tv:// -tv alsa:adevice=hw.2:immediatemode=0

You can get the value for 'adevice' by listing your ALSA capture device with 'arecord', e.g.:

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708B Analog [VT1708B Analog]
  Subdevices: 2/2
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
card 2: SAA7134 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Replace the ':' character with '.' ('hw:2' -> 'hw.2').

tvtime

Tvtime doesn't have support for controlling the sound ALSA devices. I still haven't tried using any of the ALSA-OSS compatibility solutions available.

Remote Control

The remote control included is Windows Media Center-certified, it uses the RC-6 protocol.

It is the same as the one included with the K100 kit sold by Compro but with a receiver integrated into the card instead of an USB one.

Support is implemented through the Linux kernel input layer.

External Links