AVerMedia AVerTV Hybrid+FM PCI (A16D)

From LinuxTVWiki
Revision as of 06:48, 4 January 2010 by Allaboutmike (talk | contribs) (→‎Identification)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
AVerMedia A16D Front

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)...

External Links