AVerMedia AVerTV DVB-S Pro (A700)
Jump to navigation
Jump to search
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
- Zarlink ZL10036 (DVB-S Tuner) (i2c-addr: 0x60)
- Zarlink ZL10313 (DVB-S Demodulator) (i2c-addr: 0x0e)
- Philips SAA7135HL (PCI Bridge)
- 24CC02 (Serial EEPROM 2KBit) (i2c-addr: 0x50)
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