AVerMedia AVerTV Hybrid+FM PCI (A16D)
Jump to navigation
Jump to search
A DVB-T PCI card produced by AVerMedia.
This card is supported under Linux, having since been added to kernel 2.6.26.
Note: There are actually two different AVerMedia cards that bear the identical name "AVerTV Hybrid+FM PCI", so one must be careful to distinguish between this one, the A16D, and the other, the A16AR.
Note: The kernel 2.6.26 only supports analogue mode. Please use the kernel 2.6.27 for DVB-T suport.
Overview/Features
Components Used
The A16D model consists of the following hardware components:
- Xceive XC3028 (tuner & analog demodulator)
- Philips SAA7135HL (A/V decoder)
- Zarlink MT352 (DVB-T demodulator)
Identification
If you have an A16D correctly detected then "sudo lspci -vvnn" should be similar to:
(Example from Ubuntu 8.04 using 2.6.24-19-generic x86_64) 03:07.0 Multimedia controller [0480]: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1) Subsystem: Avermedia Technologies Inc Unknown device [1461:f936] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 Interrupt: pin A routed to IRQ 21 Region 0: Memory at fdcfe000 (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=0 PME-
- Note: the above output from lspci shows the card NOT being properly/automagically detected/recognized! ... it would be nice if someone could provide the output from lspci where it shows the card being properly detected
(From Gentoo, kernel 2.6.30-gentoo-r5 x86_64) 04:05.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1) Subsystem: Avermedia Technologies Inc Hybrid+FM PCI (rev A16D) [1461:f936] 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 Interrupt: pin A routed to IRQ 20 Region 0: Memory at fddff000 (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=0 PME-
Making it work
Firmware
Drivers
Sample kernel output
If you have an A16D correctly detected then the related dmesg output should be similar to:
(Example from Ubuntu 8.04 using 2.6.24-19-generic x86_64) [ 63.704203] Linux video capture interface: v2.00 [ 63.752924] ACPI: WMI-Acer: Mapper loaded [ 64.099345] saa7130/34: v4l2 driver version 0.2.14 loaded [ 64.099459] ACPI: PCI Interrupt 0000:03:07.0[A] -> GSI 21 (level, low) -> IRQ 21 [ 64.099467] saa7133[0]: found at 0000:03:07.0, rev: 209, irq: 21, latency: 32, mmio: 0xfdcfe000 [ 64.099475] saa7133[0]: subsystem: 1461:f936, board: AVerMedia Hybrid TV/Radio (A16D) [card=137,autodetected] [ 64.099485] saa7133[0]: board init: gpio is 2a200 [ 64.121124] input: saa7134 IR (AVerMedia Hybrid TV as /devices/pci0000:00/0000:00:14.4/0000:03:07.0/input/input6 [ 64.201694] ACPI: PCI Interrupt 0000:00:14.2[A] -> GSI 16 (level, low) -> IRQ 16 [ 64.236208] hda_codec: Unknown model for ALC882, trying auto-probe from BIOS... [ 64.312889] saa7133[0]: i2c eeprom 00: 61 14 36 f9 00 00 00 00 00 00 00 00 00 00 00 00 [ 64.312897] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff ff ff ff ff ff ff [ 64.312902] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 00 08 ff 00 0e ff ff ff ff [ 64.312907] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312911] saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff ff ff ff ff ff ff [ 64.312915] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312919] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312923] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312927] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312931] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312935] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312939] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312944] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312948] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312952] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.312956] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 64.344915] tuner' 1-0061: chip found @ 0xc2 (saa7133[0]) [ 64.387946] xc2028 1-0061: creating new instance [ 64.387952] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 64.444501] xc2028 1-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 64.460800] xc2028 1-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000. [ 72.998152] (0), id 00000000000000ff: [ 72.998156] xc2028 1-0061: Loading firmware for type=(0), id 0000000100000007. [ 73.166017] SCODE (20000000), id 0000000100000007: [ 73.166019] xc2028 1-0061: Loading SCODE for type=MONO SCODE HAS_IF_5320 (60008000), id 0000000800000007. [ 73.605999] saa7133[0]: registered device video0 [v4l2] [ 73.606016] saa7133[0]: registered device vbi0 [ 73.606032] saa7133[0]: registered device radio0 [ 73.606187] ACPI: PCI Interrupt 0000:01:05.1[B] -> GSI 19 (level, low) -> IRQ 19 [ 73.606833] PCI: Setting latency timer of device 0000:01:05.1 to 64 [ 73.770676] xc2028 1-0061: attaching existing instance [ 73.770682] xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner [ 73.770686] DVB: registering new adapter (saa7133[0]) [ 73.770689] DVB: registering frontend 0 (Zarlink MT352 DVB-T)...