AVerMedia AVerTV DVB-S Pro (A700)

From LinuxTVWiki
Revision as of 23:18, 3 May 2009 by Jimbley (talk | contribs) (Added category: DVB-S PCI Cards)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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