Compro VideoMate Vista M1F

From LinuxTVWiki
Revision as of 15:39, 24 March 2011 by Ramiro (talk | contribs) (Updated page according to inclusion of support of this card in Linux >= 2.6.38)
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

Support to this card has been added to the 'saa7134' V4L2 driver included with mainline Linux kernel starting with version 2.6.38 so no more kernel source patching/compilation is needed. Major Linux distributions will be shipping this kernel in the first half of 2011.

The identifier assigned to this card in the 'saa7134' driver is 183.

  • Video: Works (tested with PAL-Nc cable signal) -- Load manually the 'saa7134' module with 'modprobe saa7134 card=183' or add 'options saa7134 card=183' to a modutils configuration file.
  • 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

Dmesg output when loading the 'saa7134' module with the 'card=183' option:

[    4.966876] Linux video capture interface: v2.00
[    5.067444] saa7130/34: v4l2 driver version 0.2.16 loaded
[    5.067610] ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 17
[    5.067622] saa7134 0000:01:07.0: PCI INT A -> Link[LNKB] -> GSI 17 (level, low) -> IRQ 17
[    5.067628] saa7133[0]: found at 0000:01:07.0, rev: 209, irq: 17, latency: 64, mmio: 0xfeaff800
[    5.067632] saa7133[0]: subsystem: 185b:c900, board: Compro VideoMate Vista M1F [card=183,insmod option]
[    5.067649] saa7133[0]: board init: gpio is 63f00
[    5.101778] IR NEC protocol handler initialized
[    5.116045] Registered IR keymap rc-videomate-m1f
[    5.116118] input: saa7134 IR (Compro VideoMate Vi as /devices/pci0000:00/0000:00:08.0/0000:01:07.0/rc/rc0/input6
[    5.116163] rc0: saa7134 IR (Compro VideoMate Vi as /devices/pci0000:00/0000:00:08.0/0000:01:07.0/rc/rc0
[    5.217444] IR RC5(x) protocol handler initialized
[    5.223031] IR RC6 protocol handler initialized
[    5.257022] saa7133[0]: i2c eeprom 00: 5b 18 00 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[    5.257028] saa7133[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[    5.257034] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 01 03 08 ff 00 89 ff ff ff ff
[    5.257039] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257043] saa7133[0]: i2c eeprom 40: ff da 00 c6 86 ff ff ff 03 ff ff ff c6 ff 04 11
[    5.257048] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb
[    5.257053] saa7133[0]: i2c eeprom 60: 35 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257057] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257062] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257067] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257071] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257076] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257081] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257085] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257090] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.257094] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[    5.267865] IR JVC protocol handler initialized
[    5.324646] i2c-core: driver [tuner] using legacy suspend method
[    5.324648] i2c-core: driver [tuner] using legacy resume method
[    5.460478] IR Sony protocol handler initialized
[    5.634284] lirc_dev: IR Remote Control driver registered, major 251
[    5.675074] tuner 1-0060: chip found @ 0xc0 (saa7133[0])
[    5.675122] tea5767 1-0060: type set to Philips TEA5767HN FM Radio
[    5.680053] tuner 1-0063: chip found @ 0xc6 (saa7133[0])
[    5.680109] tea5767 1-0060: type set to Philips TEA5767HN FM Radio
[    5.786348] IR LIRC bridge handler initialized
[    6.052027] tuner-simple 1-0063: creating new instance
[    6.052030] tuner-simple 1-0063: type set to 37 (LG PAL (newer TAPC series))
[    6.062241] saa7133[0]: dsp access error
[    6.062243] saa7133[0]: dsp access error
[    6.062389] saa7133[0]: registered device video0 [v4l2]
[    6.062410] saa7133[0]: registered device vbi0
[    6.062429] saa7133[0]: registered device radio0
[    6.139996] saa7134 ALSA driver for DMA sound loaded
[    6.140020] 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. The kernel driver module name is 'rc_videomate_m1f'.

For LIRC, somebody needs to create a lircd.conf configuration file for this remote control, maybe based on the VideoMate K300 one. In the meantime I'm happily using inputlirc that provides an instant-gratification-no-need-to-munge-with-weird-config-files experience.

External Links