AVerMedia AVerTV DVB-S Pro (A700)

From LinuxTVWiki
Jump to: navigation, search
AVerMedia's DVB-S Pro (A700) Card

A DVB-S PCI card from AVerMedia.

It is currently unsupported under Linux, however, experimental drivers exist (see below for details).

Note: A hybrid version of the card also exists; see AVerTV DVB-S Hybrid+FM (A700)


Overview/Features

  • DVB-S input; svideo, composite input; IR input

Components Used

Identification

The output of lspci -vvnn reveals:

00:0b.0 Multimedia controller [0480]: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
        Subsystem: Avermedia Technologies Inc Unknown device [1461:a7a1]
        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: 32 (63750ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 22
        Region 0: Memory at dfffb800 (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 PME-Enable- DSel=0 DScale=3 PME-

Making it Work

Firmware

Drivers

Experimental support for this card exists in LinuxTV. However, it seems the driver performs bad under some conditions (maybe related to weak signal).

Patches

Note: As noted above, support was merged into v4l-dvb repository on linuxtv, so there should be no need to apply these patches.
  • Driver from Zzam: Patch can be downloaded from here (take the a700_full_*.diff).
  • Driver from Tino: Patch can be downloaded from here

Driver Development Status

  • Analog part works (Composite, SVideo and audio in)
  • Needed: I2C sniff while tuning with working driver.
  • GPIO setting of windows driver (Detected with regspy):
GPMODE:   0x80040100
GPSTATUS: 0x0655a314 (changing)

This means it explicitly drives GPIO 8 and GPIO 18 high, and GPIO 31 low.

  • board init gpio values:
    • Zzam (Pro): a600
    • Eduard (Pro): 2f200
    • Peter (Hybrid+FM): 6da00
  • eeprom content: The only bytes different from 0xff are
    • subvendor/subdevice id at 0x00: 61 14 a1 a7
    • 4 bytes at 0xe0: 00 01 81 af
    • 2 bytes at 0xe4, differing between all cards
    • cf dd (Zzam, Pro)
    • d7 09 (Eduard, Pro)
    • ea b5 (Peter, Hybrid+FM)
    • fe f6 (bvidinli, Hybrid+FM)

GPIO table

List of known GPIOs.

  • GPIO 0-7: Input Parallel TS
  • GPIO 8: enable IR keyup events (unconfirmed, windows driver outputs 1 here)
  • GPIO 9: IR data (unconfirmed)
  • GPIO 10: IR keydown event (unconfirmed)
  • GPIO 12-15: IR data (unconfirmed)
  • GPIO 16: Input TS Valid
  • GPIO 17: IR data (unconfirmed)
  • GPIO 18: Reset PIN of analog tuner XC2028 (A700 DVB-S Hybrid+FM card only)
  • GPIO 19: Input TS Start of Packet
  • GPIO 21: Maybe needed for radio on A700 DVB-S Hybrid+FM; Comment from inf-file: Setting FM radio of the Silicon tuner via SIF (GPIO 21 in use/ 5.5MHz)
  • GPIO 23: Reset-PIN of demod (Setting it to input seems enough to keep demod out of reset)
  • GPIO 31: unknown (windows driver outputs 0 here)
  • The two output ports of the DVB-tuner (zl10036) (P0, P1) seem to be unusued.

Windows sets GPIOs 8, 18 and 31 as outputs (0x80040100) Initial GPIO read returns these GPIOs high value: 9, 10, 13, 15 (0xa600)

Sample kernel output

After passing the command modprobe saa7134 i2c_scan=1, the relevant output of from dmesg is as follows:

saa7133[0]: found at 0000:00:0b.0, rev: 209, irq: 22, latency: 32, mmio: 0xdfffb800
saa7133[0]: subsystem: 1461:a7a1, board: UNKNOWN/GENERIC [card=0,autodetected]
saa7133[0]: board init: gpio is a600
saa7133[0]: i2c eeprom 00: 61 14 a1 a7 ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: 00 01 81 af cf dd ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c scan: found device @ 0x1c  [???]
saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0

Remote Control Support

External Links